public DepsJsonCommandFactory(
            string depsJsonFile, 
            string runtimeConfigFile,
            string nugetPackagesRoot,
            string temporaryDirectory)
        {
            _depsJsonCommandResolver = new DepsJsonCommandResolver(nugetPackagesRoot);

            _temporaryDirectory = temporaryDirectory;
            _depsJsonFile = depsJsonFile;
            _runtimeConfigFile = runtimeConfigFile;
        }
Example #2
0
        public DepsJsonCommandFactory(
            string depsJsonFile,
            string runtimeConfigFile,
            string nugetPackagesRoot,
            string temporaryDirectory)
        {
            _depsJsonCommandResolver = new DepsJsonCommandResolver(nugetPackagesRoot);

            _temporaryDirectory = temporaryDirectory;
            _depsJsonFile       = depsJsonFile;
            _runtimeConfigFile  = runtimeConfigFile;
        }
Example #3
0
        private static FscCommandSpec ResolveFsc(List<string> fscArgs, string temp)
        {
            var nugetPackagesRoot = PackageDependencyProvider.ResolvePackagesPath(null, null);
            var depsFile = Path.Combine(AppContext.BaseDirectory, "dotnet-compile-fsc" + FileNameSuffixes.DepsJson);

            var depsJsonCommandResolver = new DepsJsonCommandResolver(nugetPackagesRoot);
            var dependencyContext = depsJsonCommandResolver.LoadDependencyContextFromFile(depsFile);
            var fscPath = depsJsonCommandResolver.GetCommandPathFromDependencyContext("fsc", dependencyContext);


            var commandResolverArgs = new CommandResolverArguments()
            {
                CommandName = "fsc",
                CommandArguments = fscArgs,
                DepsJsonFile = depsFile
            };

            var fscCommandSpec = depsJsonCommandResolver.Resolve(commandResolverArgs);

            var runtimeConfigFile = Path.Combine(
                Path.GetDirectoryName(typeof(CompileFscCommand).GetTypeInfo().Assembly.Location)
                , "dotnet-compile-fsc" + FileNameSuffixes.RuntimeConfigJson);


            CopyRuntimeConfigForFscExe(runtimeConfigFile, "fsc", depsFile, nugetPackagesRoot, fscPath);

            return new FscCommandSpec
            {
                Spec = fscCommandSpec,
                FscExeDir = Path.GetDirectoryName(fscPath),
                FscExeFile = fscPath
            };
        }