From 118968c46b9728639d5b22519b4b4c98368998b4 Mon Sep 17 00:00:00 2001 From: snikolayev Date: Sun, 30 Apr 2017 18:48:54 -0400 Subject: [PATCH] Fix packaging in the build script --- Common.props | 1 - build.ps1 | 17 ++++----- default.ps1 | 26 ++++---------- packages/NRules.Fluent.nuspec | 34 ++++++++++++++++++ ...spec => NRules.Integration.Autofac.nuspec} | 9 +++-- packages/NRules.RuleModel.nuspec | 32 +++++++++++++++++ packages/NRules.Runtime.nuspec | 35 +++++++++++++++++++ packages/{NRules.dll.nuspec => NRules.nuspec} | 4 +++ tools/build/buildutils.ps1 | 1 + 9 files changed, 129 insertions(+), 30 deletions(-) create mode 100644 packages/NRules.Fluent.nuspec rename packages/{NRules.Integration.Autofac.dll.nuspec => NRules.Integration.Autofac.nuspec} (63%) create mode 100644 packages/NRules.RuleModel.nuspec create mode 100644 packages/NRules.Runtime.nuspec rename packages/{NRules.dll.nuspec => NRules.nuspec} (85%) diff --git a/Common.props b/Common.props index b850e1a7..fceb6daf 100644 --- a/Common.props +++ b/Common.props @@ -2,7 +2,6 @@ 1.0.0 - embedded $(NoWarn);CS1591 true false diff --git a/build.ps1 b/build.ps1 index c2ca27a2..f7fc8835 100644 --- a/build.ps1 +++ b/build.ps1 @@ -39,10 +39,12 @@ $components = @{ } } package = @{ - nuget = @{ - id = 'NRules' - include = @('NRules.*') - } + nuget = @( + 'NRules.RuleModel', + 'NRules.Fluent', + 'NRules.Runtime', + 'NRules' + ) } help = 'NRules.shfbproj' }; @@ -81,10 +83,9 @@ $components = @{ } } package = @{ - nuget = @{ - id = 'NRules.Integration.Autofac' - include = @('NRules.Integration.Autofac.*') - } + nuget = @( + 'NRules.Integration.Autofac' + ) } }; 'NRules.Integration' = @{ diff --git a/default.ps1 b/default.ps1 index 12d7b9bd..08ce1bc4 100644 --- a/default.ps1 +++ b/default.ps1 @@ -100,38 +100,26 @@ task Build -depends Compile, Test, ResetVersion -precondition { return $componen } task PackageNuGet -depends Build -precondition { return $component.ContainsKey('package') -and $component.package.ContainsKey('nuget') } { - $nuget = $component.package.nuget - Create-Directory $pkg_out_dir - Create-Directory $pkg_out_dir\$($nuget.id)\lib\net40 - - Copy-Item $packages_dir\$($nuget.id).dll.nuspec $pkg_out_dir\$($nuget.id)\$($nuget.id).nuspec -Force - Get-ChildItem "$binaries_dir\**" -Include $nuget.include -Exclude $nuget.exclude | Copy-Item -Destination $pkg_out_dir\$($nuget.id)\lib\net40 -Force - - # Set the package version - $package = "$pkg_out_dir\$($nuget.id)\$($nuget.id).nuspec" - $nuspec = [xml](Get-Content $package) - $nuspec.package.metadata.version = $version - $nuspec | Select-Xml '//dependency' |% { - $_.Node.Version = $_.Node.Version -replace '\$version\$', "$version" + foreach ($package in $component.package.nuget) { + $nuspec = "$packages_dir\$($package).nuspec" + exec { nuget pack $nuspec -Version $version -OutputDirectory $pkg_out_dir } } - $nuspec.Save($package); - exec { &$script:nuget_exec pack $package -OutputDirectory $pkg_out_dir } } task Package -depends Build, PackageNuGet { } task PublishNuGet -precondition { return $component.ContainsKey('package') -and $component.package.ContainsKey('nuget') } { - $nuget = $component.package.nuget - # Upload packages $accessKeyFile = "$base_dir\..\Nuget-Access-Key.txt" if ( (Test-Path $accessKeyFile) ) { $accessKey = Get-Content $accessKeyFile $accessKey = $accessKey.Trim() - # Push to nuget repository - exec { &$script:nuget_exec push "$pkg_out_dir\$($nuget.id).$version.nupkg" $accessKey } + foreach ($package in $component.package.nuget) { + $nupkg = "$pkg_out_dir\$($package).$($version).nupkg" + exec { nuget push $nupkg $accessKey } + } } else { Write-Host "Nuget-Access-Key.txt does not exist. Cannot publish the nuget package." -ForegroundColor Yellow } diff --git a/packages/NRules.Fluent.nuspec b/packages/NRules.Fluent.nuspec new file mode 100644 index 00000000..822e0707 --- /dev/null +++ b/packages/NRules.Fluent.nuspec @@ -0,0 +1,34 @@ + + + + NRules.Fluent + $version$ + NRules, Rules Engine for .NET + Sergiy Nikolayev + Sergiy Nikolayev + https://github.com/NRules/NRules/blob/master/LICENSE.txt + http://nrules.net + https://raw.githubusercontent.com/NRules/NRules/master/content/NRules_Logo.png + false + NRules is an open source rules engine for .NET that is based on the Rete matching algorithm. NRules is an inference engine that, among other features, supports forward chaining, negative, existential and universal quantifiers. Rules are authored in C# using internal DSL. + Copyright 2012-2017 Sergiy Nikolayev. All rights reserved. + rules engine inference rete business dsl + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NRules.Integration.Autofac.dll.nuspec b/packages/NRules.Integration.Autofac.nuspec similarity index 63% rename from packages/NRules.Integration.Autofac.dll.nuspec rename to packages/NRules.Integration.Autofac.nuspec index 843b06b0..0cf31f95 100644 --- a/packages/NRules.Integration.Autofac.dll.nuspec +++ b/packages/NRules.Integration.Autofac.nuspec @@ -14,8 +14,13 @@ Copyright 2012-2017 Sergiy Nikolayev. All rights reserved. nrules autofac - - + + + + + + + diff --git a/packages/NRules.RuleModel.nuspec b/packages/NRules.RuleModel.nuspec new file mode 100644 index 00000000..77ee3efe --- /dev/null +++ b/packages/NRules.RuleModel.nuspec @@ -0,0 +1,32 @@ + + + + NRules.RuleModel + $version$ + NRules, Rules Engine for .NET + Sergiy Nikolayev + Sergiy Nikolayev + https://github.com/NRules/NRules/blob/master/LICENSE.txt + http://nrules.net + https://raw.githubusercontent.com/NRules/NRules/master/content/NRules_Logo.png + false + NRules is an open source rules engine for .NET that is based on the Rete matching algorithm. NRules is an inference engine that, among other features, supports forward chaining, negative, existential and universal quantifiers. Rules are authored in C# using internal DSL. + Copyright 2012-2017 Sergiy Nikolayev. All rights reserved. + rules engine inference rete business dsl + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NRules.Runtime.nuspec b/packages/NRules.Runtime.nuspec new file mode 100644 index 00000000..85b464ac --- /dev/null +++ b/packages/NRules.Runtime.nuspec @@ -0,0 +1,35 @@ + + + + NRules.Runtime + $version$ + NRules, Rules Engine for .NET + Sergiy Nikolayev + Sergiy Nikolayev + https://github.com/NRules/NRules/blob/master/LICENSE.txt + http://nrules.net + https://raw.githubusercontent.com/NRules/NRules/master/content/NRules_Logo.png + false + NRules is an open source rules engine for .NET that is based on the Rete matching algorithm. NRules is an inference engine that, among other features, supports forward chaining, negative, existential and universal quantifiers. Rules are authored in C# using internal DSL. + Copyright 2012-2017 Sergiy Nikolayev. All rights reserved. + rules engine inference rete business dsl + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/NRules.dll.nuspec b/packages/NRules.nuspec similarity index 85% rename from packages/NRules.dll.nuspec rename to packages/NRules.nuspec index 09375bb9..563b031f 100644 --- a/packages/NRules.dll.nuspec +++ b/packages/NRules.nuspec @@ -13,5 +13,9 @@ NRules is an open source rules engine for .NET that is based on the Rete matching algorithm. NRules is an inference engine that, among other features, supports forward chaining, negative, existential and universal quantifiers. Rules are authored in C# using internal DSL. Copyright 2012-2017 Sergiy Nikolayev. All rights reserved. rules engine inference rete business dsl + + + + \ No newline at end of file diff --git a/tools/build/buildutils.ps1 b/tools/build/buildutils.ps1 index 6c18244c..dbd44cb2 100644 --- a/tools/build/buildutils.ps1 +++ b/tools/build/buildutils.ps1 @@ -105,6 +105,7 @@ function Install-DotNetCli([string] $location, [string] $version = "Latest") { Write-Host "Installing .NET Core SDK" & $location\dotnet-install.ps1 -InstallDir "$installDir" -Version $version $env:PATH = "$installDir;$env:PATH" + $env:DOTNET_CLI_TELEMETRY_OPTOUT = "1" } function Install-NuGet([string] $location, [string] $version = "latest") {