System.Data.SQLite
Check-in [14ae015f43]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Further simplify and robustify the MSBuild targets file for the NuGet packages.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | nugetChanges
Files: files | file ages | folders
SHA1: 14ae015f43684d098e725fdb241ca12c900c92fa
User & Date: mistachkin 2014-09-05 17:21:40
Context
2014-09-05
17:49
Refactor and simplify NuGet packages in order to support per-solution SQLite interop assembly files. Thanks to David Archer for his suggestions, feedback, and contributions. check-in: bd4e9309ea user: mistachkin tags: trunk
17:21
Further simplify and robustify the MSBuild targets file for the NuGet packages. Closed-Leaf check-in: 14ae015f43 user: mistachkin tags: nugetChanges
15:55
Fix typo in the NuGet MSBuild targets file. check-in: 3a9676e997 user: mistachkin tags: nugetChanges
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to NuGet/shared/Core/build/System.Data.SQLite.Core.targets.

1
2
3
4


5
6
7
8
9












10
11
12
13
14
15
16
17
18
19
20
21
22
23
24



25
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!--
 *
 * System.Data.SQLite.Core.targets -
 *


 * Written by Joe Mistachkin and David Archer.
 * Released to the public domain, use at your own risk!
 *
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">












  <!--
  ******************************************************************************
  **                   SQLite Interop Library Build Targets                   **
  ******************************************************************************
  -->

  <Target Name="CopySQLiteInteropFiles"
          Condition="'$(CopySQLiteInteropFiles)' != 'false' And
                     '$(MSBuildThisFileDirectory)' != '' And
                     HasTrailingSlash('$(MSBuildThisFileDirectory)') And
                     '$(OutputPath)' != '' And
                     HasTrailingSlash('$(OutputPath)') And
                     Exists('$(OutputPath)')"
          Inputs="$(TargetPath)"
          Outputs="$(TargetPath).CopySQLiteInteropFiles.done">



    <CreateItem Include="$(MSBuildThisFileDirectory)x86\SQLite.Interop.*">
      <Output ItemName="SQLiteInteropX86Files"
              TaskParameter="Include" />
    </CreateItem>

    <CreateItem Include="$(MSBuildThisFileDirectory)x64\SQLite.Interop.*">
      <Output ItemName="SQLiteInteropX64Files"
              TaskParameter="Include" />
    </CreateItem>


    <Copy SourceFiles="@(SQLiteInteropX86Files)"
          DestinationFolder="$(OutputPath)x86" />

    <Copy SourceFiles="@(SQLiteInteropX64Files)"
          DestinationFolder="$(OutputPath)x64" />

    <Touch AlwaysCreate="true"
           Files="$(TargetPath).CopySQLiteInteropFiles.done" />

  </Target>

  <!--
  ******************************************************************************
  -->

  <Target Name="CleanSQLiteInteropFiles"
          Condition="'$(CleanSQLiteInteropFiles)' != 'false' And
                     '$(OutputPath)' != '' And
                     HasTrailingSlash('$(OutputPath)') And
                     Exists('$(OutputPath)')">
    <CreateItem Include="$(OutputPath)x86\SQLite.Interop.*">
      <Output ItemName="SQLiteInteropX86Files" TaskParameter="Include" />
    </CreateItem>


    <CreateItem Include="$(OutputPath)x64\SQLite.Interop.*">
      <Output ItemName="SQLiteInteropX64Files" TaskParameter="Include" />
    </CreateItem>

    <Delete Condition="'@(SQLiteInteropX86Files)' != ''"
            Files="@(SQLiteInteropX86Files)" />

    <Delete Condition="'@(SQLiteInteropX64Files)' != ''"
            Files="@(SQLiteInteropX64Files)" />
  </Target>

  <!--
  ******************************************************************************
  **                      Per-Solution Packages Support                       **
  ******************************************************************************
  -->

  <PropertyGroup>
    <BuildDependsOn>
      $(BuildDependsOn);
      CopySQLiteInteropFiles;




>
>





>
>
>
>
>
>
>
>
>
>
>
>








<
<



<
|
>
>
>
|
<
<
<
<
<
<
<
<
<
>
|
<
<
<
<
<
<
<
>











|
|
|
<
>
|
<
<
<
<
<
<
<
<




|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31


32
33
34

35
36
37
38
39









40
41







42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

57
58








59
60
61
62
63
64
65
66
67
68
69
70
<!--
 *
 * System.Data.SQLite.Core.targets -
 *
 * WARNING: This MSBuild file requires MSBuild 4.0 features.
 *
 * Written by Joe Mistachkin and David Archer.
 * Released to the public domain, use at your own risk!
 *
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--
  ******************************************************************************
  **                    SQLite Interop Library Build Items                    **
  ******************************************************************************
  -->

  <ItemGroup>
    <SQLiteInteropFiles Condition="'$(MSBuildThisFileDirectory)' != '' And
                                   HasTrailingSlash('$(MSBuildThisFileDirectory)')"
                        Include="$(MSBuildThisFileDirectory)**\SQLite.Interop.*" />
  </ItemGroup>

  <!--
  ******************************************************************************
  **                   SQLite Interop Library Build Targets                   **
  ******************************************************************************
  -->

  <Target Name="CopySQLiteInteropFiles"
          Condition="'$(CopySQLiteInteropFiles)' != 'false' And


                     '$(OutputPath)' != '' And
                     HasTrailingSlash('$(OutputPath)') And
                     Exists('$(OutputPath)')"

          Inputs="@(SQLiteInteropFiles)"
          Outputs="@(SQLiteInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')">
    <!--
        NOTE: Copy "SQLite.Interop.dll" and all related files, for every
              architecture that we support, to the build output directory.









    -->
    <Copy SourceFiles="@(SQLiteInteropFiles)"







          DestinationFiles="@(SQLiteInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" />
  </Target>

  <!--
  ******************************************************************************
  -->

  <Target Name="CleanSQLiteInteropFiles"
          Condition="'$(CleanSQLiteInteropFiles)' != 'false' And
                     '$(OutputPath)' != '' And
                     HasTrailingSlash('$(OutputPath)') And
                     Exists('$(OutputPath)')">
    <!--
        NOTE: Delete "SQLite.Interop.dll" and all related files, for every
              architecture that we support, from the build output directory.

    -->
    <Delete Files="@(SQLiteInteropFiles -> '$(OutputPath)%(RecursiveDir)%(Filename)%(Extension)')" />








  </Target>

  <!--
  ******************************************************************************
  **                 SQLite Interop Library Build Properties                  **
  ******************************************************************************
  -->

  <PropertyGroup>
    <BuildDependsOn>
      $(BuildDependsOn);
      CopySQLiteInteropFiles;