Exemple #1
0
    public static string PackTool(string name, string sourceDirectory, string outputDirectory, string version)
    {
        var nuspecFile = Path.Combine(outputDirectory, name + ".nuspec");

        using (var w = new StreamWriter(nuspecFile))
        {
            w.WriteLine(@"<?xml version=""1.0""?>
<package >
  <metadata>
    <id>" + name + @"</id>
    <version>" + version + @"</version>
    <authors>sidiandi</authors>
    <owners>sidiandi</owners>
    <licenseUrl>https://opensource.org/licenses/BSD-3-Clause</licenseUrl>
    <projectUrl>https://github.com/sidiandi/sidi.project</projectUrl>
    <iconUrl>https://github.com/sidiandi/sidi.project/icon.ico</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Tool</description>
    <releaseNotes></releaseNotes>
    <copyright>Copyright 2017 https://github.com/sidiandi</copyright>
    <tags></tags>
    <dependencies>
    </dependencies>
  </metadata>
	<files>
		<file src="         + SubProcess.Quote(sourceDirectory + @"\**\*") + @" target=""tools"" />
	</files>
</package>

");
        }

        string package = null;
        var    p       = new List <string>();

        p.AddRange(new[] { "pack", nuspecFile, "-OutputDirectory", outputDirectory });
        if (!String.IsNullOrEmpty(version))
        {
            p.AddRange(new[] { "-Version", version });
        }

        var nuget = new SubProcess("nuget", p.ToArray());

        nuget.Run().Wait();
        package = nuget.Output.RegexGet(@"Successfully created package '([^']+)'.");
        Console.WriteLine(package);
        return(package);
    }