示例#1
0
        public UnzipFile(string workFolder, IUpdatePackage package)
        {
            _workFolder = workFolder;
            _package = package;

            _fullPathToLocalFile = Path.Combine(_workFolder, package.Access.GetFilenameOnly());
        }
 public SendNotifications(IEnumerable<INotificationReceiver> receivers, bool isDownloadOnly, bool withSkipDatabaseUpdate, IUpdatePackage package, INowGetter nowGetter, IBlackboard blackboard)
 {
     _package = package;
     _receivers = receivers;
     _blackboard = blackboard;
     _nowGetter = nowGetter;
     _isDownloadOnly = isDownloadOnly;
     _withSkipDatabaseUpdate = withSkipDatabaseUpdate;
 }
示例#3
0
 public PackageUpdateVerifier(IProvideConfiguration<PluginServerConfiguration> configuration, IUpdatePackage packageUpdateManager, ISendHttpRequests httpClient, IMapEntities<Collection.Plugin, Plugin> collectionPluginToPluginMapper, IHandleDialogMessages dialogMessagesEvents, ICreateDialogForUpdate dialogMessageEventFactory)
 {
     this.configuration = configuration;
     this.packageUpdateManager = packageUpdateManager;
     this.httpClient = httpClient;
     this.collectionPluginToPluginMapper = collectionPluginToPluginMapper;
     this.dialogMessagesEvents = dialogMessagesEvents;
     this.dialogMessageEventFactory = dialogMessageEventFactory;
 }
示例#4
0
        public CheckIfNewer(string workFolder, IUpdatePackage package, ISingleFile singleFile)
        {
            _workFolder = workFolder;
            _package = package;
            _singleFile = singleFile;

            _fullPathToLocalFile = Path.Combine(_workFolder, package.Access.GetFilenameOnly());

            _vordraengelFaktor = int.MaxValue; // CheckIfNewer aller Pakete soll immer mit maximaler Priorität ausgeführt werden
        }
        public CheckUrlHttpStatusIs200(string url, IUpdatePackage package, IHtmlGetter htmlGetter, ILogger logger, ProxySettings proxySettings = null)
        {
            _url = url;

            _package = package;
            _htmlGetter = htmlGetter;
            _logger = logger;

            _proxySettings = proxySettings;
        }
        public CleanupOldUnpackedFiles(string workFolder, IUpdatePackage package, IDirectory directory, ILogger logger)
        {
            _workFolder = workFolder;
            _package = package;
            _directory = directory;

            _fullPathToLocalDirectory = Path.Combine(_workFolder, Path.GetFileNameWithoutExtension(package.Access.GetFilenameOnly()));

            _logger = logger;
        }
示例#7
0
        public GetVersionInfo(string workFolder, IUpdatePackage package, string versionInfoFile, ISingleFile singleFile, IBlackboard blackboard)
        {
            _workFolder = workFolder;
            _package = package;
            _singleFile = singleFile;
            _blackboard = blackboard;
            _versionInfoFile = versionInfoFile;

            _fullPathToLocalFile = Path.Combine(_workFolder, Path.GetFileNameWithoutExtension(package.Access.GetFilenameOnly()), versionInfoFile);
        }
        public DeleteOldAndGetNewFile(string workFolder, IUpdatePackage package, ISingleFile singleFile, ILogger logger)
        {
            _workFolder = workFolder;
            _package = package;
            _singleFile = singleFile;
            _logger = logger;

            _fullPathToLocalFile = Path.Combine(_workFolder, package.Access.GetFilenameOnly());

            // DeleteOldAndGetNewFile aller Pakete soll immer zuerst ausgeführt werden,
            // damit immer erst alle Pakete heruntergeladen werden
            _vordraengelFaktor = int.MaxValue;
        }
        public RunInstallerCommand(string installerCommand, string installerCommandArguments, string workFolder, IUpdatePackage package, IRunExternalCommand runExternalCommand, ILogger logger)
        {
            _workFolder = workFolder;
            _package = package;

            _logger = logger;
            _runExternalCommand = runExternalCommand;

            _fullPathToLocalDirectory = Path.Combine(_workFolder, Path.GetFileNameWithoutExtension(package.Access.GetFilenameOnly()));

            _installerCommand = installerCommand;
            _installerCommandArguments = installerCommandArguments;
        }
