@@ -18,46 +18,55 @@ public class Package : IBuildTask
1818
1919 public async Task RunAsync ( CancellationToken token )
2020 {
21- var packageDir = Path . Combine ( Context . ContentDirectory , "PublishPackages" ) ;
21+ // var packageDir = Path.Combine(Context.ContentDirectory, "PublishPackages");
2222
2323 await BuildTools . BuildSolution ( Context , token ) ;
2424 await TestTools . UnitTest ( Context , token ) ;
2525
26- await CreateNugetPackage ( packageDir , token ) ;
26+ await CreateNugetPackage ( token ) ;
2727
2828 await CreateProjectPackage ( token ) ;
2929 }
3030
31- private async Task CreateProjectPackage ( CancellationToken token )
31+ private async Task CreateNugetPackage ( CancellationToken token )
3232 {
33- var def = new ProjectPackageDefinition {
34- Id = "jenkinsnet" ,
35- Name = "Jenkins.NET" ,
36- Description = "Publishes a pre-compiled and pre-tested NuGet Package for Jenkins.NET." ,
37- Project = "jenkins.net" ,
38- Assembly = "Jenkins.Net.Publishing.dll" ,
39- Script = "Publish" ,
40- Files = {
41- new PackageFileDefinition {
42- Path = "Jenkins.Net.Publishing\\ bin\\ Debug\\ **" ,
43- Destination = "" ,
44- } ,
45- new PackageFileDefinition {
46- Path = "PublishPackages\\ **" ,
47- Destination = "PublishPackages" ,
48- }
49- }
33+ var packageDir = Path . Combine ( Context . ContentDirectory , "Jenkins.Net" , "bin" , "Package" ) ;
34+
35+ var args = new [ ] {
36+ "pack" ,
37+ "\" Jenkins.Net\\ Jenkins.Net.csproj\" " ,
38+ "--configuration Release" ,
39+ "--no-build" ,
40+ $ "--output \" { packageDir } \" ",
41+ } ;
42+
43+ var info = new ProcessRunInfo {
44+ Filename = "dotnet" ,
45+ Arguments = string . Join ( " " , args ) ,
46+ WorkingDirectory = Context . ContentDirectory ,
5047 } ;
5148
52- var version = Context . BuildNumber . ToString ( ) ;
53- var output = Path . Combine ( Context . ContentDirectory , "PublishPackages" , "Jenkins.Net.zip" ) ;
49+ var runner = new ProcessRunner ( Context ) ;
50+ var result = await runner . RunAsync ( info , token ) ;
51+
52+ if ( result . ExitCode != 0 ) throw new ApplicationException ( $ "Build Failed! [{ result . ExitCode } ]") ;
53+ }
54+
55+ private async Task CreateProjectPackage ( CancellationToken token )
56+ {
57+ var projectPath = Path . Combine ( Context . ContentDirectory , "Jenkins.Net.Publishing" ) ;
58+ var packageDefFile = Path . Combine ( projectPath , "Jenkins.Net.Publishing.json" ) ;
59+ var output = Path . Combine ( Context . ContentDirectory , "PublishPackage" , "Jenkins.Net.zip" ) ;
5460
5561 try {
5662 Context . WriteTagLine ( "Creating project package..." , ConsoleColor . White ) ;
5763
64+ var version = Context . BuildNumber . ToString ( ) ;
65+ var packageDef = ProjectPackageTools . LoadDefinition ( packageDefFile ) ;
66+
5867 await ProjectPackageTools . CreatePackage (
59- definition : def ,
60- rootPath : Context . ContentDirectory ,
68+ definition : packageDef ,
69+ rootPath : projectPath ,
6170 version : version ,
6271 outputFilename : output ) ;
6372
@@ -80,27 +89,5 @@ await ProjectPackageTools.CreatePackage(
8089 throw ;
8190 }
8291 }
83-
84- private async Task CreateNugetPackage ( string packageDir , CancellationToken token )
85- {
86- var args = new [ ] {
87- "pack" ,
88- "\" Jenkins.Net\\ Jenkins.Net.csproj\" " ,
89- "--configuration Release" ,
90- "--no-build" ,
91- $ "--output \" { packageDir } \" ",
92- } ;
93-
94- var info = new ProcessRunInfo {
95- Filename = "dotnet" ,
96- Arguments = string . Join ( " " , args ) ,
97- WorkingDirectory = Context . ContentDirectory ,
98- } ;
99-
100- var runner = new ProcessRunner ( Context ) ;
101- var result = await runner . RunAsync ( info , token ) ;
102-
103- if ( result . ExitCode != 0 ) throw new ApplicationException ( $ "Build Failed! [{ result . ExitCode } ]") ;
104- }
10592 }
10693}
0 commit comments