|
@@ -1,5 +1,4 @@
|
|
|
-#l "scripts/utilities.cake"
|
|
|
-#tool nuget:?package=NUnit.Runners.Net4&version=2.6.4
|
|
|
+#tool "nuget:?package=NUnit.ConsoleRunner"
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
// ARGUMENTS
|
|
@@ -7,73 +6,50 @@
|
|
|
|
|
|
var target = Argument("target", "Default");
|
|
|
var paths = new {
|
|
|
+ src = MakeAbsolute(Directory("./../src")).FullPath,
|
|
|
solution = MakeAbsolute(File("./../src/Abc.Zebus.sln")).FullPath,
|
|
|
- version = MakeAbsolute(File("./../version.yml")).FullPath,
|
|
|
- assemblyInfo = MakeAbsolute(File("./../src/SharedVersionInfo.cs")).FullPath,
|
|
|
- output = new {
|
|
|
- build = MakeAbsolute(Directory("./../output/build")).FullPath,
|
|
|
- nuget = MakeAbsolute(Directory("./../output/nuget")).FullPath,
|
|
|
- },
|
|
|
- nuspec = new {
|
|
|
- zebus = MakeAbsolute(File("./Abc.Zebus.nuspec")).FullPath,
|
|
|
- testing = MakeAbsolute(File("./Abc.Zebus.Testing.nuspec")).FullPath,
|
|
|
- }
|
|
|
+ props = MakeAbsolute(File("./../src/Directory.Build.props")).FullPath,
|
|
|
+ testProject = MakeAbsolute(File("./../src/Abc.Zebus.Tests/Abc.Zebus.Tests.csproj")).FullPath,
|
|
|
+ nugetOutput = MakeAbsolute(Directory("./../output/nuget")).FullPath,
|
|
|
};
|
|
|
|
|
|
-ReadContext(paths.version);
|
|
|
-
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
// TASKS
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
-Task("UpdateBuildVersionNumber").Does(() => UpdateAppVeyorBuildVersionNumber());
|
|
|
Task("Clean").Does(() =>
|
|
|
{
|
|
|
- CleanDirectory(paths.output.build);
|
|
|
- CleanDirectory(paths.output.nuget);
|
|
|
+ CleanDirectories(GetDirectories(paths.src + "/**/bin/Release"));
|
|
|
+ CleanDirectory(paths.nugetOutput);
|
|
|
});
|
|
|
Task("Restore-NuGet-Packages").Does(() => NuGetRestore(paths.solution));
|
|
|
-Task("Create-AssemblyInfo").Does(()=>{
|
|
|
- Information("Assembly Version: {0}", VersionContext.AssemblyVersion);
|
|
|
- Information(" NuGet Version: {0}", VersionContext.NugetVersion);
|
|
|
- CreateAssemblyInfo(paths.assemblyInfo, new AssemblyInfoSettings {
|
|
|
- Version = VersionContext.AssemblyVersion,
|
|
|
- FileVersion = VersionContext.AssemblyVersion,
|
|
|
- InformationalVersion = VersionContext.NugetVersion + " Commit: " + VersionContext.Git.Sha
|
|
|
- });
|
|
|
-});
|
|
|
-Task("MSBuild").Does(() => MSBuild(paths.solution, settings => settings.SetConfiguration("Release")
|
|
|
- .SetPlatformTarget(PlatformTarget.MSIL)
|
|
|
- .WithProperty("OutDir", paths.output.build)));
|
|
|
-Task("Clean-AssemblyInfo").Does(() => System.IO.File.WriteAllText(paths.assemblyInfo, string.Empty));
|
|
|
+Task("MSBuild").Does(() => MSBuild(paths.solution, settings => settings
|
|
|
+ .WithTarget("Rebuild")
|
|
|
+ .SetConfiguration("Release")
|
|
|
+));
|
|
|
Task("Run-Unit-Tests").Does(() =>
|
|
|
{
|
|
|
- NUnit(paths.output.build + "/*.Tests.exe", new NUnitSettings { Framework = "4.6.1", NoResults = true });
|
|
|
- NUnit(paths.output.build + "/*.Tests.dll", new NUnitSettings { Framework = "4.6.1", NoResults = true });
|
|
|
-});
|
|
|
-Task("Nuget-Pack").Does(() =>
|
|
|
-{
|
|
|
- var settings = new NuGetPackSettings {
|
|
|
- Version = VersionContext.NugetVersion,
|
|
|
- BasePath = paths.output.build,
|
|
|
- OutputDirectory = paths.output.nuget,
|
|
|
- Symbols = true
|
|
|
- };
|
|
|
- NuGetPack(paths.nuspec.zebus, settings);
|
|
|
- NuGetPack(paths.nuspec.testing, settings);
|
|
|
+ //NUnit3(MakeAbsolute(File("./../src/Abc.Zebus.Tests/bin/Release/net471/Abc.Zebus.Tests.dll")).FullPath, new NUnit3Settings { NoResults = true });
|
|
|
+ DotNetCoreTest(paths.testProject, new DotNetCoreTestSettings {
|
|
|
+ Configuration = "Release",
|
|
|
+ NoBuild = true
|
|
|
+ });
|
|
|
});
|
|
|
+Task("Nuget-Pack").Does(() => MSBuild(paths.solution, settings => settings
|
|
|
+ .WithTarget("Pack")
|
|
|
+ .SetConfiguration("Release")
|
|
|
+ .SetPlatformTarget(PlatformTarget.MSIL)
|
|
|
+ .WithProperty("PackageOutputPath", paths.nugetOutput)
|
|
|
+));
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
// TASK TARGETS
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
Task("Build")
|
|
|
- .IsDependentOn("UpdateBuildVersionNumber")
|
|
|
.IsDependentOn("Clean")
|
|
|
.IsDependentOn("Restore-NuGet-Packages")
|
|
|
- .IsDependentOn("Create-AssemblyInfo")
|
|
|
- .IsDependentOn("MSBuild")
|
|
|
- .IsDependentOn("Clean-AssemblyInfo");
|
|
|
+ .IsDependentOn("MSBuild");
|
|
|
|
|
|
Task("Test")
|
|
|
.IsDependentOn("Build")
|
|
@@ -83,10 +59,10 @@ Task("Nuget")
|
|
|
.IsDependentOn("Test")
|
|
|
.IsDependentOn("Nuget-Pack")
|
|
|
.Does(() => {
|
|
|
- Information(" Nuget package is now ready at location: {0}.", paths.output.nuget);
|
|
|
+ Information(" Nuget package is now ready at location: {0}.", paths.nugetOutput);
|
|
|
Warning(" Please remember to create and push a tag based on the currently built version.");
|
|
|
Information(" You can do so by copying/pasting the following commands:");
|
|
|
- Information(" git tag v{0}", VersionContext.NugetVersion);
|
|
|
+ Information(" git tag v{0}", XmlPeek(paths.props, @"/Project/PropertyGroup/PackageVersion/text()"));
|
|
|
Information(" git push origin --tags");
|
|
|
});
|
|
|
|