Implementing "package install" command based on NuGet

--HG--
branch : nuget
This commit is contained in:
Sebastien Ros
2010-11-05 18:17:12 -07:00
parent 08eb862153
commit 70848ef2dd
7 changed files with 72 additions and 22 deletions

View File

@@ -10,7 +10,7 @@ namespace Orchard.Packaging.Commands {
[OrchardFeature("Orchard.Packaging")]
public class PackagingCommands : DefaultOrchardCommandHandler {
private static readonly string OrchardWebProj = HostingEnvironment.MapPath("~/Orchard.Web.csproj");
private const string PackagePath = "Packages";
private const string CreatePackagePath = "CreatedPackages";
private readonly IPackageManager _packageManager;
@@ -29,7 +29,7 @@ namespace Orchard.Packaging.Commands {
// append "Orchard.[ExtensionType]" to prevent conflicts with other packages (e.g, TinyMce, jQuery, ...)
var filename = string.Format("Orchard.{0}.{1}.{2}.nupkg", packageData.ExtensionType, packageData.ExtensionName, packageData.ExtensionVersion);
var packagePath = Path.Combine(Directory.GetParent(OrchardWebProj).FullName, PackagePath);
var packagePath = Path.Combine(GetSolutionFolder(), CreatePackagePath);
if(!Directory.Exists(packagePath)) {
Directory.CreateDirectory(packagePath);
@@ -54,10 +54,12 @@ namespace Orchard.Packaging.Commands {
Context.Output.WriteLine(T("File \"{0}\" does not exist.", filename));
}
using (var stream = File.Open(filename, FileMode.Open, FileAccess.Read)) {
var packageInfo = _packageManager.Install(stream);
Context.Output.WriteLine(T("Package \"{0}\" successfully installed at \"{1}\"", packageInfo.ExtensionName, packageInfo.ExtensionPath));
}
var packageInfo = _packageManager.Install(filename, GetSolutionFolder());
Context.Output.WriteLine(T("Package \"{0}\" successfully installed at \"{1}\"", packageInfo.ExtensionName, packageInfo.ExtensionPath));
}
private string GetSolutionFolder() {
return Directory.GetParent(OrchardWebProj).Parent.FullName;
}
}
}