Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build scripts #173

Merged
merged 73 commits into from
Mar 15, 2016
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
74bb58a
created build and tools directory structure. Moved files into them. A…
tiloc Jan 27, 2016
aa160ad
Added PSake from 15-Jan-2016.
tiloc Jan 27, 2016
f27114f
Fix invocations of curl
tiloc Jan 27, 2016
c537fc9
Use variable for source code directory
tiloc Jan 27, 2016
f170fb3
Eliminate need for curl, here comes PowerCurl!
tiloc Jan 28, 2016
c3b3f5c
Initial drafts of build scripts.
tiloc Jan 28, 2016
144cb87
Cleaning up build script
tiloc Jan 28, 2016
db6a1c5
Correctly declare CLS non-compliance.
tiloc Jan 27, 2016
53d9c23
Normalize target names on Debug and Release (do not include framework…
tiloc Jan 28, 2016
bfa1078
Ignore working directory.
tiloc Jan 28, 2016
e0e870d
Made "RELEASE" define obsolete (opposite of DEBUG). Introduce NET45 d…
tiloc Jan 29, 2016
4b13d59
Include target framework for .Net 4.5 in solution file name.
tiloc Jan 29, 2016
206aa7b
Add open source snk key.
tiloc Jan 29, 2016
d4f11a9
Add open source .snk file
tiloc Jan 29, 2016
80c0f11
Don't sign when built from VS and move .snk to correct position.
tiloc Jan 29, 2016
d8d31c7
Enable execution of unit tests on Release assemblies.
tiloc Jan 29, 2016
d96a410
Build and package now fully works.
tiloc Jan 29, 2016
daf570b
Proper deployment declarations for TestData.
tiloc Jan 30, 2016
24649ed
Find and execute MSTest
tiloc Jan 30, 2016
446b26d
Ensure LastResult in error case, and added unit test.
tiloc Jan 30, 2016
fc64eac
Tighter unit testing.
tiloc Jan 30, 2016
9f99c1a
Additional DeploymentItem entries
tiloc Jan 30, 2016
5b4fe79
Remove DeploymentItems again and switch command-line testing to VSTes…
tiloc Jan 30, 2016
a24ec4c
Build wonderful perfect NuGet packages. Finally!
tiloc Jan 30, 2016
e48be2b
Merge develop branch and resolve conflicts.
tiloc Feb 3, 2016
d053640
Better test categorization
tiloc Feb 3, 2016
ee10ef5
Remove obsolete DeploymentItem
tiloc Feb 3, 2016
a2e0447
Categorize unit tests better.
tiloc Feb 4, 2016
9cac31a
Add task "UpdateSource"
tiloc Feb 4, 2016
e3bc62f
Rename Debug45/Release45 -> Debug/Release
tiloc Feb 4, 2016
477a1ba
Update nuspec files with version information.
tiloc Feb 4, 2016
c7d4056
Build and test for all target frameworks through script.
tiloc Feb 6, 2016
79bbfd7
Minor cleanup of unused code.
tiloc Feb 6, 2016
7df5f43
Reenable accidentally disabled builds/tests.
tiloc Feb 6, 2016
4c8c1b2
Better documentation for PowerCurl.
tiloc Feb 6, 2016
dd36214
Visual Studio forgot my project configurations. Recreating them.
tiloc Feb 6, 2016
f6480de
Wrapper robocopy with Copy-Robot.
tiloc Feb 7, 2016
11b9b7a
Restore compatibility with PS 3.0 (Write-Information not available)
tiloc Feb 8, 2016
1bbeddd
Enable multi-target build on VS2013 (pdb files no longer overwrite ea…
tiloc Feb 8, 2016
daeae13
Add help text to build script.
tiloc Feb 8, 2016
b97e237
Better error handling for robocopy. Warn of unsigned release builds.
tiloc Feb 8, 2016
c3c327b
Added 'dotnet' as a target.
tiloc Feb 9, 2016
8a5ca0b
Exclude DotNet project from all other builds. Doesn't build right now...
tiloc Feb 9, 2016
d963327
And with this great commit, DotNet officially compiles!
tiloc Feb 9, 2016
36ffecd
Pull Newtonsoft.Json through NuGet.
tiloc Feb 9, 2016
0f21702
Remove Write-Information. Not compatible with PowerShell 3.0 or AppVe…
tiloc Feb 9, 2016
90ac1ee
Detect Appveyor
tiloc Feb 9, 2016
0c71872
Use correct test loggers.
tiloc Feb 9, 2016
727fd1f
Deploy zip file through AppVeyor push.
tiloc Feb 9, 2016
5964358
Consistent project naming to always include "Net45".
tiloc Feb 10, 2016
1c61df5
Sign assemblies and treat encrypted key as binary.
tiloc Feb 10, 2016
9a7b14e
Let AssemblyInfo.cs carry all the information about signing.
tiloc Feb 10, 2016
a64321a
Continue if a single test fails, but report overall task as failed af…
tiloc Feb 10, 2016
2680d32
Replaced Portable.DataAnnotations with Portable-Strong.DataAnnotations.
tiloc Feb 11, 2016
22f525d
Fix broken curly braces.
tiloc Feb 11, 2016
06316f2
Merge in progress on Ewout's develop branch.
tiloc Feb 11, 2016
077c810
Cleanup .nuspec, better dependencies
tiloc Feb 11, 2016
ab3cfaa
Exclude email from appveyor config
tiloc Feb 11, 2016
327bb78
Small enhancements to build.
tiloc Feb 13, 2016
57ac971
Remove encrypted SNK. Was checked in as text file, but is binary.
tiloc Feb 13, 2016
9aa1462
Re-add encrypted SNK as binary.
tiloc Feb 13, 2016
6234cf5
Better control strong-naming behavior.
tiloc Feb 13, 2016
9a9d119
Eliminate need for unit test key as part of the project.
tiloc Feb 17, 2016
6dc7ebd
Proper NuSpec for many popular targets.
tiloc Feb 21, 2016
2d5755c
Fix nuspec for Win81 target (include Portable.DataAnnotations)
tiloc Feb 21, 2016
f8c57a3
Make Newtonsoft.Json an explicit dependency of every target.
tiloc Feb 21, 2016
dec2371
Re-adding Portable.DataAnnotations to Xamarin targets.
tiloc Feb 21, 2016
93b9de5
Improve nuspec.
tiloc Feb 21, 2016
10d9d6b
DotNet project didn't get removed. Delete harder!
tiloc Feb 21, 2016
f9bd28f
Fix reference in Portable test
tiloc Feb 21, 2016
a22f7e6
Merge Ewout's develop branch.
tiloc Feb 22, 2016
a68bab5
Kill the DotNet build configuration.
tiloc Feb 22, 2016
cdce867
Set version # as discussed with Ewout.
tiloc Mar 14, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Cleaning up build script
  • Loading branch information
tiloc committed Jan 28, 2016
commit 144cb872f2e3328dca091e6a4f4459318efed22e
26 changes: 5 additions & 21 deletions build/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,10 @@ properties {
$workingDir = "$baseDir\$workingName"
$workingSourceDir = "$workingDir\src"
$builds = @(
# @{Name = "Newtonsoft.Json.Dotnet"; TestsName = "Newtonsoft.Json.Tests.Dotnet"; BuildFunction = "DnxBuild"; TestsFunction = "DnxTests"; Constants="dotnet"; FinalDir=$null; NuGetDir = $null; Framework=$null},
@{Name = "Hl7.Fhir"; TestsName = "Newtonsoft.Json.Tests"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; Constants=""; FinalDir="Net45"; NuGetDir = "net45"; Framework="net-4.0"},
@{Name = "Newtonsoft.Json.Portable"; TestsName = "Newtonsoft.Json.Tests.Portable"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; Constants="PORTABLE"; FinalDir="Portable"; NuGetDir = "portable-net45+wp80+win8+wpa81+dnxcore50"; Framework="net-4.0"},
@{Name = "Newtonsoft.Json.Portable40"; TestsName = "Newtonsoft.Json.Tests.Portable40"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; Constants="PORTABLE40"; FinalDir="Portable40"; NuGetDir = "portable-net40+sl5+wp80+win8+wpa81"; Framework="net-4.0"},
@{Name = "Newtonsoft.Json.Net40"; TestsName = "Newtonsoft.Json.Tests.Net40"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; Constants="NET40"; FinalDir="Net40"; NuGetDir = "net40"; Framework="net-4.0"}
@{Name = "Hl7.Fhir"; TestsName = "Hl7.Fhir.Core.Tests"; BuildFunction = "MSBuildBuild"; TestsFunction = "MSTests"; Constants="NET45"; FinalDir="Net45"; NuGetDir = "net45"; Framework="net-4.0"}
# @{Name = "Newtonsoft.Json.Portable"; TestsName = "Newtonsoft.Json.Tests.Portable"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; Constants="PORTABLE"; FinalDir="Portable"; NuGetDir = "portable-net45+wp80+win8+wpa81+dnxcore50"; Framework="net-4.0"},
# @{Name = "Newtonsoft.Json.Portable40"; TestsName = "Newtonsoft.Json.Tests.Portable40"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; Constants="PORTABLE40"; FinalDir="Portable40"; NuGetDir = "portable-net40+sl5+wp80+win8+wpa81"; Framework="net-4.0"},
# @{Name = "Newtonsoft.Json.Net40"; TestsName = "Newtonsoft.Json.Tests.Net40"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; Constants="NET40"; FinalDir="Net40"; NuGetDir = "net40"; Framework="net-4.0"}
)
}

Expand Down Expand Up @@ -57,9 +56,8 @@ task Build -depends Clean {

Write-Host -ForegroundColor Green "Updating assembly version"
Write-Host
Update-AssemblyInfoFiles $workingSourceDir ($majorVersion + '.0.0') $version
Update-AssemblyInfoFiles $workingSourceDir ($majorVersion + '.0.0') $version # TODO: Why not to full version?

Update-Project $workingSourceDir\Newtonsoft.Json\project.json $signAssemblies

foreach ($build in $builds)
{
Expand Down Expand Up @@ -273,20 +271,6 @@ function Edit-XmlNodes {
}
}

function Update-Project {
param (
[string] $projectPath,
[string] $sign
)

$file = switch($sign) { $true { $signKeyPath } default { $null } }

$json = (Get-Content $projectPath) -join "`n" | ConvertFrom-Json
$options = @{"warningsAsErrors" = $true; "keyFile" = $file; "define" = ((GetConstants "dotnet" $sign) -split ";") }
Add-Member -InputObject $json -MemberType NoteProperty -Name "compilationOptions" -Value $options -Force

ConvertTo-Json $json -Depth 10 | Set-Content $projectPath
}

function Execute-Command($command) {
$currentRetry = 0
Expand Down
6 changes: 6 additions & 0 deletions src/nuget.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet.org (v2)" value="https://www.nuget.org/api/v2" />
</packageSources>
</configuration>
Binary file added tools/nuget/nuget.exe
Binary file not shown.