CompatSkiaTasks.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using static CakeScript.Startup;
  6. using static CakeScript.CakeAPI;
  7. using Cake.Common.IO;
  8. using Cake.Common.Tools.DotNet.MSBuild;
  9. using Cake.Common.Tools.DotNet.Pack;
  10. namespace CakeScript;
  11. partial class Program
  12. {
  13. [DependsOn(nameof(PrepareNuget))]
  14. public void PackCompatSkia()
  15. {
  16. const string packageId = "FastReport.Compat.Skia";
  17. string projectFile = Path.Combine(solutionDirectory, "src", packageId, packageId + ".csproj");
  18. TargetBuildCore("Clean");
  19. TargetBuildCore("Restore");
  20. TargetBuildCore("Build");
  21. var packSettings = new DotNetPackSettings
  22. {
  23. NoBuild = true,
  24. NoRestore = true,
  25. Configuration = config,
  26. OutputDirectory = outdir,
  27. MSBuildSettings = new DotNetMSBuildSettings
  28. {
  29. Version = version,
  30. }
  31. };
  32. DotNetPack(projectFile, packSettings);
  33. // Local functions:
  34. void TargetBuildCore(string target)
  35. {
  36. DotNetMSBuild(projectFile, new DotNetMSBuildSettings()
  37. .SetConfiguration(config)
  38. .WithTarget(target)
  39. .WithProperty("SolutionDir", solutionDirectory)
  40. .WithProperty("SolutionFileName", solutionFilename)
  41. .WithProperty("Version", version)
  42. );
  43. }
  44. }
  45. }