mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 02:44:52 +08:00
Fixing typo, module uninstallation and error message (also typo).
--HG-- branch : 1.x
This commit is contained in:
@@ -39,11 +39,10 @@ namespace Orchard.Packaging.Commands {
|
||||
}
|
||||
|
||||
// append "Orchard.[ExtensionType]" to prevent conflicts with other packages (e.g, TinyMce, jQuery, ...)
|
||||
string extensionPrefix = DefaultExtensionTypes.IsTheme(packageData.ExtensionType) ?
|
||||
PackagingSourceManager.ThemesPrefix :
|
||||
PackagingSourceManager.ModulesPrefix;
|
||||
|
||||
var filename = string.Format("{0}{1}.{2}.nupkg", extensionPrefix, packageData.ExtensionName, packageData.ExtensionVersion);
|
||||
var filename = string.Format("{0}{1}.{2}.nupkg",
|
||||
PackagingSourceManager.GetExtensionPrefix(packageData.ExtensionType),
|
||||
packageData.ExtensionName,
|
||||
packageData.ExtensionVersion);
|
||||
|
||||
if ( !Directory.Exists(path) ) {
|
||||
Directory.CreateDirectory(path);
|
||||
|
@@ -63,11 +63,7 @@ namespace Orchard.Packaging.Services {
|
||||
}
|
||||
|
||||
private static void SetCoreProperties(CreateContext context, ExtensionDescriptor extensionDescriptor) {
|
||||
string idPrefix = DefaultExtensionTypes.IsTheme(extensionDescriptor.ExtensionType) ?
|
||||
PackagingSourceManager.ThemesPrefix :
|
||||
PackagingSourceManager.ModulesPrefix;
|
||||
|
||||
context.Builder.Id = idPrefix + extensionDescriptor.Id;
|
||||
context.Builder.Id = PackagingSourceManager.GetExtensionPrefix(extensionDescriptor.ExtensionType) + extensionDescriptor.Id;
|
||||
context.Builder.Version = new Version(extensionDescriptor.Version);
|
||||
context.Builder.Title = extensionDescriptor.Name ?? extensionDescriptor.Id;
|
||||
context.Builder.Description = extensionDescriptor.Description;
|
||||
|
@@ -99,6 +99,8 @@ namespace Orchard.Packaging.Services {
|
||||
}
|
||||
|
||||
public void Uninstall(string packageId, string applicationPath) {
|
||||
bool removed = false;
|
||||
|
||||
// this logger is used to render NuGet's log on the notifier
|
||||
var logger = new NugetLogger(_notifier);
|
||||
|
||||
@@ -133,24 +135,37 @@ namespace Orchard.Packaging.Services {
|
||||
) {Logger = logger};
|
||||
|
||||
packageManager.UninstallPackage(packageId);
|
||||
removed = true;
|
||||
}
|
||||
catch {
|
||||
// Package doesnt exist anymore
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure folder is deleted (themes scenario where there is no project)
|
||||
string extensionPath = packageId.StartsWith(PackagingSourceManager.ThemesPrefix)
|
||||
? "~/Themes/" + packageId.Substring(PackagingSourceManager.ThemesPrefix.Length)
|
||||
: "~/Modules/" + packageId.Substring(PackagingSourceManager.ThemesPrefix.Length);
|
||||
// If the package was not installed through nuget we still need to try to uninstall it by removing its directory
|
||||
|
||||
string extensionFullPath = HostingEnvironment.MapPath(extensionPath);
|
||||
// Remove theme if found
|
||||
string extensionFullPath = packageId.StartsWith(PackagingSourceManager.ThemesPrefix)
|
||||
? HostingEnvironment.MapPath("~/Themes/" + packageId.Substring(PackagingSourceManager.ThemesPrefix.Length))
|
||||
: HostingEnvironment.MapPath("~/Themes/" + packageId);
|
||||
|
||||
if (Directory.Exists(extensionFullPath)) {
|
||||
Directory.Delete(extensionFullPath, true);
|
||||
removed = true;
|
||||
}
|
||||
else {
|
||||
throw new OrchardException(T("Package not found: ", packageId));
|
||||
|
||||
// Remove module if found
|
||||
extensionFullPath = packageId.StartsWith(PackagingSourceManager.ModulesPrefix)
|
||||
? HostingEnvironment.MapPath("~/Modules/" + packageId.Substring(PackagingSourceManager.ModulesPrefix.Length))
|
||||
: HostingEnvironment.MapPath("~/Modules/" + packageId);
|
||||
|
||||
if (Directory.Exists(extensionFullPath)) {
|
||||
Directory.Delete(extensionFullPath, true);
|
||||
removed = true;
|
||||
}
|
||||
|
||||
if (!removed) {
|
||||
throw new OrchardException(T("Package not found: {0}", packageId));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -15,6 +15,17 @@ namespace Orchard.Packaging.Services {
|
||||
public const string ThemesPrefix = "Orchard.Themes.";
|
||||
public const string ModulesPrefix = "Orchard.Modules.";
|
||||
|
||||
public static string GetExtensionPrefix(string extensionType) {
|
||||
switch (extensionType) {
|
||||
case DefaultExtensionTypes.Theme:
|
||||
return ThemesPrefix;
|
||||
case DefaultExtensionTypes.Module:
|
||||
return ModulesPrefix;
|
||||
default:
|
||||
throw new ArgumentException();
|
||||
}
|
||||
}
|
||||
|
||||
private readonly IRepository<PackagingSource> _packagingSourceRecordRepository;
|
||||
|
||||
public PackagingSourceManager(IRepository<PackagingSource> packagingSourceRecordRepository) {
|
||||
|
Reference in New Issue
Block a user