mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Rename "Future.Modules.Packaging" to "Orchard.Packaging"
--HG-- branch : dev rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/AdminMenu.cs => src/Orchard.Web/Modules/Orchard.Packaging/AdminMenu.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Commands/PackagingCommands.cs => src/Orchard.Web/Modules/Orchard.Packaging/Commands/GalleryCommands.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Commands/PackagingCommands.cs => src/Orchard.Web/Modules/Orchard.Packaging/Commands/PackagingCommands.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Controllers/DownloadStreamResult.cs => src/Orchard.Web/Modules/Orchard.Packaging/Controllers/DownloadStreamResult.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Controllers/PackagingController.cs => src/Orchard.Web/Modules/Orchard.Packaging/Controllers/PackagingController.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Module.txt => src/Orchard.Web/Modules/Orchard.Packaging/Module.txt rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Futures.Modules.Packaging.csproj => src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Properties/AssemblyInfo.cs => src/Orchard.Web/Modules/Orchard.Packaging/Properties/AssemblyInfo.cs rename : src/Orchard/Packaging/AtomExtensions.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/AtomExtensions.cs rename : src/Orchard/Packaging/IPackageBuilder.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/IPackageBuilder.cs rename : src/Orchard/Packaging/IPackageExpander.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/IPackageExpander.cs rename : src/Orchard/Packaging/IPackageManager.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/IPackageManager.cs rename : src/Orchard/Packaging/IPackagingSourceManager.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/IPackagingSourceManager.cs rename : src/Orchard/Packaging/PackageBuilder.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageBuilder.cs rename : src/Orchard/Packaging/PackageData.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageData.cs rename : src/Orchard/Packaging/PackageExpander.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageExpander.cs rename : src/Orchard/Packaging/PackageManager.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/PackageManager.cs rename : src/Orchard/Packaging/PackagingEntry.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/PackagingEntry.cs rename : src/Orchard/Packaging/PackagingSource.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/PackagingSource.cs rename : src/Orchard/Packaging/PackagingSourceManager.cs => src/Orchard.Web/Modules/Orchard.Packaging/Services/PackagingSourceManager.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/ViewModels/PackagingHarvestViewModel.cs => src/Orchard.Web/Modules/Orchard.Packaging/ViewModels/PackagingHarvestViewModel.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/ViewModels/PackagingModulesViewModel.cs => src/Orchard.Web/Modules/Orchard.Packaging/ViewModels/PackagingModulesViewModel.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/ViewModels/PackagingSourcesViewModel.cs => src/Orchard.Web/Modules/Orchard.Packaging/ViewModels/PackagingSourcesViewModel.cs rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Views/Packaging/Harvest.ascx => src/Orchard.Web/Modules/Orchard.Packaging/Views/Packaging/Harvest.ascx rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Views/Packaging/Modules.ascx => src/Orchard.Web/Modules/Orchard.Packaging/Views/Packaging/Modules.ascx rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Views/Packaging/Sources.ascx => src/Orchard.Web/Modules/Orchard.Packaging/Views/Packaging/Sources.ascx rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Views/Packaging/_Subnav.ascx => src/Orchard.Web/Modules/Orchard.Packaging/Views/Packaging/_Subnav.ascx rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Views/Web.config => src/Orchard.Web/Modules/Orchard.Packaging/Views/Web.config rename : src/Orchard.Web/Modules/Futures.Modules.Packaging/Web.config => src/Orchard.Web/Modules/Orchard.Packaging/Web.config
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
name: Futures.Modules.Packaging
|
||||
antiforgery: enabled
|
||||
author: The Orchard Team
|
||||
website: http://orchardproject.net
|
||||
version: 0.5.0
|
||||
orchardversion: 0.5.0
|
||||
description: The packaging module enables packaging modules using the OPC format.
|
||||
features:
|
||||
Futures.Modules.Packaging:
|
||||
Description: Standard module and feature management.
|
||||
Category: Developer
|
@@ -6,6 +6,7 @@ using Orchard.Localization;
|
||||
using Orchard.Modules.ViewModels;
|
||||
using Orchard.Mvc.Results;
|
||||
using Orchard.Packaging;
|
||||
using Orchard.Packaging.Services;
|
||||
using Orchard.Reports.Services;
|
||||
using Orchard.UI.Notify;
|
||||
|
||||
|
@@ -8,4 +8,5 @@ description: The Modules module enables the administrator of the site to manage
|
||||
features:
|
||||
Orchard.Modules:
|
||||
Description: Standard module and feature management.
|
||||
Dependencies: PackagingServices
|
||||
Category: Core
|
||||
|
@@ -66,7 +66,6 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AdminMenu.cs" />
|
||||
<Compile Include="Commands\PackagingCommands.cs" />
|
||||
<Compile Include="Commands\FeatureCommands.cs" />
|
||||
<Compile Include="Controllers\AdminController.cs" />
|
||||
<Compile Include="Extensions\StringExtensions.cs" />
|
||||
@@ -90,6 +89,10 @@
|
||||
<Project>{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}</Project>
|
||||
<Name>Orchard.Framework</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Orchard.Packaging\Orchard.Packaging.csproj">
|
||||
<Project>{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}</Project>
|
||||
<Name>Orchard.Packaging</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Content\Admin\images\disabled.gif" />
|
||||
|
@@ -1,7 +1,9 @@
|
||||
using Orchard.Localization;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Localization;
|
||||
using Orchard.UI.Navigation;
|
||||
|
||||
namespace Futures.Modules.Packaging {
|
||||
namespace Orchard.Packaging {
|
||||
[OrchardFeature("Gallery")]
|
||||
public class AdminMenu : INavigationProvider {
|
||||
public Localizer T { get; set; }
|
||||
|
||||
@@ -9,8 +11,8 @@ namespace Futures.Modules.Packaging {
|
||||
|
||||
public void GetNavigation(NavigationBuilder builder) {
|
||||
builder.Add(T("Site Configuration"), "11", menu => menu
|
||||
.Add(T("Module Packaging"), "5.0", item => item
|
||||
.Action("Index", "Packaging", new { area = "Futures.Modules.Packaging" })));
|
||||
.Add(T("Gallery"), "5.0", item => item
|
||||
.Action("Index", "Packaging", new { area = "Orchard.Packaging" })));
|
||||
}
|
||||
}
|
||||
}
|
@@ -2,13 +2,13 @@ using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using Orchard.Commands;
|
||||
using Orchard.Packaging;
|
||||
using Orchard.Packaging.Services;
|
||||
|
||||
namespace Futures.Modules.Packaging.Commands {
|
||||
public class PackagingCommands : DefaultOrchardCommandHandler {
|
||||
namespace Orchard.Packaging.Commands {
|
||||
public class GalleryCommands : DefaultOrchardCommandHandler {
|
||||
private readonly IPackageManager _packageManager;
|
||||
|
||||
public PackagingCommands(IPackageManager packageManager) {
|
||||
public GalleryCommands(IPackageManager packageManager) {
|
||||
_packageManager = packageManager;
|
||||
}
|
||||
|
@@ -1,17 +1,14 @@
|
||||
using System.IO;
|
||||
using Orchard.Commands;
|
||||
using Orchard.Packaging;
|
||||
using Orchard.UI.Notify;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Packaging.Services;
|
||||
|
||||
namespace Orchard.Modules.Commands {
|
||||
namespace Orchard.Packaging.Commands {
|
||||
[OrchardFeature("Packaging")]
|
||||
public class PackagingCommands : DefaultOrchardCommandHandler {
|
||||
private readonly IModuleService _moduleService;
|
||||
private readonly INotifier _notifier;
|
||||
private readonly IPackageManager _packageManager;
|
||||
|
||||
public PackagingCommands(IModuleService moduleService, INotifier notifier, IPackageManager packageManager) {
|
||||
_moduleService = moduleService;
|
||||
_notifier = notifier;
|
||||
public PackagingCommands(IPackageManager packageManager) {
|
||||
_packageManager = packageManager;
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
using System.IO;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Futures.Modules.Packaging.Controllers {
|
||||
namespace Orchard.Packaging.Controllers {
|
||||
public class DownloadStreamResult : ActionResult {
|
||||
public string FileName { get; set; }
|
||||
public string ContentType { get; set; }
|
@@ -1,15 +1,16 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Futures.Modules.Packaging.ViewModels;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Packaging;
|
||||
using Orchard.Packaging.Services;
|
||||
using Orchard.Packaging.ViewModels;
|
||||
using Orchard.Themes;
|
||||
using Orchard.UI.Admin;
|
||||
using Orchard.UI.Notify;
|
||||
|
||||
namespace Futures.Modules.Packaging.Controllers {
|
||||
namespace Orchard.Packaging.Controllers {
|
||||
[OrchardFeature("Gallery")]
|
||||
[Themed, Admin]
|
||||
public class PackagingController : Controller {
|
||||
private readonly IPackageManager _packageManager;
|
19
src/Orchard.Web/Modules/Orchard.Packaging/Module.txt
Normal file
19
src/Orchard.Web/Modules/Orchard.Packaging/Module.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
name: Packaging
|
||||
antiforgery: enabled
|
||||
author: The Orchard Team
|
||||
website: http://orchardproject.net
|
||||
version: 0.5.0
|
||||
orchardversion: 0.5.0
|
||||
description: The packaging module enables packaging modules using the OPC format.
|
||||
features:
|
||||
PackagingServices:
|
||||
Description: Core services for packaging using the OPC format.
|
||||
Category: Core
|
||||
Orchard.Packaging:
|
||||
Description: Commands for creating/installing local modules.
|
||||
Dependencies: PackagingServices
|
||||
Category: Packaging
|
||||
Gallery:
|
||||
Description: Module gallery management.
|
||||
Dependencies: PackagingServices
|
||||
Category: Packaging
|
@@ -10,8 +10,8 @@
|
||||
<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Futures.Modules.Packaging</RootNamespace>
|
||||
<AssemblyName>Futures.Modules.Packaging</AssemblyName>
|
||||
<RootNamespace>Orchard.Packaging</RootNamespace>
|
||||
<AssemblyName>Orchard.Packaging</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<MvcBuildViews>false</MvcBuildViews>
|
||||
</PropertyGroup>
|
||||
@@ -37,6 +37,7 @@
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
@@ -63,12 +64,26 @@
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AdminMenu.cs" />
|
||||
<Compile Include="Commands\GalleryCommands.cs" />
|
||||
<Compile Include="Commands\PackagingCommands.cs" />
|
||||
<Compile Include="Controllers\DownloadStreamResult.cs" />
|
||||
<Compile Include="Controllers\PackagingController.cs" />
|
||||
<Compile Include="Services\AtomExtensions.cs" />
|
||||
<Compile Include="Services\IPackageBuilder.cs" />
|
||||
<Compile Include="Services\IPackageExpander.cs" />
|
||||
<Compile Include="Services\IPackageManager.cs" />
|
||||
<Compile Include="Services\IPackagingSourceManager.cs" />
|
||||
<Compile Include="Services\PackageBuilder.cs" />
|
||||
<Compile Include="Services\PackageData.cs" />
|
||||
<Compile Include="Services\PackageExpander.cs" />
|
||||
<Compile Include="Services\PackageManager.cs" />
|
||||
<Compile Include="Services\PackagingEntry.cs" />
|
||||
<Compile Include="Services\PackagingSource.cs" />
|
||||
<Compile Include="Services\PackagingSourceManager.cs" />
|
||||
<Compile Include="ViewModels\PackagingHarvestViewModel.cs" />
|
||||
<Compile Include="ViewModels\PackagingModulesViewModel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Futures.Modules.Packaging")]
|
||||
[assembly: AssemblyTitle("Orchard.Packaging")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Futures.Modules.Packaging")]
|
||||
[assembly: AssemblyProduct("Orchard")]
|
||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
@@ -1,9 +1,11 @@
|
||||
using System.Xml.Linq;
|
||||
using Orchard.Environment.Extensions;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
static class AtomExtensions {
|
||||
namespace Orchard.Packaging.Services {
|
||||
[OrchardFeature("PackagingServices")]
|
||||
internal static class AtomExtensions {
|
||||
public static string Atom(this XElement entry, string localName) {
|
||||
var element = entry.Element(AtomXName(localName));
|
||||
XElement element = entry.Element(AtomXName(localName));
|
||||
return element != null ? element.Value : null;
|
||||
}
|
||||
|
@@ -1,7 +1,8 @@
|
||||
using System.IO;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
public interface IPackageBuilder : IDependency {
|
||||
Stream BuildPackage(ExtensionDescriptor extensionDescriptor);
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Orchard.Environment.Extensions;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
public class PackageInfo {
|
||||
public string ExtensionName { get; set; }
|
||||
public string ExtensionVersion { get; set; }
|
@@ -1,6 +1,6 @@
|
||||
using System.IO;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
public interface IPackageManager : IDependency {
|
||||
PackageData Harvest(string extensionName);
|
||||
PackageData Download(string feedItemId);
|
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
public interface IPackagingSourceManager : IDependency {
|
||||
IEnumerable<PackagingSource> GetSources();
|
||||
void AddSource(PackagingSource source);
|
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Packaging;
|
||||
using System.Linq;
|
||||
@@ -9,7 +10,8 @@ using Orchard.Environment.Extensions;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
using Orchard.FileSystems.WebSite;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
[OrchardFeature("PackagingServices")]
|
||||
public class PackageBuilder : IPackageBuilder {
|
||||
private readonly IExtensionManager _extensionManager;
|
||||
private readonly IWebSiteFolder _webSiteFolder;
|
||||
@@ -19,16 +21,7 @@ namespace Orchard.Packaging {
|
||||
_webSiteFolder = webSiteFolder;
|
||||
}
|
||||
|
||||
class CreateContext {
|
||||
public Stream Stream { get; set; }
|
||||
public Package Package { get; set; }
|
||||
|
||||
public IWebSiteFolder SourceFolder { get; set; }
|
||||
public string SourcePath { get; set; }
|
||||
public string TargetPath { get; set; }
|
||||
|
||||
public XDocument Project { get; set; }
|
||||
}
|
||||
#region IPackageBuilder Members
|
||||
|
||||
public Stream BuildPackage(ExtensionDescriptor extensionDescriptor) {
|
||||
var context = new CreateContext();
|
||||
@@ -37,7 +30,7 @@ namespace Orchard.Packaging {
|
||||
EstablishPaths(context, _webSiteFolder, extensionDescriptor.Location, extensionDescriptor.Name);
|
||||
SetCoreProperties(context, extensionDescriptor);
|
||||
|
||||
var projectFile = extensionDescriptor.Name + ".csproj";
|
||||
string projectFile = extensionDescriptor.Name + ".csproj";
|
||||
if (LoadProject(context, projectFile)) {
|
||||
EmbedVirtualFile(context, projectFile, MediaTypeNames.Text.Xml);
|
||||
EmbedProjectFiles(context, "Compile", "Content", "None", "EmbeddedResource");
|
||||
@@ -48,14 +41,17 @@ namespace Orchard.Packaging {
|
||||
EndPackage(context);
|
||||
}
|
||||
|
||||
if (context.Stream.CanSeek)
|
||||
if (context.Stream.CanSeek) {
|
||||
context.Stream.Seek(0, SeekOrigin.Begin);
|
||||
}
|
||||
|
||||
return context.Stream;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void SetCoreProperties(CreateContext context, ExtensionDescriptor extensionDescriptor) {
|
||||
var properties = context.Package.PackageProperties;
|
||||
PackageProperties properties = context.Package.PackageProperties;
|
||||
properties.Title = extensionDescriptor.DisplayName ?? extensionDescriptor.Name;
|
||||
//properties.Subject = "";
|
||||
properties.Creator = extensionDescriptor.Author;
|
||||
@@ -76,16 +72,16 @@ namespace Orchard.Packaging {
|
||||
|
||||
|
||||
private void EmbedProjectFiles(CreateContext context, params string[] itemGroupTypes) {
|
||||
var itemGroups = context.Project
|
||||
IEnumerable<XElement> itemGroups = context.Project
|
||||
.Elements(Ns("Project"))
|
||||
.Elements(Ns("ItemGroup"));
|
||||
|
||||
foreach (var itemGroupType in itemGroupTypes) {
|
||||
var includePaths = itemGroups
|
||||
foreach (string itemGroupType in itemGroupTypes) {
|
||||
IEnumerable<string> includePaths = itemGroups
|
||||
.Elements(Ns(itemGroupType))
|
||||
.Attributes("Include")
|
||||
.Select(x => x.Value);
|
||||
foreach (var includePath in includePaths) {
|
||||
foreach (string includePath in includePaths) {
|
||||
EmbedVirtualFile(context, includePath, MediaTypeNames.Application.Octet);
|
||||
}
|
||||
}
|
||||
@@ -104,14 +100,13 @@ namespace Orchard.Packaging {
|
||||
|
||||
foreach (var entry in entries) {
|
||||
var assemblyName = new AssemblyName(entry.Include.Value);
|
||||
var hintPath = entry.HintPath != null ? entry.HintPath.Value : null;
|
||||
string hintPath = entry.HintPath != null ? entry.HintPath.Value : null;
|
||||
|
||||
var virtualPath = "bin/" + assemblyName.Name + ".dll";
|
||||
string virtualPath = "bin/" + assemblyName.Name + ".dll";
|
||||
if (context.SourceFolder.FileExists(context.SourcePath + virtualPath)) {
|
||||
EmbedVirtualFile(context, virtualPath, MediaTypeNames.Application.Octet);
|
||||
}
|
||||
else if (hintPath != null) {
|
||||
}
|
||||
else if (hintPath != null) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,19 +115,19 @@ namespace Orchard.Packaging {
|
||||
}
|
||||
|
||||
|
||||
static void BeginPackage(CreateContext context) {
|
||||
private static void BeginPackage(CreateContext context) {
|
||||
context.Stream = new MemoryStream();
|
||||
context.Package = Package.Open(context.Stream, FileMode.Create, FileAccess.ReadWrite);
|
||||
}
|
||||
|
||||
static void EstablishPaths(CreateContext context, IWebSiteFolder webSiteFolder, string locationPath, string moduleName) {
|
||||
private static void EstablishPaths(CreateContext context, IWebSiteFolder webSiteFolder, string locationPath, string moduleName) {
|
||||
context.SourceFolder = webSiteFolder;
|
||||
context.SourcePath = "~/Modules/" + moduleName + "/";
|
||||
context.TargetPath = "\\" + moduleName + "\\";
|
||||
}
|
||||
|
||||
static bool LoadProject(CreateContext context, string relativePath) {
|
||||
var virtualPath = context.SourcePath + relativePath;
|
||||
private static bool LoadProject(CreateContext context, string relativePath) {
|
||||
string virtualPath = context.SourcePath + relativePath;
|
||||
if (context.SourceFolder.FileExists(virtualPath)) {
|
||||
context.Project = XDocument.Parse(context.SourceFolder.ReadFile(context.SourcePath + relativePath));
|
||||
return true;
|
||||
@@ -140,17 +135,32 @@ namespace Orchard.Packaging {
|
||||
return false;
|
||||
}
|
||||
|
||||
static Uri EmbedVirtualFile(CreateContext context, string relativePath, string contentType) {
|
||||
var partUri = PackUriHelper.CreatePartUri(new Uri(context.TargetPath + relativePath, UriKind.Relative));
|
||||
var packagePart = context.Package.CreatePart(partUri, contentType);
|
||||
using (var stream = packagePart.GetStream(FileMode.Create, FileAccess.Write)) {
|
||||
context.SourceFolder.CopyFileTo(context.SourcePath + relativePath, stream, true/*actualContent*/);
|
||||
private static Uri EmbedVirtualFile(CreateContext context, string relativePath, string contentType) {
|
||||
Uri partUri = PackUriHelper.CreatePartUri(new Uri(context.TargetPath + relativePath, UriKind.Relative));
|
||||
PackagePart packagePart = context.Package.CreatePart(partUri, contentType);
|
||||
using (Stream stream = packagePart.GetStream(FileMode.Create, FileAccess.Write)) {
|
||||
context.SourceFolder.CopyFileTo(context.SourcePath + relativePath, stream, true /*actualContent*/);
|
||||
}
|
||||
return partUri;
|
||||
}
|
||||
|
||||
static void EndPackage(CreateContext context) {
|
||||
private static void EndPackage(CreateContext context) {
|
||||
context.Package.Close();
|
||||
}
|
||||
|
||||
#region Nested type: CreateContext
|
||||
|
||||
private class CreateContext {
|
||||
public Stream Stream { get; set; }
|
||||
public Package Package { get; set; }
|
||||
|
||||
public IWebSiteFolder SourceFolder { get; set; }
|
||||
public string SourcePath { get; set; }
|
||||
public string TargetPath { get; set; }
|
||||
|
||||
public XDocument Project { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
using System.IO;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
public class PackageData {
|
||||
public string ExtensionName { get; set; }
|
||||
public string ExtensionVersion { get; set; }
|
@@ -1,13 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Packaging;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Xml.Linq;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.FileSystems.VirtualPath;
|
||||
using Orchard.Localization;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
[OrchardFeature("PackagingServices")]
|
||||
public class PackageExpander : IPackageExpander {
|
||||
private const string ContentTypePrefix = "Orchard ";
|
||||
private readonly IVirtualPathProvider _virtualPathProvider;
|
||||
@@ -20,20 +23,7 @@ namespace Orchard.Packaging {
|
||||
|
||||
public Localizer T { get; set; }
|
||||
|
||||
class ExpandContext {
|
||||
public Stream Stream { get; set; }
|
||||
public Package Package { get; set; }
|
||||
|
||||
public string ExtensionName { get; set; }
|
||||
public string ExtensionVersion { get; set; }
|
||||
public string ExtensionType { get; set; }
|
||||
|
||||
public string TargetPath { get; set; }
|
||||
|
||||
public string SourcePath { get; set; }
|
||||
|
||||
public XDocument Project { get; set; }
|
||||
}
|
||||
#region IPackageExpander Members
|
||||
|
||||
public PackageInfo ExpandPackage(Stream packageStream) {
|
||||
var context = new ExpandContext();
|
||||
@@ -42,7 +32,7 @@ namespace Orchard.Packaging {
|
||||
GetCoreProperties(context);
|
||||
EstablishPaths(context, _virtualPathProvider);
|
||||
|
||||
var projectFile = context.ExtensionName + ".csproj";
|
||||
string projectFile = context.ExtensionName + ".csproj";
|
||||
if (LoadProject(context, projectFile)) {
|
||||
ExtractFile(context, projectFile);
|
||||
ExtractProjectFiles(context, "Compile", "Content", "None", "EmbeddedResource");
|
||||
@@ -61,32 +51,35 @@ namespace Orchard.Packaging {
|
||||
};
|
||||
}
|
||||
|
||||
private void ExtractFile(ExpandContext context, string relativePath) {
|
||||
var partUri = PackUriHelper.CreatePartUri(new Uri(context.SourcePath + relativePath, UriKind.Relative));
|
||||
var packagePart = context.Package.GetPart(partUri);
|
||||
using (var packageStream = packagePart.GetStream(FileMode.Open, FileAccess.Read)) {
|
||||
var filePath = _virtualPathProvider.Combine(context.TargetPath, relativePath);
|
||||
var folderPath = _virtualPathProvider.GetDirectoryName(filePath);
|
||||
if (!_virtualPathProvider.DirectoryExists(folderPath))
|
||||
_virtualPathProvider.CreateDirectory(folderPath);
|
||||
#endregion
|
||||
|
||||
using (var fileStream = _virtualPathProvider.CreateFile(filePath)) {
|
||||
private void ExtractFile(ExpandContext context, string relativePath) {
|
||||
Uri partUri = PackUriHelper.CreatePartUri(new Uri(context.SourcePath + relativePath, UriKind.Relative));
|
||||
PackagePart packagePart = context.Package.GetPart(partUri);
|
||||
using (Stream packageStream = packagePart.GetStream(FileMode.Open, FileAccess.Read)) {
|
||||
string filePath = _virtualPathProvider.Combine(context.TargetPath, relativePath);
|
||||
string folderPath = _virtualPathProvider.GetDirectoryName(filePath);
|
||||
if (!_virtualPathProvider.DirectoryExists(folderPath)) {
|
||||
_virtualPathProvider.CreateDirectory(folderPath);
|
||||
}
|
||||
|
||||
using (Stream fileStream = _virtualPathProvider.CreateFile(filePath)) {
|
||||
packageStream.CopyTo(fileStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ExtractProjectFiles(ExpandContext context, params string[] itemGroupTypes) {
|
||||
var itemGroups = context.Project
|
||||
IEnumerable<XElement> itemGroups = context.Project
|
||||
.Elements(Ns("Project"))
|
||||
.Elements(Ns("ItemGroup"));
|
||||
|
||||
foreach (var itemGroupType in itemGroupTypes) {
|
||||
var includePaths = itemGroups
|
||||
foreach (string itemGroupType in itemGroupTypes) {
|
||||
IEnumerable<string> includePaths = itemGroups
|
||||
.Elements(Ns(itemGroupType))
|
||||
.Attributes("Include")
|
||||
.Select(x => x.Value);
|
||||
foreach (var includePath in includePaths) {
|
||||
foreach (string includePath in includePaths) {
|
||||
ExtractFile(context, includePath);
|
||||
}
|
||||
}
|
||||
@@ -105,19 +98,18 @@ namespace Orchard.Packaging {
|
||||
|
||||
foreach (var entry in entries) {
|
||||
var assemblyName = new AssemblyName(entry.Include.Value);
|
||||
var hintPath = entry.HintPath != null ? entry.HintPath.Value : null;
|
||||
string hintPath = entry.HintPath != null ? entry.HintPath.Value : null;
|
||||
|
||||
var virtualPath = "bin/" + assemblyName.Name + ".dll";
|
||||
string virtualPath = "bin/" + assemblyName.Name + ".dll";
|
||||
if (PartExists(context, virtualPath)) {
|
||||
ExtractFile(context, virtualPath);
|
||||
}
|
||||
else if (hintPath != null) {
|
||||
}
|
||||
else if (hintPath != null) {}
|
||||
}
|
||||
}
|
||||
|
||||
private bool PartExists(ExpandContext context, string relativePath) {
|
||||
var projectUri = PackUriHelper.CreatePartUri(new Uri(context.SourcePath + relativePath, UriKind.Relative));
|
||||
Uri projectUri = PackUriHelper.CreatePartUri(new Uri(context.SourcePath + relativePath, UriKind.Relative));
|
||||
return context.Package.PartExists(projectUri);
|
||||
}
|
||||
|
||||
@@ -125,12 +117,14 @@ namespace Orchard.Packaging {
|
||||
private XName Ns(string localName) {
|
||||
return XName.Get(localName, "http://schemas.microsoft.com/developer/msbuild/2003");
|
||||
}
|
||||
|
||||
private static bool LoadProject(ExpandContext context, string relativePath) {
|
||||
var projectUri = PackUriHelper.CreatePartUri(new Uri(context.SourcePath + relativePath, UriKind.Relative));
|
||||
if (!context.Package.PartExists(projectUri))
|
||||
Uri projectUri = PackUriHelper.CreatePartUri(new Uri(context.SourcePath + relativePath, UriKind.Relative));
|
||||
if (!context.Package.PartExists(projectUri)) {
|
||||
return false;
|
||||
var part = context.Package.GetPart(projectUri);
|
||||
using (var stream = part.GetStream(FileMode.Open, FileAccess.Read)) {
|
||||
}
|
||||
PackagePart part = context.Package.GetPart(projectUri);
|
||||
using (Stream stream = part.GetStream(FileMode.Open, FileAccess.Read)) {
|
||||
context.Project = XDocument.Load(stream);
|
||||
}
|
||||
return true;
|
||||
@@ -155,9 +149,10 @@ namespace Orchard.Packaging {
|
||||
context.ExtensionName = context.Package.PackageProperties.Identifier;
|
||||
context.ExtensionVersion = context.Package.PackageProperties.Version;
|
||||
|
||||
var contentType = context.Package.PackageProperties.ContentType;
|
||||
if (contentType.StartsWith(ContentTypePrefix))
|
||||
string contentType = context.Package.PackageProperties.ContentType;
|
||||
if (contentType.StartsWith(ContentTypePrefix)) {
|
||||
context.ExtensionType = contentType.Substring(ContentTypePrefix.Length);
|
||||
}
|
||||
}
|
||||
|
||||
private void EstablishPaths(ExpandContext context, IVirtualPathProvider virtualPathProvider) {
|
||||
@@ -173,5 +168,24 @@ namespace Orchard.Packaging {
|
||||
throw new OrchardCoreException(T("Unknown extension type \"{0}\"", context.ExtensionType));
|
||||
}
|
||||
}
|
||||
|
||||
#region Nested type: ExpandContext
|
||||
|
||||
private class ExpandContext {
|
||||
public Stream Stream { get; set; }
|
||||
public Package Package { get; set; }
|
||||
|
||||
public string ExtensionName { get; set; }
|
||||
public string ExtensionVersion { get; set; }
|
||||
public string ExtensionType { get; set; }
|
||||
|
||||
public string TargetPath { get; set; }
|
||||
|
||||
public string SourcePath { get; set; }
|
||||
|
||||
public XDocument Project { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
@@ -3,13 +3,15 @@ using System.IO.Packaging;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
[OrchardFeature("PackagingServices")]
|
||||
public class PackageManager : IPackageManager {
|
||||
private readonly IExtensionManager _extensionManager;
|
||||
private readonly IPackagingSourceManager _packagingSourceManager;
|
||||
private readonly IPackageBuilder _packageBuilder;
|
||||
private readonly IPackageExpander _packageExpander;
|
||||
private readonly IPackagingSourceManager _packagingSourceManager;
|
||||
|
||||
public PackageManager(
|
||||
IExtensionManager extensionManager,
|
||||
@@ -22,10 +24,13 @@ namespace Orchard.Packaging {
|
||||
_packageExpander = packageExpander;
|
||||
}
|
||||
|
||||
#region IPackageManager Members
|
||||
|
||||
public PackageData Harvest(string extensionName) {
|
||||
var extensionDescriptor = _extensionManager.AvailableExtensions().FirstOrDefault(x => x.Name == extensionName);
|
||||
if (extensionDescriptor == null)
|
||||
ExtensionDescriptor extensionDescriptor = _extensionManager.AvailableExtensions().FirstOrDefault(x => x.Name == extensionName);
|
||||
if (extensionDescriptor == null) {
|
||||
return null;
|
||||
}
|
||||
return new PackageData {
|
||||
ExtensionName = extensionDescriptor.Name,
|
||||
ExtensionVersion = extensionDescriptor.Version,
|
||||
@@ -34,11 +39,10 @@ namespace Orchard.Packaging {
|
||||
}
|
||||
|
||||
public void Push(PackageData packageData, string feedUrl) {
|
||||
|
||||
var request = WebRequest.Create(feedUrl);
|
||||
WebRequest request = WebRequest.Create(feedUrl);
|
||||
request.Method = "POST";
|
||||
request.ContentType = "application/x-package";
|
||||
using (var requestStream = request.GetRequestStream()) {
|
||||
using (Stream requestStream = request.GetRequestStream()) {
|
||||
packageData.PackageStream.Seek(0, SeekOrigin.Begin);
|
||||
packageData.PackageStream.CopyTo(requestStream);
|
||||
}
|
||||
@@ -49,13 +53,13 @@ namespace Orchard.Packaging {
|
||||
}
|
||||
|
||||
public PackageData Download(string feedItemId) {
|
||||
var entry = _packagingSourceManager.GetModuleList().Single(x => x.SyndicationItem.Id == feedItemId);
|
||||
var request = WebRequest.Create(entry.PackageStreamUri);
|
||||
using (var response = request.GetResponse()) {
|
||||
using (var responseStream = response.GetResponseStream()) {
|
||||
PackagingEntry entry = _packagingSourceManager.GetModuleList().Single(x => x.SyndicationItem.Id == feedItemId);
|
||||
WebRequest request = WebRequest.Create(entry.PackageStreamUri);
|
||||
using (WebResponse response = request.GetResponse()) {
|
||||
using (Stream responseStream = response.GetResponseStream()) {
|
||||
var stream = new MemoryStream();
|
||||
responseStream.CopyTo(stream);
|
||||
var package = Package.Open(stream);
|
||||
Package package = Package.Open(stream);
|
||||
try {
|
||||
return new PackageData {
|
||||
ExtensionName = package.PackageProperties.Identifier,
|
||||
@@ -73,5 +77,7 @@ namespace Orchard.Packaging {
|
||||
public PackageInfo Install(Stream packageStream) {
|
||||
return _packageExpander.ExpandPackage(packageStream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
using System.ServiceModel.Syndication;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
public class PackagingEntry {
|
||||
public PackagingSource Source { get; set; }
|
||||
public SyndicationFeed SyndicationFeed { get; set; }
|
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
public class PackagingSource {
|
||||
public Guid Id { get; set; }
|
||||
public string FeedUrl { get; set; }
|
@@ -6,43 +6,34 @@ using System.ServiceModel.Syndication;
|
||||
using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
using System.Xml.Serialization;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.FileSystems.AppData;
|
||||
|
||||
namespace Orchard.Packaging {
|
||||
namespace Orchard.Packaging.Services {
|
||||
[OrchardFeature("PackagingServices")]
|
||||
public class PackagingSourceManager : IPackagingSourceManager {
|
||||
private static readonly XmlSerializer _sourceSerializer = new XmlSerializer(typeof (List<PackagingSource>), new XmlRootAttribute("Sources"));
|
||||
private readonly IAppDataFolder _appDataFolder;
|
||||
private static readonly XmlSerializer _sourceSerializer = new XmlSerializer(typeof(List<PackagingSource>), new XmlRootAttribute("Sources"));
|
||||
|
||||
public PackagingSourceManager(IAppDataFolder appDataFolder) {
|
||||
_appDataFolder = appDataFolder;
|
||||
}
|
||||
|
||||
static string GetSourcesPath() {
|
||||
return ".Packaging/Sources.xml";
|
||||
}
|
||||
static string GetFeedCachePath(PackagingSource source) {
|
||||
return ".Packaging/Feed." + source.Id.ToString("n") + ".xml";
|
||||
}
|
||||
#region IPackagingSourceManager Members
|
||||
|
||||
public IEnumerable<PackagingSource> GetSources() {
|
||||
var text = _appDataFolder.ReadFile(GetSourcesPath());
|
||||
if (string.IsNullOrEmpty(text))
|
||||
string text = _appDataFolder.ReadFile(GetSourcesPath());
|
||||
if (string.IsNullOrEmpty(text)) {
|
||||
return Enumerable.Empty<PackagingSource>();
|
||||
}
|
||||
|
||||
var textReader = new StringReader(_appDataFolder.ReadFile(GetSourcesPath()));
|
||||
return (IEnumerable<PackagingSource>)_sourceSerializer.Deserialize(textReader);
|
||||
}
|
||||
|
||||
void SaveSources(IEnumerable<PackagingSource> sources) {
|
||||
var textWriter = new StringWriter();
|
||||
_sourceSerializer.Serialize(textWriter, sources.ToList());
|
||||
|
||||
_appDataFolder.CreateFile(GetSourcesPath(), textWriter.ToString());
|
||||
return (IEnumerable<PackagingSource>) _sourceSerializer.Deserialize(textReader);
|
||||
}
|
||||
|
||||
public void AddSource(PackagingSource source) {
|
||||
UpdateSource(source);
|
||||
SaveSources(GetSources().Concat(new[] { source }));
|
||||
SaveSources(GetSources().Concat(new[] {source}));
|
||||
}
|
||||
|
||||
public void RemoveSource(Guid id) {
|
||||
@@ -50,25 +41,62 @@ namespace Orchard.Packaging {
|
||||
}
|
||||
|
||||
public void UpdateLists() {
|
||||
foreach (var source in GetSources()) {
|
||||
foreach (PackagingSource source in GetSources()) {
|
||||
UpdateSource(source);
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<PackagingEntry> GetModuleList() {
|
||||
IEnumerable<PackagingEntry> packageInfos = GetSources()
|
||||
.SelectMany(
|
||||
source =>
|
||||
Bind(ParseFeed(_appDataFolder.ReadFile(GetFeedCachePath(source))),
|
||||
feed =>
|
||||
feed.Items.SelectMany(
|
||||
item =>
|
||||
Unit(new PackagingEntry {
|
||||
Source = source,
|
||||
SyndicationFeed = feed,
|
||||
SyndicationItem = item,
|
||||
PackageStreamUri = item.Links.Single().GetAbsoluteUri().AbsoluteUri,
|
||||
}))));
|
||||
|
||||
|
||||
return packageInfos.ToArray();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private static string GetSourcesPath() {
|
||||
return ".Packaging/Sources.xml";
|
||||
}
|
||||
|
||||
private static string GetFeedCachePath(PackagingSource source) {
|
||||
return ".Packaging/Feed." + source.Id.ToString("n") + ".xml";
|
||||
}
|
||||
|
||||
private void SaveSources(IEnumerable<PackagingSource> sources) {
|
||||
var textWriter = new StringWriter();
|
||||
_sourceSerializer.Serialize(textWriter, sources.ToList());
|
||||
|
||||
_appDataFolder.CreateFile(GetSourcesPath(), textWriter.ToString());
|
||||
}
|
||||
|
||||
private void UpdateSource(PackagingSource source) {
|
||||
var feed = XDocument.Load(source.FeedUrl, LoadOptions.PreserveWhitespace);
|
||||
XDocument feed = XDocument.Load(source.FeedUrl, LoadOptions.PreserveWhitespace);
|
||||
_appDataFolder.CreateFile(GetFeedCachePath(source), feed.ToString(SaveOptions.DisableFormatting));
|
||||
}
|
||||
|
||||
|
||||
static XName Atom(string localName) {
|
||||
private static XName Atom(string localName) {
|
||||
return AtomExtensions.AtomXName(localName);
|
||||
}
|
||||
|
||||
static IEnumerable<T> Unit<T>(T t) where T : class {
|
||||
return t != null ? new[] { t } : Enumerable.Empty<T>();
|
||||
private static IEnumerable<T> Unit<T>(T t) where T : class {
|
||||
return t != null ? new[] {t} : Enumerable.Empty<T>();
|
||||
}
|
||||
static IEnumerable<T2> Bind<T, T2>(T t, Func<T, IEnumerable<T2>> f) where T : class {
|
||||
|
||||
private static IEnumerable<T2> Bind<T, T2>(T t, Func<T, IEnumerable<T2>> f) where T : class {
|
||||
return Unit(t).SelectMany(f);
|
||||
}
|
||||
|
||||
@@ -77,24 +105,5 @@ namespace Orchard.Packaging {
|
||||
formatter.ReadFrom(XmlReader.Create(new StringReader(content)));
|
||||
return formatter.Feed;
|
||||
}
|
||||
|
||||
public IEnumerable<PackagingEntry> GetModuleList() {
|
||||
var packageInfos = GetSources()
|
||||
.SelectMany(
|
||||
source =>
|
||||
Bind(ParseFeed(_appDataFolder.ReadFile(GetFeedCachePath(source))),
|
||||
feed =>
|
||||
feed.Items.SelectMany(
|
||||
item =>
|
||||
Unit(new PackagingEntry {
|
||||
Source = source,
|
||||
SyndicationFeed = feed,
|
||||
SyndicationItem = item,
|
||||
PackageStreamUri = item.Links.Single().GetAbsoluteUri().AbsoluteUri,
|
||||
}))));
|
||||
|
||||
|
||||
return packageInfos.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,9 +1,9 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
using Orchard.Packaging;
|
||||
using Orchard.Packaging.Services;
|
||||
|
||||
namespace Futures.Modules.Packaging.ViewModels {
|
||||
namespace Orchard.Packaging.ViewModels {
|
||||
public class PackagingHarvestViewModel {
|
||||
public IEnumerable<PackagingSource> Sources { get; set; }
|
||||
public IEnumerable<ExtensionDescriptor> Extensions { get; set; }
|
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Orchard.Packaging;
|
||||
using Orchard.Packaging.Services;
|
||||
|
||||
namespace Futures.Modules.Packaging.ViewModels {
|
||||
namespace Orchard.Packaging.ViewModels {
|
||||
public class PackagingModulesViewModel {
|
||||
public IEnumerable<PackagingEntry> Modules { get; set; }
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Orchard.Packaging;
|
||||
using Orchard.Packaging.Services;
|
||||
|
||||
namespace Futures.Modules.Packaging.ViewModels {
|
||||
namespace Orchard.Packaging.ViewModels {
|
||||
public class PackagingSourcesViewModel {
|
||||
public IEnumerable<PackagingSource> Sources { get; set; }
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Futures.Modules.Packaging.ViewModels.PackagingHarvestViewModel>" %>
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.Packaging.ViewModels.PackagingHarvestViewModel>" %>
|
||||
<h1>
|
||||
<%: Html.TitleForPage(T("Packaging").ToString(), T("Harvest Packages").ToString())%></h1>
|
||||
<%: Html.Partial("_Subnav") %>
|
@@ -1,4 +1,4 @@
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Futures.Modules.Packaging.ViewModels.PackagingModulesViewModel>" %>
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.Packaging.ViewModels.PackagingModulesViewModel>" %>
|
||||
<h1>
|
||||
<%: Html.TitleForPage(T("Packaging").ToString(), T("Browse Packages").ToString())%></h1>
|
||||
<%: Html.Partial("_Subnav") %>
|
@@ -1,4 +1,4 @@
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Futures.Modules.Packaging.ViewModels.PackagingSourcesViewModel>" %>
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.Packaging.ViewModels.PackagingSourcesViewModel>" %>
|
||||
<h1>
|
||||
<%: Html.TitleForPage(T("Packaging").ToString(), T("Edit Sources").ToString())%></h1>
|
||||
<%: Html.Partial("_Subnav") %>
|
@@ -83,6 +83,7 @@ namespace Orchard.Setup.Services {
|
||||
"Orchard.Users",
|
||||
"Orchard.Roles",
|
||||
"TinyMce",
|
||||
"PackagingServices",
|
||||
"Orchard.Modules",
|
||||
"Orchard.Themes",
|
||||
"Orchard.Blogs",
|
||||
|
@@ -73,7 +73,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageIndexReferenceImplem
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene", "Orchard.Web\Modules\Lucene\Lucene.csproj", "{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Futures.Modules.Packaging", "Orchard.Web\Modules\Futures.Modules.Packaging\Futures.Modules.Packaging.csproj", "{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Packaging", "Orchard.Web\Modules\Orchard.Packaging\Orchard.Packaging.csproj", "{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -236,6 +236,7 @@ Global
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
|
||||
@@ -247,6 +248,5 @@ Global
|
||||
{33B1BC8D-E292-4972-A363-22056B207156} = {383DBA32-4A3E-48D1-AAC3-75377A694452}
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B} = {383DBA32-4A3E-48D1-AAC3-75377A694452}
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6} = {E75A4CE4-CAA6-41E4-B951-33ACC60DC77C}
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059} = {E75A4CE4-CAA6-41E4-B951-33ACC60DC77C}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
@@ -105,7 +105,6 @@
|
||||
<Reference Include="System.Runtime.Serialization">
|
||||
<RequiredTargetFramework>3.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Abstractions">
|
||||
@@ -121,7 +120,6 @@
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="Yaml, Version=1.0.3370.39839, Culture=neutral, PublicKeyToken=187a3d240e44a135, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\yaml\Yaml.dll</HintPath>
|
||||
@@ -369,18 +367,6 @@
|
||||
</Compile>
|
||||
<Compile Include="ContentManagement\DataMigrations\FrameworkDataMigration.cs" />
|
||||
<Compile Include="FileSystems\Dependencies\DynamicModuleVirtualPathProvider.cs" />
|
||||
<Compile Include="Packaging\AtomExtensions.cs" />
|
||||
<Compile Include="Packaging\IPackageBuilder.cs" />
|
||||
<Compile Include="Packaging\IPackageExpander.cs" />
|
||||
<Compile Include="Packaging\IPackageManager.cs" />
|
||||
<Compile Include="Packaging\IPackagingSourceManager.cs" />
|
||||
<Compile Include="Packaging\PackageBuilder.cs" />
|
||||
<Compile Include="Packaging\PackageData.cs" />
|
||||
<Compile Include="Packaging\PackagingEntry.cs" />
|
||||
<Compile Include="Packaging\PackageExpander.cs" />
|
||||
<Compile Include="Packaging\PackageManager.cs" />
|
||||
<Compile Include="Packaging\PackagingSource.cs" />
|
||||
<Compile Include="Packaging\PackagingSourceManager.cs" />
|
||||
<Compile Include="Utility\Hash.cs" />
|
||||
<Compile Include="Data\ISessionConfigurationCache.cs" />
|
||||
<Compile Include="Data\Migration\Generator\ISchemaCommandGenerator.cs" />
|
||||
|
Reference in New Issue
Block a user