public CommandSpec Resolve(CommandResolverArguments commandResolverArguments)
 {
     if (commandResolverArguments.CommandName == null)
     {
         return(null);
     }
     if (commandResolverArguments.CommandName.EndsWith(FileNameSuffixes.DotNet.DynamicLib))
     {
         var localPath = Path.Combine(AppContext.BaseDirectory,
                                      commandResolverArguments.CommandName);
         if (File.Exists(localPath))
         {
             var escapedArgs = ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(
                 new[] { localPath }
                 .Concat(commandResolverArguments.CommandArguments.OrEmptyIfNull()));
             return(new CommandSpec(
                        new Muxer().MuxerPath,
                        escapedArgs));
         }
     }
     return(null);
 }
Exemple #2
0
        public CommandSpec Resolve(CommandResolverArguments arguments)
        {
            if (string.IsNullOrEmpty(arguments.CommandName))
            {
                return(null);
            }

            var packageId = new DirectoryInfo(Path.Combine(_dotnetToolPath, arguments.CommandName));

            if (!packageId.Exists)
            {
                return(null);
            }

            var version = packageId.GetDirectories()[0];
            var dll     = version.GetDirectories("tools")[0]
                          .GetDirectories()[0] // TFM
                          .GetDirectories()[0] // RID
                          .GetFiles($"{arguments.CommandName}.dll")[0];

            return(MuxerCommandSpecMaker.CreatePackageCommandSpecUsingMuxer(
                       dll.FullName,
                       arguments.CommandArguments));
        }
Exemple #3
0
        public static CommandSpec TryResolveCommandSpec(
            ICommandResolverPolicy commandResolverPolicy,
            string commandName,
            IEnumerable <string> args,
            NuGetFramework framework = null,
            string configuration     = Constants.DefaultConfiguration,
            string outputPath        = null,
            string applicationName   = null)
        {
            var commandResolverArgs = new CommandResolverArguments
            {
                CommandName      = commandName,
                CommandArguments = args,
                Framework        = framework,
                ProjectDirectory = Directory.GetCurrentDirectory(),
                Configuration    = configuration,
                OutputPath       = outputPath,
                ApplicationName  = applicationName
            };

            var defaultCommandResolver = commandResolverPolicy.CreateCommandResolver();

            return(defaultCommandResolver.Resolve(commandResolverArgs));
        }
Exemple #4
0
 internal override string ResolveCommandPath(CommandResolverArguments commandResolverArguments)
 {
     return(_environment.GetCommandPathFromRootPath(
                ApplicationEnvironment.ApplicationBasePath,
                commandResolverArguments.CommandName));
 }
Exemple #5
0
 internal override string ResolveCommandPath(CommandResolverArguments commandResolverArguments)
 {
     return(_environment.GetCommandPathFromRootPath(
                AppContext.BaseDirectory,
                commandResolverArguments.CommandName));
 }
Exemple #6
0
 internal abstract string ResolveCommandPath(CommandResolverArguments commandResolverArguments);
 internal override string ResolveCommandPath(CommandResolverArguments commandResolverArguments)
 {
     return(_environment.GetCommandPath(commandResolverArguments.CommandName));
 }