Exemplo n.º 1
0
 private bool CreateBinFile(PackageInfo packageInfo)
 {
     if (packageInfo == null || !packageInfo.Commands.Any())
     {
         return(false);
     }
     foreach (var command in packageInfo.Commands)
     {
         var binFile = commandDirectory.GetBinFile(command.Name + (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".cmd" : ""));
         var relativeMainFileName = commandDirectory.MakeRelativeToBaseDir(command.ExecutableFilePath);
         File.WriteAllText(binFile, RuntimeInformation.IsOSPlatform(OSPlatform.Windows)
                             ? $@"@""%~dp0\{relativeMainFileName}"" %*"
                             : $"#!/usr/bin/env bash{Environment.NewLine}. \"$( cd \"$( dirname \"${{BASH_SOURCE[0]}}\" )\" && pwd )/{relativeMainFileName}\" \"$@\"");
         WriteLineIfVerbose($"Wrote redirect file '{binFile}' pointing to '{relativeMainFileName}'.");
     }
     return(true);
 }