System.Data.SQLite

Login
This project makes use of Eagle, provided by Mistachkin Systems.
Eagle: Secure Software Automation
2014-12-05
22:15 Closed ticket [f16c93a932]: System.Data.SQLite.Core.targets should run CopySQLiteInteropFiles before PostBuildEvent plus 3 other changes artifact: 13c17de67f user: mistachkin
03:24 Pending ticket [f16c93a932]. artifact: 5900ecb96b user: mistachkin
03:24 Ticket [f16c93a932]: 3 changes artifact: d9eeaafb9e user: mistachkin
03:07 Open ticket [f16c93a932]. artifact: 40394ee241 user: mistachkin
2014-11-25
17:31 Closed ticket [f16c93a932]. artifact: 8a81a30cea user: mistachkin
17:29
Make sure the interop files are copied before the PostBuildEvent. Fix for [f16c93a932]. Make sure the interop files are copied when publishing a project that refers to a NuGet package containing them. Fix for [e796ac82c1]. check-in: eb697cca1c user: mistachkin tags: trunk
2014-11-19
00:52 Ticket [f16c93a932] System.Data.SQLite.Core.targets should run CopySQLiteInteropFiles before PostBuildEvent status still Pending with 3 other changes artifact: 27e709b9b7 user: mistachkin
00:52 Ticket [f16c93a932]: 3 changes artifact: 1220d7aa8b user: mistachkin
00:46
Make sure the interop files are copied before the PostBuildEvent. Fix for [f16c93a932]. check-in: cc56b6902b user: mistachkin tags: publishWithNuGetPkg
2014-11-18
22:15 Pending ticket [f16c93a932]: System.Data.SQLite.Core.targets should run CopySQLiteInteropFiles before PostBuildEvent plus 2 other changes artifact: e34f569875 user: mistachkin
2014-11-08
07:19 Ticket [f16c93a932]: 6 changes artifact: 39c0ecc78e user: mistachkin
00:06 Ticket [f16c93a932]: 3 changes artifact: 29000d4cce user: mistachkin
2014-11-07
23:54 Ticket [f16c93a932]: 3 changes artifact: 1810314fc2 user: mistachkin
22:35 Ticket [f16c93a932]: 6 changes artifact: d9855c0fdb user: mistachkin
2014-11-06
09:36 New ticket [f16c93a932]. artifact: 86f54b2580 user: anonymous

Ticket Hash: f16c93a9326ac3a32bcee5baa72fd447b1be1e1e
Title: System.Data.SQLite.Core.targets should run CopySQLiteInteropFiles before PostBuildEvent
Status: Closed Type: Code_Defect
Severity: Important Priority: Blocker
Subsystem: NuGetPackage Resolution: Fixed
Last Modified: 2014-12-05 22:15:55
Version Found In: 1.0.94.0
User Comments:
anonymous added on 2014-11-06 09:36:48:
System.Data.SQLite.Core.targets, first shipped with 1.0.94.0, runs CopySQLiteInteropFiles target at the end of the build, which means it happens after <PostBuildEvent> (settable from Visual Studio -> project Properties -> Build Events tab).

This means that for example when I add there something like:
  xcopy $(TargetDir) ..\..\someOtherDir
It will copy build results, but without sqlite assemblies, which gets copied to TargetDir later.

Fix it by changing:

  <PropertyGroup>
    <BuildDependsOn>
      $(BuildDependsOn);
      CopySQLiteInteropFiles;
    </BuildDependsOn>
    <CleanDependsOn>
      $(CleanDependsOn);
      CleanSQLiteInteropFiles;
    </CleanDependsOn>
  </PropertyGroup>

For example to:

  <PropertyGroup>
    <PostBuildEventDependsOn>
      $(PostBuildEventDependsOn);
      CopySQLiteInteropFiles;
    </PostBuildEventDependsOn>
    <CleanDependsOn>
      $(CleanDependsOn);
      CleanSQLiteInteropFiles;
    </CleanDependsOn>
  </PropertyGroup>

mistachkin added on 2014-11-07 23:54:01:
How can anything in the "build event" fire after the "post build event"?

mistachkin added on 2014-11-08 00:06:34:
Related to [e796ac82c1].

mistachkin added on 2014-11-08 07:19:25:
Ok, apparently PostBuildEvent is done as part of the Build processing.

mistachkin added on 2014-11-19 00:52:06:
A candidate fix is checked in on the publishWithNuGetPkg branch, here:

   [/timeline?r=publishWithNuGetPkg]

mistachkin added on 2014-11-25 17:31:11:
Fixed on trunk via check-in [eb697cca1c].  Please let us know if this fix does not
address the issue in your environment.

mistachkin added on 2014-12-05 03:07:11:
Re-opened.  The fix has issues when there is no PostBuildEvent defined.

mistachkin added on 2014-12-05 03:24:40:
This should be corrected by check-in [7de90061a2].

mistachkin added on 2014-12-05 22:15:55:
The solution of calling the CopySQLiteInteropFiles MSBuild target twice is not
ideal; however, I do not see any other reasonable way of making sure that the
SQLite interop files are copied whether or not a PostBuildEvent is present.