Beispiel #1
0
        private static string BuildKitchenIncludePath(LocalUserConfig config, string projectName, SemanticVersion version)
        {
            var kitchenPath             = config.PackageStore;
            var packageVersionDirectory = BuildPackageVersionDirectory(projectName, version);
            var path = Path.Combine(kitchenPath, Constants.StoreIncludeRootFolderName, packageVersionDirectory);

            return(path);
        }
Beispiel #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BuildEngine"/> class.
 /// </summary>
 public BuildEngine(LocalUserConfig config, ICompiler compiler)
 {
     _config   = config;
     _compiler = compiler;
 }
Beispiel #3
0
        /// <summary>
        /// Build the recursive dependencies
        /// </summary>
        public static async Task <List <PackageReference> > BuildRecursiveDependeciesAsync(LocalUserConfig config, Recipe recipe)
        {
            List <PackageReference> result = new List <PackageReference>();

            foreach (var dependency in recipe.Dependencies)
            {
                result.Add(dependency);
                var dependencyPackagePath = BuildKitchenPackagePath(config, dependency);
                var dependencyRecipe      = await RecipeManager.LoadFromFileAsync(dependencyPackagePath);

                var transsitiveDependencies = await BuildRecursiveDependeciesAsync(config, dependencyRecipe);

                result.AddRange(transsitiveDependencies);
            }

            return(result);
        }
Beispiel #4
0
 /// <summary>
 /// Build the kitchen include path
 /// </summary>
 public static string BuildKitchenIncludePath(LocalUserConfig config, PackageReference reference)
 {
     return(BuildKitchenIncludePath(config, reference.Name, reference.Version));
 }
Beispiel #5
0
 /// <summary>
 /// Build the kitchen package path
 /// </summary>
 public static string BuildKitchenIncludePath(LocalUserConfig config, Recipe recipe)
 {
     return(BuildKitchenIncludePath(config, recipe.Name, recipe.Version));
 }
Beispiel #6
0
 /// <summary>
 /// Build the kitchen library path
 /// </summary>
 public static string BuildKitchenLibraryPath(LocalUserConfig config)
 {
     return(Path.Combine(
                config.PackageStore,
                Constants.StoreLibraryFolderName));
 }