NuGet-Ready!

This commit is contained in:
MichaelGrafnetter 2016-02-23 20:33:05 +01:00
parent 7d7833b9cd
commit 0a1f14e946
11 changed files with 46 additions and 11 deletions

View File

@ -6,16 +6,20 @@ Compiles the binaries from source codes.
$rootDir = Split-Path $PSScriptRoot -Parent
$solutionFile = Join-Path $rootDir 'Src\DSInternals.sln'
$logRootDir = Join-Path $rootDir 'Build\log'
$buildDir = Join-Path $rootDir 'Build'
$logRootDir = Join-Path $buildDir 'log'
# We need the Invoke-MSBuild module to always invoke the latest msbuild.exe.
$modulePath = Join-Path $PSScriptRoot 'Modules\Invoke-MSBuild'
Import-Module $modulePath -ErrorAction Stop
$targets = 'Clean','Build'
$configurations = 'Release','Debug'
$targets = 'Build' # 'Clean'
$configurations = 'Release' # 'Debug'
$platforms = 'x86','x64'
# Delete the entire Build directory
del $buildDir -Recurse -Force
# Run all targets with all configurations and platforms
foreach($target in $targets)
{

View File

@ -6,4 +6,5 @@ Builds the solution from scratch and ZIPs the resulting module.
.\Restore-ReferencedPackages
.\Build-Solution
.\Run-Tests
.\Pack-Release
.\Pack-PSModule
.\Pack-NuGetPackages

View File

@ -17,5 +17,5 @@ Get-ChildItem -Path $repoRoot -Filter *.nuspec -Recurse -File |
ForEach-Object { $PSItem.FullName.Replace('.nuspec', '.csproj') } |
ForEach-Object {
$solutionFile = $PSItem
& $nuget pack $solutionFile -OutputDirectory $outputDir -IncludeReferencedProjects -Properties "Configuration=Release;Platform=x64;SolutionDir=$solutionDir" -Verbosity detailed
& $nuget pack $solutionFile -OutputDirectory $outputDir -IncludeReferencedProjects -Properties "Configuration=Release;Platform=x64;SolutionDir=$solutionDir" -Verbosity detailed -NonInteractive
}

View File

@ -0,0 +1,23 @@
<#
.SYNOPSIS
Publishes NuGet packages to nuget.org.
.DESCRIPTION
This script is intended to be used by project maintainers only.
Secret API key is required to publish the module.
#>
#Requires -Version 3
$repoRoot = Join-Path $PSScriptRoot '..\'
$nuget = Join-Path $repoRoot 'Scripts\Tools\nuget.exe'
$packagesDir = Join-Path $repoRoot 'Build\packages\'
# Load the API key and exit on error
$apiKeyPath = Join-Path $repoRoot 'Keys\NuGet.key'
$apiKey = Get-Content $apiKeyPath -ErrorAction Stop
Get-ChildItem -Path $packagesDir -Filter *.nupkg -Recurse -File |
ForEach-Object {
$packagePath = $PSItem.FullName
& $nuget push $packagePath -ApiKey $apiKey -NonInteractive -Verbosity detailed
}

View File

@ -10,7 +10,8 @@
<projectUrl>https://github.com/MichaelGrafnetter/DSInternals/</projectUrl>
<iconUrl>https://www.dsinternals.com/wp-content/uploads/ad.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>DSInternals Common Library</description>
<description>This package is shared between all other DSInternals packages. It contains implementations of common hash functions used by Windows, including NT hash, LM hash and OrgId hash. It also contains methods for SysKey/BootKey retrieval.</description>
<summary>This package is shared between all other DSInternals packages.</summary>
<releaseNotes>Initial NuGet release.</releaseNotes>
<copyright>Copyright (c) 2015-2016 Michael Grafnetter. All rights reserved.</copyright>
<tags>ActiveDirectory Security</tags>

View File

@ -10,7 +10,8 @@
<projectUrl>https://github.com/MichaelGrafnetter/DSInternals/</projectUrl>
<iconUrl>https://www.dsinternals.com/wp-content/uploads/ad.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>DSInternals DataStore Library</description>
<description>DSInternals DataStore is an advanced framework for offline ntds.dit file manipulation. It can be used to extract password hashes from Active Directory backups or to modify the sIDHistory and primaryGroupId attributes.</description>
<summary>DSInternals DataStore is an advanced framework for offline ntds.dit file manipulation.</summary>
<releaseNotes>Initial NuGet release.</releaseNotes>
<copyright>Copyright (c) 2015-2016 Michael Grafnetter. All rights reserved.</copyright>
<tags>ActiveDirectory Security NTDS</tags>

View File

@ -10,12 +10,14 @@
<projectUrl>https://github.com/MichaelGrafnetter/DSInternals/</projectUrl>
<iconUrl>https://www.dsinternals.com/wp-content/uploads/ad.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>DSInternals Replication Library</description>
<description>DSInternals Replication implements a client for the Active Directory Replication Service Remote Protocol (DRS-R). It can be used to remotely extract password hashes from domain controllers.</description>
<summary>DSInternals Replication implements a client for the Active Directory Replication Service Remote Protocol (DRS-R).</summary>
<releaseNotes>Initial NuGet release.</releaseNotes>
<copyright>Copyright (c) 2015-2016 Michael Grafnetter. All rights reserved.</copyright>
<tags>ActiveDirectory Security RPC DRSR</tags>
<references>
<reference file="DSInternals.Replication.dll" />
<reference file="DSInternals.Replication.Model.dll" />
</references>
<dependencies>
<!-- We need to force a specific version of protobuf-net, because the newer one requires NuGet 3 / VS 2015. -->

View File

@ -10,7 +10,8 @@
<projectUrl>https://github.com/MichaelGrafnetter/DSInternals/</projectUrl>
<iconUrl>https://www.dsinternals.com/wp-content/uploads/ad.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>DSInternals Security Accounts Manager Library</description>
<description>DSInternals SAM implements a client for the Security Accounts Manager Remote Protocol (SAM-R). It can be used to import password hashes into Active Directory.</description>
<summary>DSInternals SAM implements a client for the Security Accounts Manager Remote Protocol (SAM-R).</summary>
<releaseNotes>Initial NuGet release.</releaseNotes>
<copyright>Copyright (c) 2015-2016 Michael Grafnetter. All rights reserved.</copyright>
<tags>ActiveDirectory Security RPC SAMR</tags>

View File

@ -49,8 +49,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{A6D9
ProjectSection(SolutionItems) = preProject
..\Scripts\Build-Solution.ps1 = ..\Scripts\Build-Solution.ps1
..\Scripts\Make.ps1 = ..\Scripts\Make.ps1
..\Scripts\Pack-Release.ps1 = ..\Scripts\Pack-Release.ps1
..\Scripts\Publish-Release.ps1 = ..\Scripts\Publish-Release.ps1
..\Scripts\Pack-NuGetPackages.ps1 = ..\Scripts\Pack-NuGetPackages.ps1
..\Scripts\Pack-PSModule.ps1 = ..\Scripts\Pack-PSModule.ps1
..\Scripts\Publish-NuGetPackages.ps1 = ..\Scripts\Publish-NuGetPackages.ps1
..\Scripts\Publish-PSModule.ps1 = ..\Scripts\Publish-PSModule.ps1
..\Scripts\Restore-ReferencedPackages.ps1 = ..\Scripts\Restore-ReferencedPackages.ps1
..\Scripts\Run-Tests.ps1 = ..\Scripts\Run-Tests.ps1
..\Scripts\Sign-ReferencedPackages.ps1 = ..\Scripts\Sign-ReferencedPackages.ps1