Beispiel #1
0
        public override async Task InitAsync()
        {
            Logger.LogDebug($"[{GetType().Name}] Initializing NuGet.");

            CreateConfiguration();

            var adapter = new NuGetLoggerAdapter(logger);

            nugetPackageManager = new NuGetPackageManager(adapter, PackagesDirectory, Repositories.Where(c => c.IsEnabled).Select(d => d.Url));

            PluginManagerInitEvent pluginManagerInitEvent =
                new PluginManagerInitEvent(this, EventExecutionTargetContext.Sync);

            EventBus.Emit(runtime, pluginManagerInitEvent);

            if (pluginManagerInitEvent.IsCancelled)
            {
                Logger.LogDebug($"[{GetType().Name}] Loading of NuGet packages was cancelled.");
                return;
            }

            foreach (var dir in Directory.GetDirectories(PackagesDirectory))
            {
                foreach (var file in Directory.GetFiles(dir))
                {
                    if (file.EndsWith(".nupkg", StringComparison.OrdinalIgnoreCase))
                    {
                        await LoadPluginFromNugetPackageAsync(file);
                    }
                }
            }
        }
        public override async Task InitAsync()
        {
            Logger.LogDebug($"[{GetType().Name}] Initializing NuGet.");
            PackagesDirectory = Path.Combine(runtime.WorkingDirectory, "Packages");
            if (!Directory.Exists(PackagesDirectory))
            {
                Directory.CreateDirectory(PackagesDirectory);
            }

            var adapter = new NuGetLoggerAdapter(logger);

            nugetPackageManager = new NuGetPackageManager(adapter, PackagesDirectory);

            PluginManagerInitEvent pluginManagerInitEvent =
                new PluginManagerInitEvent(this, EventExecutionTargetContext.Sync);

            EventBus.Emit(runtime, pluginManagerInitEvent);

            if (pluginManagerInitEvent.IsCancelled)
            {
                Logger.LogDebug($"[{GetType().Name}] Loading of NuGet packages was cancelled.");
                return;
            }

            foreach (var dir in Directory.GetDirectories(PackagesDirectory))
            {
                foreach (var file in Directory.GetFiles(dir))
                {
                    if (file.EndsWith(".nupkg", StringComparison.OrdinalIgnoreCase))
                    {
                        await LoadPluginFromNugetPackageAsync(file);
                    }
                }
            }
        }