Skip to content

Commit 532fd6f

Browse files
committed
pack Miniscript without editing .nuspec manually.
1 parent 74800e6 commit 532fd6f

3 files changed

Lines changed: 39 additions & 27 deletions

File tree

NBitcoin.Miniscript/Miniscript.fsproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>netcoreapp2.1;netstandard2.0</TargetFrameworks>
3+
<TargetFrameworks>net461;netcoreapp2.1;netstandard2.0</TargetFrameworks>
44
</PropertyGroup>
55
<PropertyGroup Condition="'$(Configuration)'=='Release'">
66
<Optimize>true</Optimize>
@@ -25,4 +25,6 @@
2525
<ItemGroup>
2626
<ProjectReference Include="..\NBitcoin\NBitcoin.csproj" />
2727
</ItemGroup>
28+
<Import Project=".\fsc.props" />
29+
<Import Project=".\netfx.props" />
2830
</Project>

NBitcoin/NBitcoin.csproj

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -94,31 +94,27 @@
9494
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\NBitcoin.xml</DocumentationFile>
9595
</PropertyGroup>
9696

97-
<!-- 1: Compile Miniscript -->
98-
<!-- This does not work since MSBuild will complain about circular deps -->
99-
<!-- So we must compile NBitcoin.Miniscript manually beforehands -->
100-
<!--
101-
<Target Name="BuildMiniscript" BeforeTargets="Compile">
102-
<Message Text="Building Miniscript dll ..." />
103-
<MSBuild
104-
Projects="../NBitcoin.Miniscript/Miniscript.fsproj"
105-
Properties="Configuration=$(Configuration)"
106-
>
107-
</MSBuild>
108-
</Target>
109-
-->
110-
111-
<!-- 2: Include compiled Miniscript dll to nupkg. -->
112-
<Target
113-
Name="CopyMiniscriptDll"
114-
BeforeTargets="AfterBuild"
115-
Condition="'$(TargetFramework)' == 'netcoreapp2.1' Or '$(TargetFramework)' == 'netstandard2.0'">
116-
<Copy
117-
SourceFiles="..\NBitcoin.Miniscript\bin\$(Configuration)\$(TargetFramework)\Miniscript.dll"
118-
DestinationFolder=".\bin\$(Configuration)\$(TargetFramework)"
119-
ContinueOnError="WarnAndContinue"
120-
>
121-
</Copy>
122-
</Target>
97+
<!-- Include Miniscript dll only if it is ready. -->
98+
<PropertyGroup>
99+
<IncludeMiniscript Condition="Exists('..\NBitcoin.Miniscript\bin\$(Configuration)\netstandard2.0\Miniscript.dll')">true</IncludeMiniscript>
100+
</PropertyGroup>
101+
<ItemGroup Condition="'$(IncludeMiniscript)' == 'true'">
102+
<Content Include="..\NBitcoin.Miniscript\bin\$(Configuration)\netstandard2.0\Miniscript.dll">
103+
<Pack>true</Pack>
104+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
105+
<PackagePath>lib\netstandard2.0</PackagePath>
106+
</Content>
107+
<Content
108+
Include="..\NBitcoin.Miniscript\bin\$(Configuration)\netcoreapp2.1\Miniscript.dll">
109+
<Pack>true</Pack>
110+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
111+
<PackagePath>lib\netcoreapp2.1</PackagePath>
112+
</Content>
113+
<Content Include="..\NBitcoin.Miniscript\bin\$(Configuration)\net461\Miniscript.dll">
114+
<Pack>true</Pack>
115+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
116+
<PackagePath>lib\net461</PackagePath>
117+
</Content>
118+
</ItemGroup>
123119

124120
</Project>

pack.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env bash
2+
set -u
3+
4+
readonly VERSION="1.0"
5+
if [[ "$(uname)" == 'Darwin' ]]; then
6+
readonly SCRIPT_DIR_PATH=$(dirname $(greadlink -f $0))
7+
else
8+
readonly SCRIPT_DIR_PATH=$(dirname $(readlink -f $0))
9+
fi
10+
11+
cd $SCRIPT_DIR_PATH
12+
13+
dotnet build NBitcoin.Miniscript -c Release
14+
dotnet pack NBitcoin -c Release

0 commit comments

Comments
 (0)