You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been struggling to make an MSBuild target that runs after "Pack" to automatically determinize the package and symbols package and came to the realization that a MSBuild Target wrapper for a .NET CLI tool is silly. Although I've finished that Target, it is designed to Error if Kuinox.NupkgDeterministicator is not installed globally nor locally. That is inconvenient.
Kuinox.NupkgDeterministicator.MSBuild
An AfterTargets="Pack" Target so dotnet/msbuild determinizes the nupkg (and .symbols.nupkg or .snupkg if '$(IncludeSymbols)' == 'true')
This proposal may need a 'core' project of functionality common to both Kuinox.NupkgDeterministicator and Kuinox.NupkgDeterministicator.MSBuild.
The project for this package should set the little-known (and arguably poorly-implemented) `true property so the package is not included in build output and is never used as a transitive dependency. It may be more convenient for version/release management if it's put into its own repository
Target inputs
Inputs
Values/Types
Default
Usage
Deterministic
'true'/'false'/''
'true'
If true, run NupkgDeterministicator on the nupkg and snupkg (if applicable)
PackageOutputPath
string
'$(OutputPath)'
The directory in which the package was created
PackageId
string
'$(AssemblyName)'
Used to identify the nupkg and symbols package
PackageVersion
string
'$(Version)'
Used to identify the nupkg and symbols package
IncludeSymbols
'true'/'false'/''
'' (falsey)
If true, deterministicate the symbols package
SymbolPackageFormat
'symbols.nupkg'/'snupkg'
'symbols.nupkg' (legacy)
Used to identify the symbols package
None of these properties are specific to this target—they are existing properties used by Build or Pack.
Conditions/Rules
Some sanity checks are already performed by Pack and its dependency targets.
I've been struggling to make an MSBuild target that runs after "Pack" to automatically determinize the package and symbols package and came to the realization that a MSBuild Target wrapper for a .NET CLI tool is silly. Although I've finished that Target, it is designed to Error if
Kuinox.NupkgDeterministicator
is not installed globally nor locally. That is inconvenient.Kuinox.NupkgDeterministicator.MSBuild
An
AfterTargets="Pack"
Target so dotnet/msbuild determinizes the nupkg (and .symbols.nupkg or .snupkg if'$(IncludeSymbols)' == 'true'
)This proposal may need a 'core' project of functionality common to both
Kuinox.NupkgDeterministicator
andKuinox.NupkgDeterministicator.MSBuild
.The project for this package should set the little-known (and arguably poorly-implemented) `true property so the package is not included in build output and is never used as a transitive dependency. It may be more convenient for version/release management if it's put into its own repository
Target inputs
'true'
/'false'
/''
'true'
'$(OutputPath)'
'$(AssemblyName)'
'$(Version)'
'true'
/'false'
/''
''
(falsey)'symbols.nupkg'
/'snupkg'
'symbols.nupkg'
(legacy)None of these properties are specific to this target—they are existing properties used by
Build
orPack
.Conditions/Rules
Some sanity checks are already performed by Pack and its dependency targets.
The text was updated successfully, but these errors were encountered: