Guest User

Untitled

a guest
Jan 15th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. //////////////////////////////////////////////////////////////////////
  2. // ARGUMENTS
  3. //////////////////////////////////////////////////////////////////////
  4.  
  5. var target = Argument("target", "Default");
  6. var configuration = Argument("configuration", "Release");
  7. var version = Argument<string>("buildVersion", "0.0.1");
  8.  
  9. //////////////////////////////////////////////////////////////////////
  10. // GLOBAL VARIABLES
  11. //////////////////////////////////////////////////////////////////////
  12. var artifacts = "./artifacts/";
  13. var packages = string.Concat(artifacts, "packages/");
  14. var solution = GetFiles("./**/*.sln").First().FullPath;
  15.  
  16. ///////////////////////////////////////////////////////////////////////////////
  17. // Clean Environment
  18. ///////////////////////////////////////////////////////////////////////////////
  19. Task("Setup").Does(()=> {
  20. var nugetSourceSettings = new NuGetSourcesSettings
  21. {
  22. UserName = EnvironmentVariable("PRIVATE_FEED_USERNAME"),
  23. Password = EnvironmentVariable("PRIVATE_FEED_PASSWORD"),
  24. IsSensitiveSource = true,
  25. Verbosity = NuGetVerbosity.Detailed
  26. };
  27.  
  28. var feed = new
  29. {
  30. Name = "Magnoxium",
  31. Source = EnvironmentVariable("PRIVATE_FEED_SOURCE")
  32. };
  33.  
  34. NuGetAddSource(
  35. name:feed.Name,
  36. source:feed.Source,
  37. settings:nugetSourceSettings
  38. );
  39. });
  40.  
  41. Task("Clean")
  42. .IsDependentOn("Setup")
  43. .Does(() => {
  44. CleanDirectories("./**/bin");
  45. CleanDirectories("./**/obj");
  46. CleanDirectories("./**/artifacts");
  47. });
  48.  
  49. Task("Restore")
  50. .IsDependentOn("Clean")
  51. .Does(() =>
  52. {
  53. NuGetRestore(solution);
  54. });
  55.  
  56. ///////////////////////////////////////////////////////////////////////////////
  57. // Build Projects
  58. ///////////////////////////////////////////////////////////////////////////////
  59.  
  60. Task("Build")
  61. .IsDependentOn("Restore")
  62. .Does(() =>
  63. {
  64. var buildSettings = new DotNetCoreBuildSettings
  65. {
  66. Configuration = configuration,
  67. ArgumentCustomization = args => args.Append("/p:SemVer=" + version)
  68. };
  69.  
  70. DotNetCoreBuild(solution, buildSettings);
  71. });
  72.  
  73. ///////////////////////////////////////////////////////////////////////////////
  74. // Create Nuget Packages
  75. ///////////////////////////////////////////////////////////////////////////////
  76. Task("Pack")
  77. .IsDependentOn("Build")
  78. .Does(() =>
  79. {
  80. DotNetCoreMSBuildSettings buildSettings = new DotNetCoreMSBuildSettings();
  81. buildSettings.SetVersionPrefix(version);
  82.  
  83. var settings = new DotNetCorePackSettings
  84. {
  85. NoBuild = true,
  86. MSBuildSettings = buildSettings,
  87. Configuration = configuration,
  88. OutputDirectory = packages
  89. };
  90.  
  91. var projects = GetFiles("./src/**/*.csproj");
  92.  
  93. foreach(var project in projects)
  94. {
  95. DotNetCorePack(project.FullPath, settings);
  96. }
  97. });
  98.  
  99. //////////////////////////////////////////////////////////////////////
  100. // TASK TARGETS
  101. //////////////////////////////////////////////////////////////////////
  102.  
  103. Task("Default")
  104. .IsDependentOn("Pack");
  105.  
  106. //////////////////////////////////////////////////////////////////////
  107. // EXECUTION
  108. //////////////////////////////////////////////////////////////////////
  109.  
  110. RunTarget(target);
Add Comment
Please, Sign In to add comment