コード例 #1
0
 public PackageService(BuildService builds, IPackageStore store, IPackageCompiler compiler, ILogger <PackageService> logger)
 {
     _builds   = builds;
     _store    = store;
     _compiler = compiler;
     _logger   = logger;
 }
コード例 #2
0
 public DirectoryPackageSource(IOptions <DirectoryPackageSourceOptions> options,
                               IPackageStore packageStore,
                               ILoggerFactory loggerFactory)
 {
     _scanDirectoryTask = ScanForPackages(options.Value.SourcePath,
                                          packageStore,
                                          loggerFactory.CreateLogger(GetType().FullName));
 }
コード例 #3
0
 public NugetPluginLoader(IPackageStore packageStore, bool useDefaultStore)
 {
     DependencyResolver.PackageStores.Add(packageStore);
     if (useDefaultStore)
     {
         DependencyResolver.AddDefaultStore();
     }
     DependencyResolver.Attach();
 }
コード例 #4
0
        public FindPackageCommand(ILog log, ICalamariFileSystem fileSystem, IPackageStore packageStore)
        {
            this.log          = log;
            this.packageStore = packageStore;
            Options.Add("packageId=", "Package ID to find", v => packageId = v);
            Options.Add("packageVersion=", "Package version to find", v => rawPackageVersion = v);
            Options.Add("packageHash=", "Package hash to compare against", v => packageHash  = v);
            Options.Add("packageVersionFormat=", $"[Optional] Format of version. Options {string.Join(", ", Enum.GetNames(typeof(VersionFormat)))}. Defaults to `{VersionFormat.Semver}`.",
                        v =>
            {
                if (!Enum.TryParse(v, out VersionFormat format))
                {
                    throw new CommandException($"The provided version format `{format}` is not recognised.");
                }

                versionFormat = format;
            });
            Options.Add("exactMatch=", "Only return exact matches", v => exactMatchOnly = bool.Parse(v));
        }
コード例 #5
0
 async Task ScanForPackages(string sourcePath, IPackageStore packageStore, ILogger logger)
 {
     IEnumerable <Task> tasks = Directory.EnumerateFiles(sourcePath).Select(file => Task.Factory.StartNew(async() =>
     {
         if (Path.GetExtension(file) != ".zip" && Path.GetExtension(file) != ".nupkg")
         {
             return;
         }
         try
         {
             logger.LogInformation("Processing Package: " + file);
             await packageStore.AddPackage(file);
         }
         catch (IOException e)
         {
             logger.LogWarning("Error processing package " + file + Environment.NewLine +
                               e.Message);
         }
     }));
     await Task.WhenAll(tasks.ToArray());
 }
コード例 #6
0
 public NugetPluginLoader(IPackageStore packageStore) : this(packageStore, false)
 {
 }
コード例 #7
0
 public PackageController(IApiHttpChannel apiHttpChannel, IPackageStore packageStore)
 {
     _apiHttpChannel = apiHttpChannel;
     _packageStore = packageStore;
 }
コード例 #8
0
 /// <summary>
 /// A helper method for <see cref="IPackageStore.GetPackagePath"/> to provide the owner, mod and version number separately
 /// </summary>
 /// <param name="store"></param>
 /// <param name="owner"></param>
 /// <param name="modName"></param>
 /// <param name="versionNumber"></param>
 /// <returns></returns>
 public static string GetPackagePath(this IPackageStore store, string owner, string modName, string versionNumber)
 {
     return(store.GetPackagePath($"{owner}_{modName}", versionNumber));
 }
コード例 #9
0
 /// <summary>
 /// A helper method for <see cref="IPackageStore.GetPackagePath"/> to provide the package name and version number separately
 /// </summary>
 /// <param name="store"></param>
 /// <param name="packageName">The package name (either owner_mod or disunity)</param>
 /// <param name="versionNumber">The version number to use</param>
 /// <returns></returns>
 public static string GetPackagePath(this IPackageStore store, string packageName, string versionNumber)
 {
     return(store.GetPackagePath($"{packageName}_{versionNumber}"));
 }
コード例 #10
0
 public NugetPluginStore(IPackageStore store, params string[] pluginNames)
     : base(store, new NugetPluginLoader <T>(store), pluginNames)
 {
 }