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, ...)
|
// append "Orchard.[ExtensionType]" to prevent conflicts with other packages (e.g, TinyMce, jQuery, ...)
|
||||||
string extensionPrefix = DefaultExtensionTypes.IsTheme(packageData.ExtensionType) ?
|
var filename = string.Format("{0}{1}.{2}.nupkg",
|
||||||
PackagingSourceManager.ThemesPrefix :
|
PackagingSourceManager.GetExtensionPrefix(packageData.ExtensionType),
|
||||||
PackagingSourceManager.ModulesPrefix;
|
packageData.ExtensionName,
|
||||||
|
packageData.ExtensionVersion);
|
||||||
var filename = string.Format("{0}{1}.{2}.nupkg", extensionPrefix, packageData.ExtensionName, packageData.ExtensionVersion);
|
|
||||||
|
|
||||||
if ( !Directory.Exists(path) ) {
|
if ( !Directory.Exists(path) ) {
|
||||||
Directory.CreateDirectory(path);
|
Directory.CreateDirectory(path);
|
||||||
|
@@ -63,11 +63,7 @@ namespace Orchard.Packaging.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void SetCoreProperties(CreateContext context, ExtensionDescriptor extensionDescriptor) {
|
private static void SetCoreProperties(CreateContext context, ExtensionDescriptor extensionDescriptor) {
|
||||||
string idPrefix = DefaultExtensionTypes.IsTheme(extensionDescriptor.ExtensionType) ?
|
context.Builder.Id = PackagingSourceManager.GetExtensionPrefix(extensionDescriptor.ExtensionType) + extensionDescriptor.Id;
|
||||||
PackagingSourceManager.ThemesPrefix :
|
|
||||||
PackagingSourceManager.ModulesPrefix;
|
|
||||||
|
|
||||||
context.Builder.Id = idPrefix + extensionDescriptor.Id;
|
|
||||||
context.Builder.Version = new Version(extensionDescriptor.Version);
|
context.Builder.Version = new Version(extensionDescriptor.Version);
|
||||||
context.Builder.Title = extensionDescriptor.Name ?? extensionDescriptor.Id;
|
context.Builder.Title = extensionDescriptor.Name ?? extensionDescriptor.Id;
|
||||||
context.Builder.Description = extensionDescriptor.Description;
|
context.Builder.Description = extensionDescriptor.Description;
|
||||||
|
@@ -99,6 +99,8 @@ namespace Orchard.Packaging.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void Uninstall(string packageId, string applicationPath) {
|
public void Uninstall(string packageId, string applicationPath) {
|
||||||
|
bool removed = false;
|
||||||
|
|
||||||
// this logger is used to render NuGet's log on the notifier
|
// this logger is used to render NuGet's log on the notifier
|
||||||
var logger = new NugetLogger(_notifier);
|
var logger = new NugetLogger(_notifier);
|
||||||
|
|
||||||
@@ -133,24 +135,37 @@ namespace Orchard.Packaging.Services {
|
|||||||
) {Logger = logger};
|
) {Logger = logger};
|
||||||
|
|
||||||
packageManager.UninstallPackage(packageId);
|
packageManager.UninstallPackage(packageId);
|
||||||
|
removed = true;
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
// Package doesnt exist anymore
|
// Package doesnt exist anymore
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure folder is deleted (themes scenario where there is no project)
|
// If the package was not installed through nuget we still need to try to uninstall it by removing its directory
|
||||||
string extensionPath = packageId.StartsWith(PackagingSourceManager.ThemesPrefix)
|
|
||||||
? "~/Themes/" + packageId.Substring(PackagingSourceManager.ThemesPrefix.Length)
|
|
||||||
: "~/Modules/" + packageId.Substring(PackagingSourceManager.ThemesPrefix.Length);
|
|
||||||
|
|
||||||
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)) {
|
if (Directory.Exists(extensionFullPath)) {
|
||||||
Directory.Delete(extensionFullPath, true);
|
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 ThemesPrefix = "Orchard.Themes.";
|
||||||
public const string ModulesPrefix = "Orchard.Modules.";
|
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;
|
private readonly IRepository<PackagingSource> _packagingSourceRecordRepository;
|
||||||
|
|
||||||
public PackagingSourceManager(IRepository<PackagingSource> packagingSourceRecordRepository) {
|
public PackagingSourceManager(IRepository<PackagingSource> packagingSourceRecordRepository) {
|
||||||
|
Reference in New Issue
Block a user