Skip to content

Commit

Permalink
Rework nuget packaging (#149)
Browse files Browse the repository at this point in the history
  • Loading branch information
josesimoes authored Aug 19, 2022
1 parent 6f4af7c commit 4616467
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 46 deletions.
91 changes: 45 additions & 46 deletions nanoFirmwareFlasher.Library/nanoFirmwareFlasher.Library.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>

<Target Name="CopyToolsContent" AfterTargets="Build">
<ItemGroup>
<LibSourceFiles Include="$(MSBuildThisFileDirectory)\..\lib\**\*.*"/>
</ItemGroup>
<Copy SourceFiles="@(LibSourceFiles)" DestinationFiles="$(TargetDir)\%(RecursiveDir)%(Filename)%(Extension)" SkipUnchangedFiles="True"/>
</Target>

<ItemGroup>
<None Include="..\README.md">
<Pack>True</Pack>
Expand All @@ -42,7 +49,10 @@
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>

<Content Include="nanoFramework.Tools.FirmwareFlasher.targets">
<Pack>true</Pack>
<PackagePath>build</PackagePath>
</Content>
</ItemGroup>

<ItemGroup>
Expand All @@ -53,73 +63,62 @@
<PackageReference Include="System.Net.Http" Version="4.3.4" />
</ItemGroup>

<PropertyGroup>
<!-- set this to 'empty' to package contents in 'any' folder -->
<PackageTfmSubFolder></PackageTfmSubFolder>
</PropertyGroup>

<Import Project="nugetcontent.targets" />

<!-- ************************************************************************************************************************* -->
<!-- WARNING: when changing or adding any include path for an external tool, make sure to add/update in 'nugetcontent.targets' -->
<!-- ************************************************************************************************************************* -->

<!-- esptool executables for all platforms -->
<ItemGroup>
<None Include="..\lib\esptool\esptoolWin\**" Link="esptool\esptoolWin\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\esptool\esptoolWin</PackagePath>
<None Include="..\lib\esptool\esptoolWin\**" Link="esptool\esptoolWin\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\esptool\esptoolMac\**" Link="esptool\esptoolMac\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\esptool\esptoolMac</PackagePath>
<None Include="..\lib\esptool\esptoolMac\**" Link="esptool\esptoolMac\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\esptool\esptoolLinux\**" Link="esptool\esptoolLinux\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\esptool\esptoolLinux</PackagePath>
<None Include="..\lib\esptool\esptoolLinux\**" Link="esptool\esptoolLinux\%(RecursiveDir)%(Filename)%(Extension)">
</None>
</ItemGroup>

<!-- ESP32 nanoFramework bootloader files -->
<ItemGroup>
<None Include="..\lib\esp32bootloader\**" Link="esp32bootloader\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\esp32bootloader</PackagePath>
<None Include="..\lib\esp32bootloader\**" Link="esp32bootloader\%(RecursiveDir)%(Filename)%(Extension)">
</None>
</ItemGroup>
<ItemGroup>
<None Include="..\lib\esp32s2bootloader\**" Link="esp32s2bootloader\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\esp32s2bootloader</PackagePath>
<None Include="..\lib\esp32s2bootloader\**" Link="esp32s2bootloader\%(RecursiveDir)%(Filename)%(Extension)">
</None>
</ItemGroup>

<!-- STLink executables for all platforms -->
<ItemGroup>
<None Include="..\lib\stlink\**" Link="stlink\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\stlink</PackagePath>
<None Include="..\lib\stlink\**" Link="stlink\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\stlinkMac\**" Link="stlinkMac\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\stlinkMac</PackagePath>
</None>
<None Include="..\lib\stlinkLinux\**" Link="stlinkLinux\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\stlinkLinux</PackagePath>
<None Include="..\lib\stlinkMac\**" Link="stlinkMac\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\stlinkLinux\**" Link="stlinkLinux\%(RecursiveDir)%(Filename)%(Extension)">
</None>
</ItemGroup>

<!-- J-Link executables for all platforms -->
<ItemGroup>
<None Include="..\lib\jlinkCmds\**" Link="jlinkCmds\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\jlinkCmds</PackagePath>
<None Include="..\lib\jlinkCmds\**" Link="jlinkCmds\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\jlink\**" Link="jlink\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\jlink</PackagePath>
<None Include="..\lib\jlink\**" Link="jlink\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\jlinkMac\**" Link="jlinkMac\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\jlinkMac</PackagePath>
<None Include="..\lib\jlinkMac\**" Link="jlinkMac\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\jlinkLinux\**" Link="jlinkLinux\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\jlinkLinux</PackagePath>
<None Include="..\lib\jlinkLinux\**" Link="jlinkLinux\%(RecursiveDir)%(Filename)%(Extension)">
</None>
<None Include="..\lib\silink\**" Link="silink\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\silink</PackagePath>
<None Include="..\lib\silink\**" Link="silink\%(RecursiveDir)%(Filename)%(Extension)">
</None>
</ItemGroup>

<!-- TI Uniflash tool -->
<ItemGroup>
<None Include="..\lib\uniflash\**" Link="uniflash\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="Always">
<Pack>True</Pack>
<PackagePath>content\uniflash</PackagePath>
<None Include="..\lib\uniflash\**" Link="uniflash\%(RecursiveDir)%(Filename)%(Extension)">
</None>
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyToolsContent" AfterTargets="Build" Condition="'$(TF_BUILD)' == ''">
<ItemGroup>
<LibSourceFiles Include="$(PkgnanoFramework_Tools_FirmwareFlasher)\tools\any\**\*.*"/>
</ItemGroup>
<Copy SourceFiles="@(LibSourceFiles)" DestinationFiles="$(TargetDir)\%(RecursiveDir)%(Filename)%(Extension)" SkipUnchangedFiles="True" />
</Target>
</Project>
78 changes: 78 additions & 0 deletions nanoFirmwareFlasher.Library/nugetcontent.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- esptool executables for all platforms -->
<ItemGroup>
<Content Include="..\lib\esptool\esptoolWin\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\esptool\esptoolWin</PackagePath>
</Content>
<Content Include="..\lib\esptool\esptoolMac\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\esptool\esptoolMac</PackagePath>
</Content>
<Content Include="..\lib\esptool\esptoolLinux\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\esptool\esptoolLinux</PackagePath>
</Content>
</ItemGroup>

<!-- ESP32 nanoFramework bootloader files -->
<ItemGroup>
<Content Include="..\lib\esp32bootloader\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\esp32bootloader</PackagePath>
</Content>
<Content Include="..\lib\esp32s2bootloader\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\esp32s2bootloader</PackagePath>
</Content>
</ItemGroup>

<!-- STLink executables for all platforms -->
<ItemGroup>
<Content Include="..\lib\stlink\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\stlink</PackagePath>
</Content>
<Content Include="..\lib\stlinkMac\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\stlinkMac</PackagePath>
</Content>
<Content Include="..\lib\stlinkLinux\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\stlinkLinux</PackagePath>
</Content>
</ItemGroup>

<!-- J-Link executables for all platforms -->
<ItemGroup>
<Content Include="..\lib\jlinkCmds\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\jlinkCmds</PackagePath>
</Content>
<Content Include="..\lib\jlink\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\jlink</PackagePath>
</Content>
<Content Include="..\lib\jlinkMac\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\jlinkMac</PackagePath>
</Content>
<Content Include="..\lib\jlinkLinux\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\jlinkLinux</PackagePath>
</Content>
<Content Include="..\lib\silink\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\silink</PackagePath>
</Content>
</ItemGroup>

<!-- TI Uniflash tool -->
<ItemGroup>
<Content Include="..\lib\uniflash\**">
<Pack>true</Pack>
<PackagePath>tools\$(PackageTfmSubFolder)any\uniflash</PackagePath>
</Content>
</ItemGroup>

</Project>
14 changes: 14 additions & 0 deletions nanoFirmwareFlasher.Tool/nanoFirmwareFlasher.Tool.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,18 @@
<ProjectReference Include="..\nanoFirmwareFlasher.Library\nanoFirmwareFlasher.Library.csproj" />
</ItemGroup>

<Target Name="CopyToolsContent" AfterTargets="Build">
<ItemGroup>
<LibSourceFiles Include="$(MSBuildThisFileDirectory)\..\lib\**\*.*"/>
</ItemGroup>
<Copy SourceFiles="@(LibSourceFiles)" DestinationFiles="$(TargetDir)\%(RecursiveDir)%(Filename)%(Extension)" SkipUnchangedFiles="True"/>
</Target>

<PropertyGroup>
<!-- set this to 'net6.0\' to package contents in this TFM folder -->
<PackageTfmSubFolder>net6.0\</PackageTfmSubFolder>
</PropertyGroup>

<Import Project="..\nanoFirmwareFlasher.Library\nugetcontent.targets" />

</Project>

0 comments on commit 4616467

Please sign in to comment.