From 53bddd53d910bff20d554cf8e8f9b870e1ff1bb5 Mon Sep 17 00:00:00 2001 From: Andre Rodrigues Date: Sat, 20 Nov 2010 15:38:56 -0800 Subject: [PATCH] Fixing Widget / Scripting / Framework dependency loading. --HG-- branch : dev --- .../profiling-setup-commands.txt | 2 +- .../Bindings/OrchardSiteFactory.cs | 2 +- .../Scripting/ScriptingTests.cs | 2 +- .../Widgets/RuleEngine/UrlRuleProviderTest.cs | 2 +- .../Widgets/Services/WidgetsServiceTest.cs | 2 -- .../Widgets/WidgetsTests.cs | 4 ++-- .../Orchard.Scripting/Orchard.Scripting.csproj | 2 +- .../Services/IScriptingManager.cs | 2 +- .../Services/IScriptingRuntime.cs | 2 +- ...iptingRuntime.cs => RubyScriptingRuntime.cs} | 8 ++++---- .../Services/ScriptingManager.cs | 7 +++---- .../Orchard.Setup/Services/SetupService.cs | 4 ++-- .../Orchard.Widgets/Drivers/LayerPartDriver.cs | 1 - .../Orchard.Widgets/Filters/WidgetFilter.cs | 2 +- .../Modules/Orchard.Widgets/Module.txt | 2 +- .../Orchard.Widgets/Orchard.Widgets.csproj | 3 +++ .../RuleEngine/AuthenticatedRuleProvider.cs | 2 +- .../RuleEngine/BuiltinRuleProvider.cs | 2 +- .../Orchard.Widgets/RuleEngine/RuleManager.cs | 17 ++++++++--------- .../RuleEngine/UrlRuleProvider.cs | 2 +- .../Orchard.Widgets/Services}/IRuleManager.cs | 2 +- .../Orchard.Widgets/Services}/IRuleProvider.cs | 2 +- .../Orchard.Widgets/Services}/RuleContext.cs | 2 +- .../ShellBuilders/ShellContainerFactory.cs | 3 +-- src/Orchard/Orchard.Framework.csproj | 3 --- 25 files changed, 38 insertions(+), 44 deletions(-) rename src/Orchard.Web/Modules/Orchard.Scripting/Services/{ScriptingRuntime.cs => RubyScriptingRuntime.cs} (85%) rename src/{Orchard/UI/Widgets => Orchard.Web/Modules/Orchard.Widgets/Services}/IRuleManager.cs (68%) rename src/{Orchard/UI/Widgets => Orchard.Web/Modules/Orchard.Widgets/Services}/IRuleProvider.cs (69%) rename src/{Orchard/UI/Widgets => Orchard.Web/Modules/Orchard.Widgets/Services}/RuleContext.cs (79%) diff --git a/src/Orchard.Profile/profiling-setup-commands.txt b/src/Orchard.Profile/profiling-setup-commands.txt index 1e7698edc..a661ac0c5 100644 --- a/src/Orchard.Profile/profiling-setup-commands.txt +++ b/src/Orchard.Profile/profiling-setup-commands.txt @@ -1,3 +1,3 @@ -setup /SiteName:Profiling /AdminUsername:admin /AdminPassword:profiling-secret /DatabaseProvider:SqlCe /EnabledFeatures:Profiling,Orchard.Framework,Routable,Common,Dashboard,Feeds,Orchard.PublishLater,HomePage,Contents,Navigation,Reports,Scheduling,Indexing,Settings,Localization,XmlRpc,Orchard.Users,Orchard.Roles,TinyMce,Orchard.Themes,Orchard.MultiTenancy,Orchard.Blogs,Orchard.Comments,Orchard.Modules,Orchard.Widgets,Orchard.Media,Orchard.Tags,Orchard.Experimental +setup /SiteName:Profiling /AdminUsername:admin /AdminPassword:profiling-secret /DatabaseProvider:SqlCe /EnabledFeatures:Profiling,Orchard.Framework,Routable,Common,Dashboard,Feeds,Orchard.PublishLater,HomePage,Contents,Navigation,Reports,Scheduling,Indexing,Settings,Localization,XmlRpc,Orchard.Users,Orchard.Roles,TinyMce,Orchard.Themes,Orchard.MultiTenancy,Orchard.Blogs,Orchard.Comments,Orchard.Modules,Orchard.Scripting,Orchard.Widgets,Orchard.Media,Orchard.Tags,Orchard.Experimental add profiling data feature disable Orchard.Experimental diff --git a/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs b/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs index 616614621..a28c02932 100644 --- a/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs +++ b/src/Orchard.Specs/Bindings/OrchardSiteFactory.cs @@ -13,7 +13,7 @@ namespace Orchard.Specs.Bindings { var webApp = Binding(); webApp.GivenIHaveACleanSiteWith(TableData( - new { extension = "module", names = "Orchard.Setup, Orchard.Pages, Orchard.Blogs, Orchard.Messaging, Orchard.Modules, Orchard.Packaging, Orchard.PublishLater, Orchard.Themes, Orchard.Widgets, Orchard.Users, Orchard.Roles, Orchard.Comments, Orchard.jQuery, Orchard.Tags, TinyMce" }, + new { extension = "module", names = "Orchard.Setup, Orchard.Pages, Orchard.Blogs, Orchard.Messaging, Orchard.Modules, Orchard.Packaging, Orchard.PublishLater, Orchard.Themes, Orchard.Scripting, Orchard.Widgets, Orchard.Users, Orchard.Roles, Orchard.Comments, Orchard.jQuery, Orchard.Tags, TinyMce" }, new { extension = "core", names = "Common, Dashboard, Feeds, HomePage, Navigation, Contents, Routable, Scheduling, Settings, Shapes, XmlRpc" }, new { extension = "theme", names = "SafeMode, TheAdmin, TheThemeMachine" })); diff --git a/src/Orchard.Tests.Modules/Scripting/ScriptingTests.cs b/src/Orchard.Tests.Modules/Scripting/ScriptingTests.cs index 0ef9cb5e6..b881ef6fa 100644 --- a/src/Orchard.Tests.Modules/Scripting/ScriptingTests.cs +++ b/src/Orchard.Tests.Modules/Scripting/ScriptingTests.cs @@ -20,7 +20,7 @@ namespace Orchard.Tests.Modules.Scripting { [SetUp] public void Init() { var builder = new ContainerBuilder(); - builder.RegisterType().As(); + builder.RegisterType().As(); builder.RegisterType().As(); _container = builder.Build(); _scriptingRuntime = _container.Resolve(); diff --git a/src/Orchard.Tests.Modules/Widgets/RuleEngine/UrlRuleProviderTest.cs b/src/Orchard.Tests.Modules/Widgets/RuleEngine/UrlRuleProviderTest.cs index a1b3f7719..7f0b05e46 100644 --- a/src/Orchard.Tests.Modules/Widgets/RuleEngine/UrlRuleProviderTest.cs +++ b/src/Orchard.Tests.Modules/Widgets/RuleEngine/UrlRuleProviderTest.cs @@ -2,8 +2,8 @@ using NUnit.Framework; using Orchard.Mvc; using Orchard.Tests.Stubs; -using Orchard.UI.Widgets; using Orchard.Widgets.RuleEngine; +using Orchard.Widgets.Services; namespace Orchard.Tests.Modules.Widgets.RuleEngine { [TestFixture] diff --git a/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs b/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs index bc95e5f69..6724654b0 100644 --- a/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs +++ b/src/Orchard.Tests.Modules/Widgets/Services/WidgetsServiceTest.cs @@ -20,8 +20,6 @@ using Orchard.Environment.Extensions.Models; using Orchard.Environment.Features; using Orchard.Security; using Orchard.Tests.Stubs; -using Orchard.Themes; -using Orchard.Themes.Models; using Orchard.UI.Notify; using Orchard.Widgets.Models; using Orchard.Widgets.Services; diff --git a/src/Orchard.Tests.Modules/Widgets/WidgetsTests.cs b/src/Orchard.Tests.Modules/Widgets/WidgetsTests.cs index dd5ac024d..f07b4c2d8 100644 --- a/src/Orchard.Tests.Modules/Widgets/WidgetsTests.cs +++ b/src/Orchard.Tests.Modules/Widgets/WidgetsTests.cs @@ -2,8 +2,8 @@ using Autofac; using NUnit.Framework; using Orchard.Scripting.Services; -using Orchard.UI.Widgets; using Orchard.Widgets.RuleEngine; +using Orchard.Widgets.Services; namespace Orchard.Tests.Modules.Widgets { [TestFixture] @@ -14,7 +14,7 @@ namespace Orchard.Tests.Modules.Widgets { [SetUp] public void Init() { var builder = new ContainerBuilder(); - builder.RegisterType().As(); + builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); diff --git a/src/Orchard.Web/Modules/Orchard.Scripting/Orchard.Scripting.csproj b/src/Orchard.Web/Modules/Orchard.Scripting/Orchard.Scripting.csproj index d5b5d91b6..4dc40b6a4 100644 --- a/src/Orchard.Web/Modules/Orchard.Scripting/Orchard.Scripting.csproj +++ b/src/Orchard.Web/Modules/Orchard.Scripting/Orchard.Scripting.csproj @@ -87,8 +87,8 @@ + - diff --git a/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingManager.cs b/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingManager.cs index 7b8e79153..186c848ca 100644 --- a/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingManager.cs +++ b/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingManager.cs @@ -9,4 +9,4 @@ namespace Orchard.Scripting.Services { void ExecuteFile(string fileName); dynamic ExecuteOperation(Func invoke); } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingRuntime.cs b/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingRuntime.cs index 7772652b7..98f822c53 100644 --- a/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingRuntime.cs +++ b/src/Orchard.Web/Modules/Orchard.Scripting/Services/IScriptingRuntime.cs @@ -6,4 +6,4 @@ namespace Orchard.Scripting.Services { dynamic ExecuteExpression(string expression, ScriptScope scope); void ExecuteFile(string fileName, ScriptScope scope); } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Scripting/Services/ScriptingRuntime.cs b/src/Orchard.Web/Modules/Orchard.Scripting/Services/RubyScriptingRuntime.cs similarity index 85% rename from src/Orchard.Web/Modules/Orchard.Scripting/Services/ScriptingRuntime.cs rename to src/Orchard.Web/Modules/Orchard.Scripting/Services/RubyScriptingRuntime.cs index 85d7632ce..1448ba32f 100644 --- a/src/Orchard.Web/Modules/Orchard.Scripting/Services/ScriptingRuntime.cs +++ b/src/Orchard.Web/Modules/Orchard.Scripting/Services/RubyScriptingRuntime.cs @@ -2,11 +2,11 @@ using Microsoft.Scripting.Hosting; namespace Orchard.Scripting.Services { - public class ScriptingRuntime : IScriptingRuntime { + public class RubyScriptingRuntime : IScriptingRuntime { private readonly LanguageSetup _defaultLanguageSetup; private readonly ScriptRuntime _scriptingRuntime; - public ScriptingRuntime() { + public RubyScriptingRuntime() { _defaultLanguageSetup = Ruby.CreateRubySetup(); var setup = new ScriptRuntimeSetup(); @@ -14,7 +14,7 @@ namespace Orchard.Scripting.Services { _scriptingRuntime = new ScriptRuntime(setup); } - ScriptEngine GetDefaultEngine() { + public ScriptEngine GetDefaultEngine() { return _scriptingRuntime.GetEngineByTypeName(_defaultLanguageSetup.TypeName); } @@ -33,4 +33,4 @@ namespace Orchard.Scripting.Services { engine.ExecuteFile(fileName, scope); } } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Scripting/Services/ScriptingManager.cs b/src/Orchard.Web/Modules/Orchard.Scripting/Services/ScriptingManager.cs index 591a03330..07d148668 100644 --- a/src/Orchard.Web/Modules/Orchard.Scripting/Services/ScriptingManager.cs +++ b/src/Orchard.Web/Modules/Orchard.Scripting/Services/ScriptingManager.cs @@ -4,8 +4,8 @@ using Microsoft.Scripting.Hosting; namespace Orchard.Scripting.Services { public class ScriptingManager : IScriptingManager { private readonly IScriptingRuntime _scriptingRuntime; - private Lazy _scope; - private Lazy _operations; + private readonly Lazy _scope; + private readonly Lazy _operations; public ScriptingManager(IScriptingRuntime scriptingRuntime) { _scriptingRuntime = scriptingRuntime; @@ -32,6 +32,5 @@ namespace Orchard.Scripting.Services { public void ExecuteFile(string fileName) { _scriptingRuntime.ExecuteFile(fileName, _scope.Value); } - } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs index 3d0d20151..fe5d7a55c 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs +++ b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs @@ -69,7 +69,7 @@ namespace Orchard.Setup.Services { string[] hardcoded = { // Framework "Orchard.Framework", - + // Core "Common", "Containers", @@ -98,6 +98,7 @@ namespace Orchard.Setup.Services { "Orchard.Tags", "Orchard.Themes", "Orchard.Users", + "Orchard.Scripting", "Orchard.Widgets", "TinyMce", @@ -108,7 +109,6 @@ namespace Orchard.Setup.Services { context.EnabledFeatures = hardcoded; } - var shellSettings = new ShellSettings(_shellSettings); if (string.IsNullOrEmpty(shellSettings.DataProvider)) { diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Drivers/LayerPartDriver.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Drivers/LayerPartDriver.cs index e4d3c7b5d..7764af83e 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Drivers/LayerPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Drivers/LayerPartDriver.cs @@ -4,7 +4,6 @@ using JetBrains.Annotations; using Orchard.ContentManagement; using Orchard.ContentManagement.Drivers; using Orchard.Localization; -using Orchard.UI.Widgets; using Orchard.Widgets.Models; using Orchard.Widgets.Services; diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs index b971b1659..9b6584ea8 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs @@ -7,8 +7,8 @@ using Orchard.Localization; using Orchard.Logging; using Orchard.Mvc.Filters; using Orchard.UI.Admin; -using Orchard.UI.Widgets; using Orchard.Widgets.Models; +using Orchard.Widgets.Services; namespace Orchard.Widgets.Filters { public class WidgetFilter : FilterProvider, IResultFilter { diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Module.txt b/src/Orchard.Web/Modules/Orchard.Widgets/Module.txt index 14c4125c3..84c3c2392 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Module.txt +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Module.txt @@ -9,4 +9,4 @@ Features: Orchard.Widgets: Description: An implementation of widgets. Category: Widget - Dependencies: Orchard.Scripting \ No newline at end of file + Dependencies: Orchard.Scripting \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj b/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj index 2903ab80d..ae085ddd7 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj @@ -88,7 +88,10 @@ + + + diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/AuthenticatedRuleProvider.cs b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/AuthenticatedRuleProvider.cs index ee4e693df..085f37bbf 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/AuthenticatedRuleProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/AuthenticatedRuleProvider.cs @@ -1,6 +1,6 @@ using System; using Orchard.Security; -using Orchard.UI.Widgets; +using Orchard.Widgets.Services; namespace Orchard.Widgets.RuleEngine { public class AuthenticatedRuleProvider : IRuleProvider { diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs index 3e6ede605..c91ad04b3 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs @@ -1,5 +1,5 @@ using System; -using Orchard.UI.Widgets; +using Orchard.Widgets.Services; namespace Orchard.Widgets.RuleEngine { public class BuiltinRuleProvider : IRuleProvider { diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/RuleManager.cs b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/RuleManager.cs index 4eb0ffd69..e5d0f70f2 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/RuleManager.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/RuleManager.cs @@ -1,8 +1,7 @@ using System.Collections.Generic; using System.Linq; -using Orchard.Scripting; using Orchard.Scripting.Services; -using Orchard.UI.Widgets; +using Orchard.Widgets.Services; namespace Orchard.Widgets.RuleEngine { public class RuleManager : IRuleManager { @@ -17,15 +16,15 @@ namespace Orchard.Widgets.RuleEngine { public bool Matches(string expression) { object execContextType = _scriptingManager.ExecuteExpression(@" class ExecContext - def execute(callbacks, text) - @callbacks = callbacks; - temp = instance_eval(text.to_s); - @callbacks = 0; + def execute(callbacks, text) + @callbacks = callbacks; + temp = instance_eval(text.to_s); + @callbacks = 0; return temp; - end + end - def method_missing(name, *args, &block) - @callbacks.send(name, args, &block); + def method_missing(name, *args, &block) + @callbacks.send(name, args, &block); end end ExecContext diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/UrlRuleProvider.cs b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/UrlRuleProvider.cs index 15c072e43..9f11ba7e9 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/UrlRuleProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/UrlRuleProvider.cs @@ -1,6 +1,6 @@ using System; using Orchard.Mvc; -using Orchard.UI.Widgets; +using Orchard.Widgets.Services; namespace Orchard.Widgets.RuleEngine { public class UrlRuleProvider : IRuleProvider { diff --git a/src/Orchard/UI/Widgets/IRuleManager.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs similarity index 68% rename from src/Orchard/UI/Widgets/IRuleManager.cs rename to src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs index af3ae42a3..706e549bb 100644 --- a/src/Orchard/UI/Widgets/IRuleManager.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs @@ -1,4 +1,4 @@ -namespace Orchard.UI.Widgets { +namespace Orchard.Widgets.Services { public interface IRuleManager : IDependency { bool Matches(string expression); } diff --git a/src/Orchard/UI/Widgets/IRuleProvider.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs similarity index 69% rename from src/Orchard/UI/Widgets/IRuleProvider.cs rename to src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs index 8a8b33dde..b85700271 100644 --- a/src/Orchard/UI/Widgets/IRuleProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs @@ -1,4 +1,4 @@ -namespace Orchard.UI.Widgets { +namespace Orchard.Widgets.Services { public interface IRuleProvider : IDependency { void Process(RuleContext ruleContext); } diff --git a/src/Orchard/UI/Widgets/RuleContext.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs similarity index 79% rename from src/Orchard/UI/Widgets/RuleContext.cs rename to src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs index 5b744a5fd..dfac56841 100644 --- a/src/Orchard/UI/Widgets/RuleContext.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs @@ -1,4 +1,4 @@ -namespace Orchard.UI.Widgets { +namespace Orchard.Widgets.Services { public class RuleContext { public string FunctionName { get; set; } public object[] Arguments { get; set; } diff --git a/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs b/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs index c189ced00..4a64be93d 100644 --- a/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs +++ b/src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs @@ -8,7 +8,6 @@ using Autofac.Builder; using Autofac.Configuration; using Autofac.Core; using Autofac.Features.Indexed; -using Autofac.Integration.Web.Mvc; using Orchard.Environment.AutofacUtil.DynamicProxy2; using Orchard.Environment.Configuration; using Orchard.Environment.ShellBuilders.Models; @@ -123,4 +122,4 @@ namespace Orchard.Environment.ShellBuilders { .WithMetadata("Feature", item.Feature); } } -} +} \ No newline at end of file diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index 9a4a502a1..63c7f1798 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -180,9 +180,6 @@ - - -