示例#1
0
文件: MSBuild.cs 项目: tristal/Nuke
 /// <summary>
 /// nuget pack
 /// </summary>
 public static ITargetDefinition Pack(ITargetDefinition _, IMsBuild build) => _
 .DependsOn(build.Build)
 .Executes(
     () =>
 {
     foreach (var project in build.NuspecDirectory.GlobFiles("*.nuspec"))
     {
         NuGetTasks
         .NuGetPack(
             settings =>
             settings
             .SetTargetPath(project)
             .SetConfiguration(build.Configuration)
             .SetGitVersionEnvironment(build.GitVersion)
             .SetVersion(build.GitVersion.NuGetVersionV2)
             .SetOutputDirectory(build.NuGetPackageDirectory)
             .SetSymbols(true)
             );
     }
 }
     );
示例#2
0
文件: MSBuild.cs 项目: tristal/Nuke
 /// <summary>
 /// xunit test
 /// </summary>
 public static ITargetDefinition Test(ITargetDefinition _, IMsBuild build) => _
 .DependsOn(build.Build)
 .DependentFor(build.Pack)
 .Executes(
     () =>
 {
     foreach (var project in build.Solution.GetTestProjects())
     {
         DotNetTasks
         .DotNetTest(
             settings =>
             settings
             .SetProjectFile(project)
             .SetConfiguration(build.Configuration)
             .SetGitVersionEnvironment(build.GitVersion)
             .SetDefaultLoggers(build.LogsDirectory / "test.log")
             .EnableNoRestore()
             .SetLogger("trx")
             .SetProperty("VSTestResultsDirectory", build.TestResultsDirectory)
             );
     }
 }
     );
示例#3
0
文件: MSBuild.cs 项目: tristal/Nuke
 /// <summary>
 /// msbuild
 /// </summary>
 public static ITargetDefinition Build(ITargetDefinition _, IMsBuild build) => _
 .DependsOn(build.Restore)
 .Executes(
     () =>
 {
     MSBuildTasks
     .MSBuild(
         settings =>
         settings
         .SetSolutionFile(build.Solution)
         .SetConfiguration(build.Configuration)
         .SetDefaultLoggers(build.LogsDirectory / "build.log")
         .SetGitVersionEnvironment(build.GitVersion)
         .SetAssemblyVersion(build.GitVersion.AssemblySemVer)
         .SetPackageVersion(build.GitVersion.NuGetVersionV2)
         );
 }
     );
示例#4
0
文件: MSBuild.cs 项目: tristal/Nuke
 /// <summary>
 /// nuget restore
 /// </summary>
 public static ITargetDefinition Restore(ITargetDefinition _, IMsBuild build) => _
 .DependsOn(build.Clean)
 .Executes(
     () =>
 {
     NuGetTasks
     .NuGetRestore(
         settings =>
         settings
         .SetSolutionDirectory(build.Solution)
         .EnableNoCache()
         );
 }
     );
示例#5
0
 /// <summary>
 /// package
 /// </summary>
 public static ITargetDefinition Package(ITargetDefinition _, IXamarinBuild build) => _
 .DependsOn(build.Test)
 .Executes(() => { });
示例#6
0
        /// <summary>
        /// test
        /// </summary>
        public static ITargetDefinition Test(ITargetDefinition _, IXamarinBuild build) => _
        .DependsOn(build.Build)
        .OnlyWhenStatic(() => DirectoryExists(build.TestDirectory))
        .Executes(() =>
        {
            DotNetTest(settings =>
                       settings
                       .SetProjectFile(build.Solution)
                       .SetDefaultLoggers(build.LogsDirectory / "test.log")
                       .SetGitVersionEnvironment(build.GitVersion)
                       .SetConfiguration(build.Configuration)
                       .EnableNoRestore()
                       .SetLogger($"trx")
                       .SetProperty("CollectCoverage", "true")
                       .SetProperty("DeterministicSourcePaths", "false")  // DeterministicSourcePaths being true breaks coverlet!
                       .SetProperty("CoverageDirectory", build.CoverageDirectory)
                       .SetResultsDirectory(build.TestResultsDirectory));

            foreach (var coverage in build.TestResultsDirectory.GlobFiles("**/*.cobertura.xml"))
            {
                CopyFileToDirectory(coverage, build.CoverageDirectory, FileExistsPolicy.OverwriteIfNewer);
            }
        });
示例#7
0
 /// <summary>
 /// nuget restore
 /// </summary>
 public static ITargetDefinition Restore(ITargetDefinition _, IXamarinBuild build) => _
 .DependsOn(build.Clean)
 .Executes(() => DotNetRestore(settings =>
                               settings
                               .SetProjectFile(build.Solution)
                               .SetDisableParallel(true)
                               .SetDefaultLoggers(build.LogsDirectory / "restore.log")
                               .SetGitVersionEnvironment(build.GitVersion)));