1
+ #load "nuget:Dotnet.Build, 0.2.7"
2
+ using static FileUtils ;
3
+ using System . Xml . Linq ;
4
+
5
+ public static class BuildContext
6
+ {
7
+ static BuildContext ( )
8
+ {
9
+ Owner = "filipw" ;
10
+ ProjectName = "dotnet-script" ;
11
+ Root = FileUtils . GetScriptFolder ( ) ;
12
+
13
+ DotnetScriptProjectFolder = Path . Combine ( Root , ".." , "src" , "Dotnet.Script" ) ;
14
+ DotnetScriptCoreProjectFolder = Path . Combine ( Root , ".." , "src" , "Dotnet.Script.Core" ) ;
15
+ DotnetScriptDependencyModelProjectFolder = Path . Combine ( Root , ".." , "src" , "Dotnet.Script.DependencyModel" ) ;
16
+ DotnetScriptDependencyModelNuGetProjectFolder = Path . Combine ( Root , ".." , "src" , "Dotnet.Script.DependencyModel.NuGet" ) ;
17
+
18
+ var artifactsFolder = CreateDirectory ( Root , "Artifacts" ) ;
19
+ GitHubArtifactsFolder = CreateDirectory ( artifactsFolder , "GitHub" ) ;
20
+ NuGetArtifactsFolder = CreateDirectory ( artifactsFolder , "NuGet" ) ;
21
+ ChocolateyArtifactsFolder = CreateDirectory ( artifactsFolder , "Chocolatey" ) ;
22
+ PublishArtifactsFolder = CreateDirectory ( artifactsFolder , "Publish" , ProjectName ) ;
23
+ PublishArchiveFolder = Path . Combine ( PublishArtifactsFolder , ".." ) ;
24
+ //PublishArtifactsFolder = CreateDirectory(artifactsFolder, "Publish", ProjectName);
25
+
26
+ PathToReleaseNotes = Path . Combine ( GitHubArtifactsFolder , "ReleaseNotes.md" ) ;
27
+
28
+ Version = ReadVersion ( ) ;
29
+
30
+ PathToGitHubReleaseAsset = Path . Combine ( GitHubArtifactsFolder , $ "{ ProjectName } .{ Version } .zip") ;
31
+
32
+ string ReadVersion ( )
33
+ {
34
+ var projectFile = XDocument . Load ( Directory . GetFiles ( DotnetScriptProjectFolder , "*.csproj" ) . Single ( ) ) ;
35
+ var versionPrefix = projectFile . Descendants ( "VersionPrefix" ) . SingleOrDefault ( ) ? . Value ;
36
+ var versionSuffix = projectFile . Descendants ( "VersionSuffix" ) . SingleOrDefault ( ) ? . Value ;
37
+
38
+ if ( versionSuffix != null )
39
+ {
40
+ return $ "{ versionPrefix } -{ versionSuffix } ";
41
+ }
42
+ else
43
+ {
44
+ return versionPrefix ;
45
+ }
46
+ }
47
+ }
48
+
49
+ private static string Version { get ; }
50
+
51
+ public static string GitHubArtifactsFolder { get ; }
52
+
53
+ public static string GitHubReleaseAsset { get ; }
54
+
55
+ public static string GitHubReleaseNoteAsset { get ; }
56
+
57
+ public static string NuGetArtifactsFolder { get ; }
58
+
59
+ public static string ChocolateyArtifactsFolder { get ; }
60
+
61
+ public static string PublishArtifactsFolder { get ; }
62
+
63
+ public static string PublishArchiveFolder { get ; }
64
+
65
+ public static string DotnetScriptProjectFolder { get ; }
66
+
67
+ public static string DotnetScriptCoreProjectFolder { get ; }
68
+
69
+ public static string DotnetScriptDependencyModelProjectFolder { get ; }
70
+
71
+ public static string DotnetScriptDependencyModelNuGetProjectFolder { get ; }
72
+
73
+ public static string Root { get ; }
74
+
75
+
76
+ public static string TestProjectFolder { get ; }
77
+
78
+ public static string PathToReleaseNotes { get ; }
79
+
80
+ public static string PathToGitHubReleaseAsset { get ; }
81
+ public static string Owner { get ; }
82
+ public static string ProjectName { get ; }
83
+ }
0 commit comments