Skip to content

Commit 415630a

Browse files
authored
Sourcelink and include PDBs in nuget packages (#4224)
* Sourcelink and include PDBs in nuget packages This commit reinstates sourcelinking of PDB files and including them in nuget packages. Closes #4095 * Include Repository metadata in packages This commit adds repository metadata in packages, including branch and commit, for SourceLink.
1 parent 665932a commit 415630a

8 files changed

+28
-7
lines changed

build/Elasticsearch.Net.VirtualizedCluster.nuspec

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<releaseNotes>See https://github.com/elastic/elasticsearch-net/releases/tag/$version$</releaseNotes>
1616
<copyright>2014-$year$ Elasticsearch BV</copyright>
1717
<tags>elasticsearch,elastic,search,lucene,nest</tags>
18+
<repository type="git" url="https://github.com/elastic/elasticsearch-net.git" branch="$branch$" commit="$commit$" />
1819
<dependencies>
1920
<group targetFramework=".NETStandard2.0">
2021
<dependency id="Elasticsearch.Net" version="[$currentMajorVersion$, $nextMajorVersion$)" />
@@ -28,9 +29,11 @@
2829
<file src="..\license.txt" target="" />
2930

3031
<file src="output\Elasticsearch.Net.VirtualizedCluster\netstandard2.0\Elasticsearch.Net.VirtualizedCluster.dll" target="lib\netstandard2.0"/>
32+
<file src="output\Elasticsearch.Net.VirtualizedCluster\netstandard2.0\Elasticsearch.Net.VirtualizedCluster.pdb" target="lib\netstandard2.0"/>
3133
<file src="output\Elasticsearch.Net.VirtualizedCluster\netstandard2.0\Elasticsearch.Net.VirtualizedCluster.xml" target="lib\netstandard2.0"/>
3234

3335
<file src="output\Elasticsearch.Net.VirtualizedCluster\net461\Elasticsearch.Net.VirtualizedCluster.dll" target="lib\net461"/>
36+
<file src="output\Elasticsearch.Net.VirtualizedCluster\net461\Elasticsearch.Net.VirtualizedCluster.pdb" target="lib\net461"/>
3437
<file src="output\Elasticsearch.Net.VirtualizedCluster\net461\Elasticsearch.Net.VirtualizedCluster.xml" target="lib\net461"/>
3538
</files>
3639
</package>

build/Elasticsearch.Net.nuspec

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<releaseNotes>See https://github.com/elastic/elasticsearch-net/releases/tag/$version$</releaseNotes>
1616
<copyright>2014-$year$ Elasticsearch BV</copyright>
1717
<tags>elasticsearch,elastic,search,lucene,nest</tags>
18+
<repository type="git" url="https://github.com/elastic/elasticsearch-net.git" branch="$branch$" commit="$commit$" />
1819
<dependencies>
1920
<group targetFramework=".NETStandard2.0">
2021
<dependency id="System.Buffers" version="[4.5.0,)"/>
@@ -32,9 +33,11 @@
3233
<file src="..\license.txt" target="" />
3334

3435
<file src="output\Elasticsearch.Net\netstandard2.0\Elasticsearch.Net.dll" target="lib\netstandard2.0"/>
36+
<file src="output\Elasticsearch.Net\netstandard2.0\Elasticsearch.Net.pdb" target="lib\netstandard2.0"/>
3537
<file src="output\Elasticsearch.Net\netstandard2.0\Elasticsearch.Net.xml" target="lib\netstandard2.0"/>
3638

3739
<file src="output\Elasticsearch.Net\net461\Elasticsearch.Net.dll" target="lib\net461"/>
40+
<file src="output\Elasticsearch.Net\net461\Elasticsearch.Net.pdb" target="lib\net461"/>
3841
<file src="output\Elasticsearch.Net\net461\Elasticsearch.Net.xml" target="lib\net461"/>
3942
</files>
4043
</package>

build/NEST.JsonNetSerializer.nuspec

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<releaseNotes>See https://github.com/elastic/elasticsearch-net/releases/tag/$version$</releaseNotes>
1616
<copyright>2017-$year$ Elasticsearch BV</copyright>
1717
<tags>elasticsearch,elastic,search,lucene,nest,serializer,json</tags>
18+
<repository type="git" url="https://github.com/elastic/elasticsearch-net.git" branch="$branch$" commit="$commit$" />
1819
<dependencies>
1920
<group targetFramework="net461">
2021
<dependency id="NEST" version="[$version$, $nextMajorVersion$)" />
@@ -30,9 +31,11 @@
3031
<file src="..\license.txt" target="" />
3132

3233
<file src="output\Nest.JsonNetSerializer\net461\Nest.JsonNetSerializer.dll" target="lib\net461"/>
34+
<file src="output\Nest.JsonNetSerializer\net461\Nest.JsonNetSerializer.pdb" target="lib\net461"/>
3335
<file src="output\Nest.JsonNetSerializer\net461\Nest.JsonNetSerializer.xml" target="lib\net461"/>
3436

3537
<file src="output\Nest.JsonNetSerializer\netstandard2.0\Nest.JsonNetSerializer.dll" target="lib\netstandard2.0"/>
38+
<file src="output\Nest.JsonNetSerializer\netstandard2.0\Nest.JsonNetSerializer.pdb" target="lib\netstandard2.0"/>
3639
<file src="output\Nest.JsonNetSerializer\netstandard2.0\Nest.JsonNetSerializer.xml" target="lib\netstandard2.0"/>
3740
</files>
3841
</package>

build/NEST.nuspec

+4-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<summary>Strongly typed interface to Elasticsearch. Fluent and classic object initializer mappings of requests and responses. Uses and exposes Elasticsearch.Net</summary>
1616
<releaseNotes>https://github.com/elastic/elasticsearch-net/releases/tag/$version$</releaseNotes>
1717
<tags>elasticsearch,elastic,search,lucene,nest</tags>
18+
<repository type="git" url="https://github.com/elastic/elasticsearch-net.git" branch="$branch$" commit="$commit$" />
1819
<dependencies>
1920
<group targetFramework="net461">
2021
<dependency id="Elasticsearch.Net" version="[$version$, $nextMajorVersion$)" />
@@ -28,9 +29,11 @@
2829
<file src="..\license.txt" target="" />
2930

3031
<file src="output\Nest\net461\Nest.dll" target="lib\net461"/>
31-
<file src="output\Nest\net461\Nest.XML" target="lib\net461"/>
32+
<file src="output\Nest\net461\Nest.pdb" target="lib\net461"/>
33+
<file src="output\Nest\net461\Nest.xml" target="lib\net461"/>
3234

3335
<file src="output\Nest\netstandard2.0\Nest.dll" target="lib\netstandard2.0"/>
36+
<file src="output\Nest\netstandard2.0\Nest.pdb" target="lib\netstandard2.0"/>
3437
<file src="output\Nest\netstandard2.0\Nest.xml" target="lib\netstandard2.0"/>
3538
</files>
3639
</package>

build/scripts/Commandline.fs

+2-3
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,8 @@ Execution hints can be provided anywhere on the command line
206206
| ["canary"; ] -> parsed
207207
| ["codegen"; ] -> parsed
208208

209-
| ["release"; version] -> { parsed with CommandArguments = SetVersion { Version = version } }
210-
211-
| ["test"; testFilter] -> { parsed with CommandArguments = Test { TestFilter = Some testFilter } }
209+
| ["release"; version] -> { parsed with CommandArguments = SetVersion { Version = version }; DoSourceLink = true }
210+
| ["test"; testFilter] -> { parsed with CommandArguments = Test { TestFilter = Some testFilter } }
212211

213212
| ["benchmark"; IsUrl elasticsearch; username; password] ->
214213
{

build/scripts/Releasing.fs

+10-1
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,23 @@ module Release =
3939

4040
let private currentMajorVersion version = sprintf "%i" <| version.Full.Major
4141
let private nextMajorVersion version = sprintf "%i" <| version.Full.Major + 1u
42+
43+
let private gitInfo args =
44+
let result = Tooling.Git.ReadInWithTimeout "." args (TimeSpan.FromSeconds(10.))
45+
(Seq.head result.Output).Line.Trim()
4246

4347
let private props version =
4448
let currentMajorVersion = currentMajorVersion version
45-
let nextMajorVersion = nextMajorVersion version
49+
let nextMajorVersion = nextMajorVersion version
50+
let branch = gitInfo ["rev-parse"; "--abbrev-ref"; "HEAD"]
51+
let commit = gitInfo ["rev-parse"; "HEAD"]
52+
4653
new StringBuilder()
4754
|> addKeyValue "currentMajorVersion" currentMajorVersion
4855
|> addKeyValue "nextMajorVersion" nextMajorVersion
4956
|> addKeyValue "year" year
57+
|> addKeyValue "branch" branch
58+
|> addKeyValue "commit" commit
5059

5160
let pack file n properties version =
5261
Tooling.Nuget.Exec [ "pack"; file;

build/scripts/Tooling.fs

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ module Tooling =
6161
let nugetFile = Path.GetFullPath "build/scripts/bin/Release/netcoreapp3.0/NuGet.exe"
6262
let Nuget = BuildTooling(None, nugetFile)
6363
let ILRepack = BuildTooling(None, "build/scripts/bin/Release/netcoreapp3.0/ILRepack.exe")
64-
let DotNet = BuildTooling(Some <| TimeSpan.FromMinutes(5.), "dotnet")
64+
let DotNet = BuildTooling(None, "dotnet")
65+
let Git = BuildTooling(None, "git")
6566

6667

src/PublishArtifacts.build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<SourceLink Condition="'$(DoSourceLink)'!=''">$(BaseIntermediateOutputPath)\sl-$(MsBuildProjectName)-$(TargetFramework).json</SourceLink>
2020
<!-- we need to referenced assemblies during the command line build so that ILRepack can pick them up -->
2121
<CopyLocalLockFileAssemblies Condition="'$(TargetFramework)'=='netstandard2.0'">true</CopyLocalLockFileAssemblies>
22-
22+
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
2323
</PropertyGroup>
2424
<ItemGroup>
2525
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" Version="1.0.0-preview.2" />

0 commit comments

Comments
 (0)