protected override async Task ExecuteOverrideAsync(ILogger logger) { using (logger.BeginScope("ExecuteInstall")) { try { var installerFactory = new PackageInstallerFactory(); var appManager = new ApplicationManager(); var package = new InstallationPackage(PackagePath); var installer = installerFactory.GetInstaller(package.Manifest.Deploy.Platform); var result = await installer.InstallPackage(package, logger); appManager.WriteAppPackageInstalled( package.Manifest.AppId, result, writeDotykTechFields: true); } catch (Exception ex) { logger.LogError(new EventId(), ex, "Failed to isntall package"); throw; } } }
//private static async Task PushPackage(PushOption options, ILogger logger, Stream packageStream) //{ // packageStream.Seek(0, SeekOrigin.Begin); // var client = new StoreClient( // new StoreClientOptions // { // ServerUrl = new Uri(options.ServerUrl) // }); // using (logger.BeginScope("Publishing")) // { // try // { // try // { // await client.Login(new LoginViewModel // { // Email = options.Login, // Password = options.Password // }); // } // catch // { // if (!options.Register) throw; // logger.LogInformation("Registering new user"); // await client.Register(new RegisterViewModel // { // Email = options.Login, // Password = options.Password // }); // await client.Login(new LoginViewModel // { // Email = options.Login, // Password = options.Password // }); // } // await client.SubmitPackage(packageStream); // logger.LogInformation("Package published"); // } // catch (Exception ex) // { // logger.LogError(new EventId(), ex, "Failed to publish package"); // throw; // } // } //} private static async Task ExecuteVerb(InstallOption io) { var logger = new ConsoleLogger("Installer", null, true); using (logger.BeginScope("ExecuteInstall")) { try { var installerFactory = new PackageInstallerFactory(); var appManager = new ApplicationManager(); var package = new InstallationPackage(io.PackagePath); var installer = installerFactory.GetInstaller(package.Manifest.Deploy.Platform); var result = await installer.InstallPackage(package, logger); appManager.WriteAppPackageInstalled(package.Manifest.AppId, result); } catch (Exception ex) { logger.LogError(new EventId(), ex, "Failed to isntall package"); throw; } } }
public UpdateService(RepositoryFactory repositoryFactory, PackageInstallerFactory packageInstallerFactory, DependencyResolver dependencyResolver, IWriter writer) { Guard.NotNull(repositoryFactory, nameof(repositoryFactory)); Guard.NotNull(packageInstallerFactory, nameof(packageInstallerFactory)); Guard.NotNull(dependencyResolver, nameof(dependencyResolver)); Guard.NotNull(writer, nameof(writer)); _packageInstallerFactory = packageInstallerFactory; _dependencyResolver = dependencyResolver; _repositoryFactory = repositoryFactory; _writer = writer; }
public ResolveService(IPackageSerializer packageSerializer, ManifestResolver manifestResolver, RepositoryFactory repositoryFactory, DependencyResolver dependencyResolver, PackageInstallerFactory packageInstallerFactory, IWriter writer) { Guard.NotNull(packageSerializer, nameof(packageSerializer)); Guard.NotNull(manifestResolver, nameof(manifestResolver)); Guard.NotNull(repositoryFactory, nameof(repositoryFactory)); Guard.NotNull(dependencyResolver, nameof(dependencyResolver)); Guard.NotNull(packageInstallerFactory, nameof(packageInstallerFactory)); Guard.NotNull(writer, nameof(writer)); _packageSerializer = packageSerializer; _manifestResolver = manifestResolver; _repositoryFactory = repositoryFactory; _dependencyResolver = dependencyResolver; _packageInstallerFactory = packageInstallerFactory; _writer = writer; }