C# Class Rock.Services.NuGet.WebProjectManager

This is the service layer that handles installing, updating, removing Packages (aka Plugins) from the website / local filesystem and the Rock Quarry (our NuGet server).
ファイルを表示 Open project: NewSpring/Rock

Public Methods

Method Description
GetInstalledPackage ( string packageId ) : IPackage

Gets all matching installed packages for the given keyword search for which updates are available.

Gets the locally installed package for the given id.

GetInstalledPackages ( string searchTerms ) : IQueryable

Gets all matching installed packages for the given keyword search.

GetLatestRemotePackages ( string searchTerms, bool includeAllVersions ) : IQueryable

Gets the newest/latest package or all of them matching the given keyword search.

GetRemotePackage ( string packageId ) : IPackage

Gets a package for the given id from the source repository.

GetRemotePackages ( string searchTerms ) : IQueryable

Gets all matching packages for the given keyword search.

GetUpdate ( IPackage package ) : IPackage

Gets the latest version of the given package.

GetUpdates ( string packageId ) : IEnumerable

Gets all listed versions of the given package.

InstallPackage ( IPackage package ) : IEnumerable

Installs and adds a package reference to the project

IsPackageInstalled ( IPackage package ) : bool

Will let you know if this exact package is installed locally

IsPackageInstalled ( IPackage package, bool anyVersion ) : bool

Will let you know if this package is installed locally. If anyVersion is true it does not matter which version of the package; otherwise only returns true if an exact match.

UninstallPackage ( IPackage package, bool removeDependencies ) : IEnumerable

Removes a package reference and uninstalls the package

UpdatePackage ( IPackage package ) : IEnumerable

Updates a package reference. Installs the package to the App_Data repository if it does not already exist.

UpdatePackageAndBackup ( IPackage package, IPackage oldPackage ) : IEnumerable

Updates a package reference. Installs the package to the App_Data repository if it does not already exist.

WebProjectManager ( string remoteSource, string siteRoot ) : System

Creates a WebProjectManager service.

Protected Methods

Method Description
Backup ( IPackage package ) : void

Make a backup of the given package.

Restore ( IPackage package ) : void

Restore the backup copy of the given package.

Private Methods

Method Description
GetPackageDependencies ( IPackage package, IPackageRepository localRepository, IPackageRepository sourceRepository ) : IEnumerable

Gets the package dependencies.

GetPackages ( IPackageRepository repository, string searchTerm ) : IQueryable

Gets the packages.

GetPackages ( IQueryable packages, string searchTerm ) : IQueryable

Gets the packages.

GetPackagesRequiringLicenseAcceptance ( IPackage package ) : IEnumerable

Gets the packages requiring license acceptance.

GetPackagesRequiringLicenseAcceptance ( IPackage package, IPackageRepository localRepository, IPackageRepository sourceRepository ) : IEnumerable

Gets the packages requiring license acceptance.

GetWebRepositoryDirectory ( string siteRoot ) : string

Gets the web repository directory.

GetWebRepositoryRestoreDirectory ( string siteRoot ) : string

Gets the location of web repository backup directory.

PerformLoggedAction ( System.Action action ) : IEnumerable

Performs the logged action.

ProjectManager_PackageReferenceAdded ( object sender, NuGet.PackageOperationEventArgs e ) : void

NOTE *************************************************************************** This event handler is needed because the current version of NuGet.Core has a bug when calling WebProjectSsyte.AddReferences() method. It is passing a null stream object resulting in zero byte bin files getting written. SEE: http://nuget.codeplex.com/discussions/253750 http://nuget.codeplex.com/discussions/479191 http://nuget.codeplex.com/workitem/4029 ********************************************************************************

Method Details

Backup() protected method

Make a backup of the given package.
protected Backup ( IPackage package ) : void
package IPackage
return void

GetInstalledPackage() public method

Gets all matching installed packages for the given keyword search for which updates are available. Gets the locally installed package for the given id.
public GetInstalledPackage ( string packageId ) : IPackage
packageId string the Id of a package
return IPackage

GetInstalledPackages() public method

Gets all matching installed packages for the given keyword search.
public GetInstalledPackages ( string searchTerms ) : IQueryable
searchTerms string a string of space delimited search terms
return IQueryable

GetLatestRemotePackages() public method

Gets the newest/latest package or all of them matching the given keyword search.
public GetLatestRemotePackages ( string searchTerms, bool includeAllVersions ) : IQueryable
searchTerms string a string of space delimited search terms
includeAllVersions bool if true, returns all matching packages; otherwise only the latest
return IQueryable

GetRemotePackage() public method

Gets a package for the given id from the source repository.
public GetRemotePackage ( string packageId ) : IPackage
packageId string the Id of a package
return IPackage

GetRemotePackages() public method

Gets all matching packages for the given keyword search.
public GetRemotePackages ( string searchTerms ) : IQueryable
searchTerms string a string of space delimited search terms
return IQueryable

GetUpdate() public method

Gets the latest version of the given package.
public GetUpdate ( IPackage package ) : IPackage
package IPackage a package
return IPackage

GetUpdates() public method

Gets all listed versions of the given package.
public GetUpdates ( string packageId ) : IEnumerable
packageId string the Id of a package
return IEnumerable

InstallPackage() public method

Installs and adds a package reference to the project
public InstallPackage ( IPackage package ) : IEnumerable
package IPackage
return IEnumerable

IsPackageInstalled() public method

Will let you know if this exact package is installed locally
public IsPackageInstalled ( IPackage package ) : bool
package IPackage
return bool

IsPackageInstalled() public method

Will let you know if this package is installed locally. If anyVersion is true it does not matter which version of the package; otherwise only returns true if an exact match.
public IsPackageInstalled ( IPackage package, bool anyVersion ) : bool
package IPackage
anyVersion bool
return bool

Restore() protected method

Restore the backup copy of the given package.
protected Restore ( IPackage package ) : void
package IPackage
return void

UninstallPackage() public method

Removes a package reference and uninstalls the package
public UninstallPackage ( IPackage package, bool removeDependencies ) : IEnumerable
package IPackage
removeDependencies bool
return IEnumerable

UpdatePackage() public method

Updates a package reference. Installs the package to the App_Data repository if it does not already exist.
public UpdatePackage ( IPackage package ) : IEnumerable
package IPackage
return IEnumerable

UpdatePackageAndBackup() public method

Updates a package reference. Installs the package to the App_Data repository if it does not already exist.
public UpdatePackageAndBackup ( IPackage package, IPackage oldPackage ) : IEnumerable
package IPackage
oldPackage IPackage
return IEnumerable

WebProjectManager() public method

Creates a WebProjectManager service.
public WebProjectManager ( string remoteSource, string siteRoot ) : System
remoteSource string URL of the NuGet server API (ex, http://nuget.org/api/v2 ).
siteRoot string The physical path to the web root.
return System