コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void packageManger_PackageInstalled(object sender, NuGet.PackageOperationEventArgs e)
        {
            //Copy the package files out to the correct locations
            e.Package.CopyPackageFiles();

            //If package has old format package.xml - lets try & improt doctypes & content etc...
            e.Package.InstallFromPackageXml();
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void packageManger_PackageUninstalled(object sender, NuGet.PackageOperationEventArgs e)
        {
            //Try & run OLD Legacy event - AfterDelete of package aka uninstall/remove/delete
            //umbraco.cms.businesslogic.packager.InstalledPackage.FireAfterDelete

            //Remove the package files
            e.Package.RemovePackageFiles();
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void packageManger_PackageUninstalling(object sender, NuGet.PackageOperationEventArgs e)
        {
            //If package has old format package.xml - lets try & uninstall - Run uninstall/undo package actions
            e.Package.UninstallFromPackageXml();

            //Try & run OLD Legacy event - BeforeDelete of Package aka uninstall/remove/delete
            //umbraco.cms.businesslogic.packager.InstalledPackage.FireBeforeDelete
        }
コード例 #4
0
		void PackageInstalled (object sender, PackageOperationEventArgs e)
		{
			if (e.Package.Id != PackageId) {
				return;
			}

			ReadMeFile = FindReadMeFileInPackage (e.InstallPath, e.Package);
		}
コード例 #5
0
ファイル: AddInSetup.cs プロジェクト: Paccc/SharpDevelop
		private void events_AddInPackageDownloaded(object sender, PackageOperationEventArgs e)
		{
			try
			{
				InstallAddIn(e.Package, e.InstallPath);
			}
			catch (Exception ex)
			{
				_events.OnAddInOperationError(new AddInOperationErrorEventArgs(ex));
			}
		}
コード例 #6
0
ファイル: NugetStore.cs プロジェクト: vol16bit/xenko
        private void OnPackageInstalled(object sender, NuGet.PackageOperationEventArgs args)
        {
            var packageInstallPath = Path.Combine(args.InstallPath, "tools\\packageinstall.exe");

            if (File.Exists(packageInstallPath))
            {
                RunPackageInstall(packageInstallPath, "/install", currentProgressReport);
            }

            NugetPackageInstalled?.Invoke(sender, new PackageOperationEventArgs(args));
        }
        private void OnPackageManagerPackageUninstalling(object sender, PackageOperationEventArgs e)
        {
            var package = e.Package;
            var unistallPackageFile = package.GetUninstallPackageFile();
            this.shellPackageFile.Execute(unistallPackageFile, package, this.logger);

            if (this.installCalled)
            {
                return;
            }

            var teardownPackageFile = package.GetTeardownPackageFile();
            this.shellPackageFile.Execute(teardownPackageFile, package, this.logger);
        }
コード例 #8
0
ファイル: NugetStore.cs プロジェクト: vol16bit/xenko
        private void OnPackageUninstalling(object sender, NuGet.PackageOperationEventArgs args)
        {
            NugetPackageUninstalling?.Invoke(sender, new PackageOperationEventArgs(args));

            try
            {
                var packageInstallPath = Path.Combine(args.InstallPath, "tools\\packageinstall.exe");
                if (File.Exists(packageInstallPath))
                {
                    RunPackageInstall(packageInstallPath, "/uninstall", currentProgressReport);
                }
            }
            catch (Exception)
            {
                // We mute errors during uninstall since they are usually non-fatal (OTOH, if we don't catch the exception, the NuGet package isn't uninstalled, which is probably not what we want)
                // If we really wanted to deal with them at some point, we should use another mechanism than exception (i.e. log)
            }
        }
コード例 #9
0
		public void FirePackageReferenceAddedEvent(PackageOperationEventArgs e)
		{
			if (PackageReferenceAdded != null) {
				PackageReferenceAdded(this, e);
			}
		}
コード例 #10
0
		void PackageInstalled(object sender, PackageOperationEventArgs e)
		{
			RunInitScript(e);
		}
コード例 #11
0
ファイル: PackageManager.cs プロジェクト: sistoimenov/NuGet2
 protected virtual void OnRemoveFiles(PackageOperationEventArgs e)
 {
     RemoveFiles(e.Package);
 }
コード例 #12
0
ファイル: PackageManager.cs プロジェクト: sistoimenov/NuGet2
 protected virtual void OnInstalling(PackageOperationEventArgs e)
 {
     if (PackageInstalling != null)
     {
         PackageInstalling(this, e);
     }
 }
コード例 #13
0
		protected virtual void OnPackageReferenceRemoved (PackageOperationEventArgs eventArgs)
		{
			if (PackageReferenceRemoved != null) {
				PackageReferenceRemoved (this, eventArgs);
			}
		}
コード例 #14
0
ファイル: PackageManager.cs プロジェクト: Windman/duality
        private void manager_PackageUninstalled(object sender, PackageOperationEventArgs e)
        {
            Log.Editor.Write("Package removal scheduled: {0}, {1}", e.Package.Id, e.Package.Version);

            // Determine all files that are referenced by a package, and the ones referenced by this one
            IEnumerable<string> localFiles = this.CreateFileMapping(e.Package).Select(p => p.Key);

            // Schedule files for removal
            XDocument updateDoc = this.PrepareUpdateFile();
            foreach (var packageFile in localFiles)
            {
                // Don't remove any file that is still referenced by a local package
                bool stillInUse = false;
                foreach (NuGet.IPackage localNugetPackage in this.manager.LocalRepository.GetPackages())
                {
                    Dictionary<string,string> localMapping = this.CreateFileMapping(localNugetPackage);
                    if (localMapping.Any(p => PathHelper.Equals(p.Key, packageFile)))
                    {
                        stillInUse = true;
                        break;
                    }
                }
                if (stillInUse) continue;

                // Append the scheduled operation to the updater config file.
                this.AppendUpdateFileEntry(updateDoc, packageFile);
            }
            updateDoc.Save(this.UpdateFilePath);

            // Update local package configuration file
            this.localPackages.RemoveAll(p => p.Id == e.Package.Id);
            this.SaveConfig();
        }
コード例 #15
0
		void FirePackageInstalledEvent(IPackageManagementProject project, PackageOperationEventArgs eventArgs)
		{
			project.Raise(p => p.PackageInstalled += null, null, eventArgs);
		}
コード例 #16
0
 private void _packageEvents_NuGetPackageUninstalled(object sender, PackageOperationEventArgs e)
 {
     _events.OnAddInPackageRemoved(e);
 }
コード例 #17
0
        private void _packageEvents_NuGetPackageInstalled(object sender, PackageOperationEventArgs e)
        {
            // NuGet package has been downloaded and extracted, now install the AddIn from it
            // TODO Error management?

            _events.OnAddInPackageDownloaded(e);
        }
コード例 #18
0
ファイル: NugetStore.cs プロジェクト: vol16bit/xenko
 private void OnPackageUninstalled(object sender, NuGet.PackageOperationEventArgs args)
 {
     NugetPackageUninstalled?.Invoke(sender, new PackageOperationEventArgs(args));
 }
コード例 #19
0
        private void RemovePackageReferenceFromProject(IPackage package)
        {
            string packageFullName = package.GetFullName();

            Logger.Log(MessageLevel.Verbose, NuGetResources.Log_BeginRemovePackageReference, packageFullName, Project.ProjectName);

            PackageOperationEventArgs args = CreateOperation(package);

            OnPackageReferenceRemoving(args);

            if (args.Cancel)
            {
                return;
            }


            // Get other packages
            IEnumerable <IPackage> otherPackages = from p in LocalRepository.GetPackages()
                                                   where p.Id != package.Id
                                                   select p;

            // Get other references
            var otherAssemblyReferences = from p in otherPackages
                                          let assemblyReferences = GetFilteredAssembliesToDelete(p)
                                                                   from assemblyReference in assemblyReferences ?? Enumerable.Empty <IPackageAssemblyReference>() // This can happen if package installed left the project in a bad state
                                                                   select assemblyReference;

            // Get content files from other packages
            // Exclude transform files since they are treated specially
            var otherContentFiles = from p in otherPackages
                                    from file in GetCompatibleInstalledItemsForPackage(p.Id, p.GetContentFiles())
                                    where !IsTransformFile(file.Path)
                                    select file;

            // Get the files and references for this package, that aren't in use by any other packages so we don't have to do reference counting
            var assemblyReferencesToDelete = GetFilteredAssembliesToDelete(package)
                                             .Except(otherAssemblyReferences, PackageFileComparer.Default);

            var contentFilesToDelete = GetCompatibleInstalledItemsForPackage(package.Id, package.GetContentFiles())
                                       .Except(otherContentFiles, PackageFileComparer.Default);

            var buildFilesToDelete = GetCompatibleInstalledItemsForPackage(package.Id, package.GetBuildFiles());

            // Delete the content files
            Project.DeleteFiles(contentFilesToDelete, otherPackages, _fileTransformers);

            // Remove references
            foreach (IPackageAssemblyReference assemblyReference in assemblyReferencesToDelete)
            {
                Project.RemoveReference(assemblyReference.Name);
            }

            // remove the <Import> statement from projects for the .targets and .props files
            foreach (var importFile in buildFilesToDelete)
            {
                string fullImportFilePath = Path.Combine(PathResolver.GetInstallPath(package), importFile.Path);
                Project.RemoveImport(fullImportFilePath);
            }

            // Remove package to the repository
            LocalRepository.RemovePackage(package);


            Logger.Log(MessageLevel.Verbose, NuGetResources.Log_SuccessfullyRemovedPackageReference, packageFullName, Project.ProjectName);
            OnPackageReferenceRemoved(args);
        }
コード例 #20
0
 protected virtual void OnRemoveFiles(PackageOperationEventArgs e)
 {
     RemoveFiles(e.Package);
 }
コード例 #21
0
 protected virtual void OnExpandFiles(PackageOperationEventArgs e)
 {
     ExpandFiles(e.Package);
 }
コード例 #22
0
		public void FirePackageReferenceRemovingEvent(PackageOperationEventArgs e)
		{
			if (PackageReferenceRemoving != null) {
				PackageReferenceRemoving(this, e);
			}
		}
コード例 #23
0
ファイル: PackageManager.cs プロジェクト: Windman/duality
        private void manager_PackageInstalled(object sender, PackageOperationEventArgs e)
        {
            Log.Editor.Write("Package downloaded: {0}, {1}", e.Package.Id, e.Package.Version);

            // Schedule files for updating / copying
            XDocument updateDoc = this.PrepareUpdateFile();
            Dictionary<string,string> fileMapping = this.CreateFileMapping(e.Package);
            foreach (var pair in fileMapping)
            {
                // Don't overwrite files from a newer version of this package with their old one (think of dependencies)
                bool isOldVersion = false;
                foreach (NuGet.IPackage localNugetPackage in this.manager.LocalRepository.GetPackages())
                {
                    if (localNugetPackage.Id != e.Package.Id) continue;

                    Dictionary<string,string> localMapping = this.CreateFileMapping(localNugetPackage);
                    if (localMapping.Any(p => PathHelper.Equals(p.Key, pair.Key)))
                    {
                        if (localNugetPackage.Version > e.Package.Version)
                        {
                            isOldVersion = true;
                            break;
                        }
                    }
                }
                if (isOldVersion) continue;

                // Append the scheduled operation to the updater config file.
                this.AppendUpdateFileEntry(updateDoc, Path.Combine(e.InstallPath, pair.Value), pair.Key);
            }
            updateDoc.Save(this.UpdateFilePath);
        }
コード例 #24
0
		void FirePackageReferenceRemovingEvent(IPackageManagementProject project, PackageOperationEventArgs eventArgs)
		{
			project.Raise(p => p.PackageReferenceRemoving += null, null, eventArgs);
		}
コード例 #25
0
		public void FirePackageReferenceRemoved (PackageOperationEventArgs eventArgs)
		{
			OnPackageReferenceRemoved (eventArgs);
		}
コード例 #26
0
		void PackageReferenceAdded (object sender, PackageOperationEventArgs e)
		{
			packagesUpdated = true;
		}
コード例 #27
0
		public void PackageUninstalled_PackagerManagerPackageUninstalledEventFired_EventFiresWithPackage()
		{
			CreateProject();
			PackageOperationEventArgs eventArgs = null;
			project.PackageUninstalled += (sender, e) => eventArgs = e;
			
			var expectedEventArgs = new PackageOperationEventArgs(new FakePackage(), null, String.Empty);
			fakePackageManager.FirePackageUninstalled(expectedEventArgs);
			
			Assert.AreEqual(expectedEventArgs, eventArgs);
		}
コード例 #28
0
		void PackageReferenceAdded(object sender, PackageOperationEventArgs e)
		{
			RunInstallScript(e);
		}
コード例 #29
0
ファイル: PackageManager.cs プロジェクト: sistoimenov/NuGet2
 protected virtual void OnExpandFiles(PackageOperationEventArgs e)
 {
     ExpandFiles(e.Package);
 }
コード例 #30
0
		void PackageInstalled(IPackageManagementProject project, PackageOperationEventArgs e)
		{
			RunInitScript(project, e);
		}
コード例 #31
0
ファイル: PackageManager.cs プロジェクト: sistoimenov/NuGet2
 protected virtual void OnUninstalled(PackageOperationEventArgs e)
 {
     if (PackageUninstalled != null)
     {
         PackageUninstalled(this, e);
     }
 }
コード例 #32
0
		void PackageReferenceRemoving(IPackageManagementProject project, PackageOperationEventArgs e)
		{
			RunUninstallScript(project, e);
		}
コード例 #33
0
		void PackageReferenceRemoved(object sender, PackageOperationEventArgs e)
		{
			RunUninstallScript(e);
		}
コード例 #34
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void packageManger_PackageInstalling(object sender, NuGet.PackageOperationEventArgs e)
 {
 }
コード例 #35
0
		void RunInstallScript(PackageOperationEventArgs e)
		{
			IPackageScript script = scriptFactory.CreatePackageInstallScript(e.Package, e.InstallPath);
			RunScript(script);
		}
コード例 #36
0
ファイル: PackageManager.cs プロジェクト: jacksonh/nuget
 protected virtual void OnInstalled(PackageOperationEventArgs e)
 {
     if (_packageInstalled != null) {
         _packageInstalled(this, e);
     }
 }
コード例 #37
0
		void PackageReferenceAdded(IPackageManagementProject project, PackageOperationEventArgs e)
		{
			RunInstallScript(project, e);
		}
コード例 #38
0
ファイル: PackageManager.cs プロジェクト: jacksonh/nuget
 private void OnUninstalling(PackageOperationEventArgs e)
 {
     if (_packageUninstalling != null) {
         _packageUninstalling(this, e);
     }
 }
コード例 #39
0
		void RunUninstallScript(IPackageManagementProject project, PackageOperationEventArgs e)
		{
			IPackageScript script = scriptFactory.CreatePackageUninstallScript(e.Package, e.InstallPath);
			RunScript(project, script);
		}
コード例 #40
0
		public void FirePackageUninstalledEvent(PackageOperationEventArgs e)
		{
			if (PackageUninstalled != null) {
				PackageUninstalled(this, e);
			}
		}