123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- using System;
- using System.IO;
- using System.Collections.Generic;
- using System.Linq;
- using static CakeScript.Startup;
- using static CakeScript.CakeAPI;
- namespace CakeScript
- {
- partial class Program
- {
- bool IsDemo = true;
- bool IsRelease = false;
- bool IsProfessional = false;
- bool IsDebug = false;
- string config = Argument("config", "Debug");
- string solutionDirectory = Argument("solution-directory", "");
- readonly string solutionFilename = Argument("solution-filename", "FastReport.Compat.sln");
- readonly string version = Argument("vers", "1.0.0.0");
- string outdir = Argument("out-dir", "");
- public Program(string[] args)
- {
-
- }
-
- public void Init()
- {
- IsDebug = config.ToLower() == "debug";
- IsDemo = config.ToLower() == "demo";
- IsRelease = config.ToLower() == "release";
- IsProfessional = config.ToLower() == "professional";
- Information($"CONFIG: {config}");
- }
- [DependsOn(nameof(Init))]
- public void Prepare()
- {
- if (String.IsNullOrWhiteSpace(solutionDirectory))
- {
- var dir = Directory.GetCurrentDirectory();
- try
- {
- for (int i = 0; i < 7; i++)
- {
- var find_path = Path.Combine(dir, solutionFilename);
- if (File.Exists(find_path))
- {
- solutionDirectory = dir;
- break;
- }
- dir = Path.GetDirectoryName(dir);
- }
- }
- catch
- {
- }
- }
- if (String.IsNullOrWhiteSpace(solutionDirectory))
- throw new FileNotFoundException($"File `{solutionFilename}` was not found!");
- solutionDirectory = Path.GetFullPath(solutionDirectory);
- if (!solutionDirectory.EndsWith(Path.DirectorySeparatorChar.ToString()))
- solutionDirectory += Path.DirectorySeparatorChar.ToString();
- Information($"solutionDirectory: {solutionDirectory}");
- }
- [DependsOn(nameof(Prepare))]
- public void PrepareNuget()
- {
- if (String.IsNullOrWhiteSpace(outdir))
- {
- outdir = Path.Combine(solutionDirectory, "fr_nuget");
- }
- else if (!Path.IsPathRooted(outdir))
- {
- outdir = Path.Combine(solutionDirectory, outdir);
- }
- if (!Directory.Exists(outdir))
- Directory.CreateDirectory(outdir);
- Information($"outdir: {outdir}");
- }
- public static void Default()
- {
- Information("Use: ");
- Information(" --name=value");
- Information("");
- Information("|> --target= - change task, see the task with command cake --tree. Core, Plugins, Test-Connectors.");
- Information("|> --config= - change config. Debug, Release, Demo.");
- Information("|> --vers= - change version");
- Information("|> --solution-directory= - change solution directory");
- Information("|> --solution-filename= - change solution file name");
- Information("|> --out-dir= - change output dir for packages");
- Information("");
- Information("OR: if you want to run 'Debug' mode, please add [Debug] attribute to your method");
- }
- }
- }
|