2016-02-24 16:05:55 -08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
using Microsoft.DotNet.ProjectModel;
|
|
|
|
|
using Microsoft.DotNet.ProjectModel.Graph;
|
|
|
|
|
using Microsoft.Extensions.PlatformAbstractions;
|
|
|
|
|
using NuGet.Frameworks;
|
|
|
|
|
using NuGet.Packaging;
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.DotNet.Cli.Utils
|
|
|
|
|
{
|
|
|
|
|
public class ProjectPathCommandResolver : AbstractPathBasedCommandResolver
|
|
|
|
|
{
|
|
|
|
|
public ProjectPathCommandResolver(IEnvironmentProvider environment,
|
|
|
|
|
IPlatformCommandSpecFactory commandSpecFactory) : base(environment, commandSpecFactory) { }
|
|
|
|
|
|
|
|
|
|
internal override string ResolveCommandPath(CommandResolverArguments commandResolverArguments)
|
|
|
|
|
{
|
|
|
|
|
if (commandResolverArguments.ProjectDirectory == null)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return _environment.GetCommandPathFromRootPath(
|
|
|
|
|
commandResolverArguments.ProjectDirectory,
|
|
|
|
|
commandResolverArguments.CommandName,
|
2016-03-07 11:50:52 -08:00
|
|
|
|
commandResolverArguments.InferredExtensions.OrEmptyIfNull());
|
2016-02-24 16:05:55 -08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal override CommandResolutionStrategy GetCommandResolutionStrategy()
|
|
|
|
|
{
|
|
|
|
|
return CommandResolutionStrategy.ProjectLocal;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|