示例#10
0
        public UpdateDatabase(string datebaseUpdaterCommand, string databaseUpdaterArguments, string connectionString, string workFolder, IUpdatePackage package, IRunExternalCommand runExternalCommand, ILogger logger)
        {
            _workFolder = workFolder;
            _package = package;

            _fullPathToLocalDirectory = Path.Combine(_workFolder, Path.GetFileNameWithoutExtension(package.Access.GetFilenameOnly()));

            _connectionString = connectionString;
            _datebaseUpdaterCommand = datebaseUpdaterCommand;
            _databaseUpdaterArguments = databaseUpdaterArguments;
            _logger = logger;
            _runExternalCommand = runExternalCommand;
        }
示例#11
0
        public void LoadPackage(byte[] assembly, IPackageInfo packageInfo)
        {
            if (packageAppDomain != null)
            {
                Unload();
            }

            string fileNamespace = packageInfo.FullID;
            string dir           = Path.GetDirectoryName(assemblyPath);

            //AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation;
            //setup.ApplicationBase = Environment.CurrentDirectory;
            packageAppDomain = AppDomain.CreateDomain(fileNamespace, null);
            // TODO: Load all the of the dependancies into memory too!
            //this.packageAppDomain.Load()
            Assembly loadedAssembly = this.packageAppDomain.Load(assembly);

            this.package = this.packageAppDomain.CreateInstance(loadedAssembly.FullName, "UpdatePackage.UpdatePackage").Unwrap() as IUpdatePackage;
        }
示例#12
0
        public void LoadPackage(string assemblyPath)
        {
            if (packageAppDomain != null) {
                Unload();
            }
            this.assemblyPath = assemblyPath;
            string fileNamespace = Path.GetFileNameWithoutExtension(assemblyPath);
            string dir = Path.GetDirectoryName(assemblyPath);

            AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation;
            if (false) {
                setup.ApplicationBase = Environment.CurrentDirectory;
            } else {
                setup.ApplicationBase = dir;
            }
            packageAppDomain = AppDomain.CreateDomain(fileNamespace, null, setup);
            //this.packageAppDomain.Load()
            this.package = this.packageAppDomain.CreateInstanceFrom(assemblyPath, "UpdatePackage.UpdatePackage").Unwrap() as IUpdatePackage;
        }
示例#13
0
        public void LoadPackage(string assemblyPath)
        {
            if (packageAppDomain != null)
            {
                Unload();
            }
            this.assemblyPath = assemblyPath;
            string fileNamespace = Path.GetFileNameWithoutExtension(assemblyPath);
            string dir           = Path.GetDirectoryName(assemblyPath);

            AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation;

            if (false)
            {
                setup.ApplicationBase = Environment.CurrentDirectory;
            }
            else
            {
                setup.ApplicationBase = dir;
            }
            packageAppDomain = AppDomain.CreateDomain(fileNamespace, null, setup);
            //this.packageAppDomain.Load()
            this.package = this.packageAppDomain.CreateInstanceFrom(assemblyPath, "UpdatePackage.UpdatePackage").Unwrap() as IUpdatePackage;
        }
示例#14
0
        private NotificationText BuildNotificationText(IUpdatePackage package)
        {
            var shortPackageName = GetShortPackageName(package.PackageName);

            var message = BuildMessage(package.PackageName);

            var verb = _isDownloadOnly ? "heruntergeladen" : "aktualisiert";

            return new NotificationText()
            {
                Subject = $"Paket '{shortPackageName}' wurde um {_nowGetter.Now} {verb}",
                Message = message
            };
        }
示例#15
0
 public CleanupBlackboard(IUpdatePackage package, IBlackboard blackboard)
 {
     _package = package;
     _blackboard = blackboard;
 }
示例#16
0
        public void LoadPackage(byte[] assembly, IPackageInfo packageInfo)
        {
            if (packageAppDomain != null) {
                Unload();
            }
            this.assemblyPath = assemblyPath;
            string fileNamespace = packageInfo.FullID;
            string dir = Path.GetDirectoryName(assemblyPath);

            //AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation;
            //setup.ApplicationBase = Environment.CurrentDirectory;
            packageAppDomain = AppDomain.CreateDomain(fileNamespace, null);
            // TODO: Load all the of the dependancies into memory too!
            //this.packageAppDomain.Load()
            Assembly loadedAssembly = this.packageAppDomain.Load(assembly);
            this.package = this.packageAppDomain.CreateInstance(loadedAssembly.FullName, "UpdatePackage.UpdatePackage").Unwrap() as IUpdatePackage;
        }