diff --git a/build/NuSpecs/tools/Web.config.install.xdt b/build/NuSpecs/tools/Web.config.install.xdt index 2b79f95c70..f118fa8c3a 100644 --- a/build/NuSpecs/tools/Web.config.install.xdt +++ b/build/NuSpecs/tools/Web.config.install.xdt @@ -5,9 +5,9 @@ -
+
-
+
diff --git a/src/Umbraco.Abstractions/Properties/AssemblyInfo.cs b/src/Umbraco.Abstractions/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..6d5520f975 --- /dev/null +++ b/src/Umbraco.Abstractions/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: ComVisible(false)] +[assembly: Guid("DA322714-FB89-4943-92BD-BB122B82F66B")] + +// Umbraco Cms +[assembly: InternalsVisibleTo("Umbraco.Web")] +[assembly: InternalsVisibleTo("Umbraco.Web.UI")] +[assembly: InternalsVisibleTo("Umbraco.Examine")] +[assembly: InternalsVisibleTo("Umbraco.ModelsBuilder.Embedded")] + +[assembly: InternalsVisibleTo("Umbraco.Tests")] +[assembly: InternalsVisibleTo("Umbraco.Tests.Benchmarks")] + +// Allow this to be mocked in our unit tests +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] + +// Umbraco Deploy +[assembly: InternalsVisibleTo("Umbraco.Deploy")] +[assembly: InternalsVisibleTo("Umbraco.Deploy.UI")] +[assembly: InternalsVisibleTo("Umbraco.Deploy.Cloud")] + +// Umbraco Forms +[assembly: InternalsVisibleTo("Umbraco.Forms.Core")] +[assembly: InternalsVisibleTo("Umbraco.Forms.Core.Providers")] +[assembly: InternalsVisibleTo("Umbraco.Forms.Web")] + +// Umbraco Headless +[assembly: InternalsVisibleTo("Umbraco.Cloud.Headless")] + +// code analysis +// IDE1006 is broken, wants _value syntax for consts, etc - and it's even confusing ppl at MS, kill it +[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "~_~")] diff --git a/src/Umbraco.Abstractions/Umbraco.Abstractions.csproj b/src/Umbraco.Abstractions/Umbraco.Abstractions.csproj index a5e5a94520..1b52570acf 100644 --- a/src/Umbraco.Abstractions/Umbraco.Abstractions.csproj +++ b/src/Umbraco.Abstractions/Umbraco.Abstractions.csproj @@ -4,6 +4,10 @@ netstandard2.0 7.3 Umbraco.Core + 9.0.0 + 9.0.0 + 9.0.0 + Umbraco CMS diff --git a/src/Umbraco.Core/Configuration/CaseInsensitiveEnumConfigConverter.cs b/src/Umbraco.Configuration/CaseInsensitiveEnumConfigConverter.cs similarity index 100% rename from src/Umbraco.Core/Configuration/CaseInsensitiveEnumConfigConverter.cs rename to src/Umbraco.Configuration/CaseInsensitiveEnumConfigConverter.cs diff --git a/src/Umbraco.Core/Configuration/CommaDelimitedConfigurationElement.cs b/src/Umbraco.Configuration/CommaDelimitedConfigurationElement.cs similarity index 93% rename from src/Umbraco.Core/Configuration/CommaDelimitedConfigurationElement.cs rename to src/Umbraco.Configuration/CommaDelimitedConfigurationElement.cs index 3ced2fab46..00dde5f206 100644 --- a/src/Umbraco.Core/Configuration/CommaDelimitedConfigurationElement.cs +++ b/src/Umbraco.Configuration/CommaDelimitedConfigurationElement.cs @@ -8,7 +8,7 @@ namespace Umbraco.Core.Configuration /// /// Defines a configuration section that contains inner text that is comma delimited /// - internal class CommaDelimitedConfigurationElement : InnerTextConfigurationElement, IEnumerable + public class CommaDelimitedConfigurationElement : InnerTextConfigurationElement, IEnumerable { public override CommaDelimitedStringCollection Value { diff --git a/src/Umbraco.Core/Configuration/HealthChecks/DisabledHealthCheckElement.cs b/src/Umbraco.Configuration/HealthChecks/DisabledHealthCheckElement.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/DisabledHealthCheckElement.cs rename to src/Umbraco.Configuration/HealthChecks/DisabledHealthCheckElement.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/DisabledHealthChecksElementCollection.cs b/src/Umbraco.Configuration/HealthChecks/DisabledHealthChecksElementCollection.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/DisabledHealthChecksElementCollection.cs rename to src/Umbraco.Configuration/HealthChecks/DisabledHealthChecksElementCollection.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/HealthCheckNotificationSettingsElement.cs b/src/Umbraco.Configuration/HealthChecks/HealthCheckNotificationSettingsElement.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/HealthCheckNotificationSettingsElement.cs rename to src/Umbraco.Configuration/HealthChecks/HealthCheckNotificationSettingsElement.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/HealthCheckNotificationVerbosity.cs b/src/Umbraco.Configuration/HealthChecks/HealthCheckNotificationVerbosity.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/HealthCheckNotificationVerbosity.cs rename to src/Umbraco.Configuration/HealthChecks/HealthCheckNotificationVerbosity.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/HealthChecksSection.cs b/src/Umbraco.Configuration/HealthChecks/HealthChecksSection.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/HealthChecksSection.cs rename to src/Umbraco.Configuration/HealthChecks/HealthChecksSection.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/IDisabledHealthCheck.cs b/src/Umbraco.Configuration/HealthChecks/IDisabledHealthCheck.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/IDisabledHealthCheck.cs rename to src/Umbraco.Configuration/HealthChecks/IDisabledHealthCheck.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/IHealthCheckNotificationSettings.cs b/src/Umbraco.Configuration/HealthChecks/IHealthCheckNotificationSettings.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/IHealthCheckNotificationSettings.cs rename to src/Umbraco.Configuration/HealthChecks/IHealthCheckNotificationSettings.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/IHealthChecks.cs b/src/Umbraco.Configuration/HealthChecks/IHealthChecks.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/IHealthChecks.cs rename to src/Umbraco.Configuration/HealthChecks/IHealthChecks.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/INotificationMethod.cs b/src/Umbraco.Configuration/HealthChecks/INotificationMethod.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/INotificationMethod.cs rename to src/Umbraco.Configuration/HealthChecks/INotificationMethod.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/INotificationMethodSettings.cs b/src/Umbraco.Configuration/HealthChecks/INotificationMethodSettings.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/INotificationMethodSettings.cs rename to src/Umbraco.Configuration/HealthChecks/INotificationMethodSettings.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodElement.cs b/src/Umbraco.Configuration/HealthChecks/NotificationMethodElement.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodElement.cs rename to src/Umbraco.Configuration/HealthChecks/NotificationMethodElement.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodSettingsElement.cs b/src/Umbraco.Configuration/HealthChecks/NotificationMethodSettingsElement.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodSettingsElement.cs rename to src/Umbraco.Configuration/HealthChecks/NotificationMethodSettingsElement.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodSettingsElementCollection.cs b/src/Umbraco.Configuration/HealthChecks/NotificationMethodSettingsElementCollection.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodSettingsElementCollection.cs rename to src/Umbraco.Configuration/HealthChecks/NotificationMethodSettingsElementCollection.cs diff --git a/src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodsElementCollection.cs b/src/Umbraco.Configuration/HealthChecks/NotificationMethodsElementCollection.cs similarity index 100% rename from src/Umbraco.Core/Configuration/HealthChecks/NotificationMethodsElementCollection.cs rename to src/Umbraco.Configuration/HealthChecks/NotificationMethodsElementCollection.cs diff --git a/src/Umbraco.Core/Configuration/OptionalCommaDelimitedConfigurationElement.cs b/src/Umbraco.Configuration/OptionalCommaDelimitedConfigurationElement.cs similarity index 92% rename from src/Umbraco.Core/Configuration/OptionalCommaDelimitedConfigurationElement.cs rename to src/Umbraco.Configuration/OptionalCommaDelimitedConfigurationElement.cs index 610067d2db..b6771f98b0 100644 --- a/src/Umbraco.Core/Configuration/OptionalCommaDelimitedConfigurationElement.cs +++ b/src/Umbraco.Configuration/OptionalCommaDelimitedConfigurationElement.cs @@ -6,7 +6,7 @@ namespace Umbraco.Core.Configuration /// /// Used for specifying default values for comma delimited config /// - internal class OptionalCommaDelimitedConfigurationElement : CommaDelimitedConfigurationElement + public class OptionalCommaDelimitedConfigurationElement : CommaDelimitedConfigurationElement { private readonly CommaDelimitedConfigurationElement _wrapped; private readonly string[] _defaultValue; diff --git a/src/Umbraco.Core/Configuration/OptionalInnerTextConfigurationElement.cs b/src/Umbraco.Configuration/OptionalInnerTextConfigurationElement.cs similarity index 88% rename from src/Umbraco.Core/Configuration/OptionalInnerTextConfigurationElement.cs rename to src/Umbraco.Configuration/OptionalInnerTextConfigurationElement.cs index b15e33019d..08dffd5975 100644 --- a/src/Umbraco.Core/Configuration/OptionalInnerTextConfigurationElement.cs +++ b/src/Umbraco.Configuration/OptionalInnerTextConfigurationElement.cs @@ -4,7 +4,7 @@ /// This is used to supply optional/default values when using InnerTextConfigurationElement /// /// - internal class OptionalInnerTextConfigurationElement : InnerTextConfigurationElement + public class OptionalInnerTextConfigurationElement : InnerTextConfigurationElement { private readonly InnerTextConfigurationElement _wrapped; private readonly T _defaultValue; diff --git a/src/Umbraco.Configuration/Properties/AssemblyInfo.cs b/src/Umbraco.Configuration/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..d10dd929da --- /dev/null +++ b/src/Umbraco.Configuration/Properties/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Umbraco Cms +[assembly: InternalsVisibleTo("Umbraco.Tests")] +[assembly: InternalsVisibleTo("Umbraco.Tests.Benchmarks")] + +// Allow this to be mocked in our unit tests +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] diff --git a/src/Umbraco.Core/Configuration/RawXmlConfigurationElement.cs b/src/Umbraco.Configuration/RawXmlConfigurationElement.cs similarity index 90% rename from src/Umbraco.Core/Configuration/RawXmlConfigurationElement.cs rename to src/Umbraco.Configuration/RawXmlConfigurationElement.cs index 5bc6ad3d32..d7f0ed0332 100644 --- a/src/Umbraco.Core/Configuration/RawXmlConfigurationElement.cs +++ b/src/Umbraco.Configuration/RawXmlConfigurationElement.cs @@ -8,7 +8,7 @@ namespace Umbraco.Core.Configuration /// A configuration section that simply exposes the entire raw xml of the section itself which inheritors can use /// to do with as they please. /// - internal abstract class RawXmlConfigurationElement : ConfigurationElement + public abstract class RawXmlConfigurationElement : ConfigurationElement { protected RawXmlConfigurationElement() { diff --git a/src/Umbraco.Configuration/Umbraco.Configuration.csproj b/src/Umbraco.Configuration/Umbraco.Configuration.csproj index 15c6ac263f..04f8eb14d3 100644 --- a/src/Umbraco.Configuration/Umbraco.Configuration.csproj +++ b/src/Umbraco.Configuration/Umbraco.Configuration.csproj @@ -18,6 +18,8 @@ <_UnmanagedRegistrationCache Remove="obj\Umbraco.Configuration.csproj.UnmanagedRegistration.cache" /> + <_UnmanagedRegistrationCache Remove="obj\Umbraco.Configuration.csproj.UnmanagedRegistration.cache" /> + <_UnmanagedRegistrationCache Remove="obj\Umbraco.Configuration.csproj.UnmanagedRegistration.cache" /> @@ -28,4 +30,10 @@ + + + C:\Users\Bjarke\AppData\Local\Temp\Temporary ASP.NET Files\root\408beac9\de517473\assembly\dl3\77bf709f\48ac59e4_3595d501\Umbraco.Core.dll + + + diff --git a/src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs b/src/Umbraco.Configuration/UmbracoConfigurationSection.cs similarity index 100% rename from src/Umbraco.Core/Configuration/UmbracoConfigurationSection.cs rename to src/Umbraco.Configuration/UmbracoConfigurationSection.cs diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/BackOfficeElement.cs b/src/Umbraco.Configuration/UmbracoSettings/BackOfficeElement.cs similarity index 76% rename from src/Umbraco.Core/Configuration/UmbracoSettings/BackOfficeElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/BackOfficeElement.cs index 79bff51d05..1a939d4c9e 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/BackOfficeElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/BackOfficeElement.cs @@ -2,7 +2,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class BackOfficeElement : UmbracoConfigurationElement, IBackOfficeSection + public class BackOfficeElement : UmbracoConfigurationElement, IBackOfficeSection { [ConfigurationProperty("tours")] internal TourConfigElement Tours => (TourConfigElement)this["tours"]; diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/CharCollection.cs b/src/Umbraco.Configuration/UmbracoSettings/CharCollection.cs similarity index 90% rename from src/Umbraco.Core/Configuration/UmbracoSettings/CharCollection.cs rename to src/Umbraco.Configuration/UmbracoSettings/CharCollection.cs index 7b62fcc123..3926e700c1 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/CharCollection.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/CharCollection.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class CharCollection : ConfigurationElementCollection, IEnumerable + public class CharCollection : ConfigurationElementCollection, IEnumerable { internal void Add(CharElement c) { diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/CharElement.cs b/src/Umbraco.Configuration/UmbracoSettings/CharElement.cs similarity index 87% rename from src/Umbraco.Core/Configuration/UmbracoSettings/CharElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/CharElement.cs index 1ff63ac017..2971228d9e 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/CharElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/CharElement.cs @@ -1,6 +1,6 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class CharElement : InnerTextConfigurationElement, IChar + public class CharElement : InnerTextConfigurationElement, IChar { private string _char; private string _replacement; diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentElement.cs similarity index 98% rename from src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/ContentElement.cs index 77ad7df0dc..1e1ecb4d0c 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/ContentElement.cs @@ -4,7 +4,7 @@ using Umbraco.Core.Macros; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentElement : UmbracoConfigurationElement, IContentSection + public class ContentElement : UmbracoConfigurationElement, IContentSection { private const string DefaultPreviewBadge = @"
Preview modeClick to end
"; @@ -33,7 +33,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("allowedUploadFiles")] internal CommaDelimitedConfigurationElement AllowedUploadFiles => GetOptionalDelimitedElement("allowedUploadFiles", new string[0]); - + [ConfigurationProperty("showDeprecatedPropertyEditors")] internal InnerTextConfigurationElement ShowDeprecatedPropertyEditors => GetOptionalTextElement("showDeprecatedPropertyEditors", false); diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentError404Collection.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentError404Collection.cs similarity index 89% rename from src/Umbraco.Core/Configuration/UmbracoSettings/ContentError404Collection.cs rename to src/Umbraco.Configuration/UmbracoSettings/ContentError404Collection.cs index bdbcb27b4c..da146b14ec 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentError404Collection.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/ContentError404Collection.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentError404Collection : ConfigurationElementCollection, IEnumerable + public class ContentError404Collection : ConfigurationElementCollection, IEnumerable { internal void Add(ContentErrorPageElement element) { diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorPageElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentErrorPageElement.cs similarity index 92% rename from src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorPageElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/ContentErrorPageElement.cs index 96cea71a8e..8f5a5b3259 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorPageElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/ContentErrorPageElement.cs @@ -3,7 +3,7 @@ using System.Xml.Linq; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentErrorPageElement : InnerTextConfigurationElement, IContentErrorPage + public class ContentErrorPageElement : InnerTextConfigurationElement, IContentErrorPage { public ContentErrorPageElement(XElement rawXml) : base(rawXml) diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorsElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentErrorsElement.cs similarity index 95% rename from src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorsElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/ContentErrorsElement.cs index 5b5b54380d..a393267b9d 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentErrorsElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/ContentErrorsElement.cs @@ -3,7 +3,7 @@ using System.Linq; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ContentErrorsElement : RawXmlConfigurationElement + public class ContentErrorsElement : RawXmlConfigurationElement { public IEnumerable Error404Collection diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ContentSectionExtensions.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentSectionExtensions.cs similarity index 100% rename from src/Umbraco.Core/Configuration/UmbracoSettings/ContentSectionExtensions.cs rename to src/Umbraco.Configuration/UmbracoSettings/ContentSectionExtensions.cs diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs b/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs similarity index 88% rename from src/Umbraco.Core/Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs rename to src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs index 0bac9721a3..69680251af 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ImagingAutoFillPropertiesCollection : ConfigurationElementCollection, IEnumerable + public class ImagingAutoFillPropertiesCollection : ConfigurationElementCollection, IEnumerable { protected override ConfigurationElement CreateNewElement() diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs similarity index 93% rename from src/Umbraco.Core/Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs index 9b4c45b5c6..ec3dc43caf 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs @@ -2,7 +2,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class ImagingAutoFillUploadFieldElement : UmbracoConfigurationElement, IImagingAutoFillUploadField + public class ImagingAutoFillUploadFieldElement : UmbracoConfigurationElement, IImagingAutoFillUploadField { /// /// Allow setting internally so we can create a default diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/LoggingElement.cs b/src/Umbraco.Configuration/UmbracoSettings/LoggingElement.cs similarity index 80% rename from src/Umbraco.Core/Configuration/UmbracoSettings/LoggingElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/LoggingElement.cs index 106b6cc134..daa45cf114 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/LoggingElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/LoggingElement.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class LoggingElement : UmbracoConfigurationElement, ILoggingSection + public class LoggingElement : UmbracoConfigurationElement, ILoggingSection { [ConfigurationProperty("maxLogAge")] diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/NotificationsElement.cs b/src/Umbraco.Configuration/UmbracoSettings/NotificationsElement.cs similarity index 86% rename from src/Umbraco.Core/Configuration/UmbracoSettings/NotificationsElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/NotificationsElement.cs index afadff5654..cc76b2cb00 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/NotificationsElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/NotificationsElement.cs @@ -2,7 +2,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class NotificationsElement : UmbracoConfigurationElement + public class NotificationsElement : UmbracoConfigurationElement { [ConfigurationProperty("email")] internal InnerTextConfigurationElement NotificationEmailAddress => (InnerTextConfigurationElement)this["email"]; diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/SecurityElement.cs b/src/Umbraco.Configuration/UmbracoSettings/SecurityElement.cs similarity index 97% rename from src/Umbraco.Core/Configuration/UmbracoSettings/SecurityElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/SecurityElement.cs index d45a3e7d85..42bafe4bd1 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/SecurityElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/SecurityElement.cs @@ -2,7 +2,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class SecurityElement : UmbracoConfigurationElement, ISecuritySection + public class SecurityElement : UmbracoConfigurationElement, ISecuritySection { [ConfigurationProperty("keepUserLoggedIn")] internal InnerTextConfigurationElement KeepUserLoggedIn => GetOptionalTextElement("keepUserLoggedIn", true); diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/TourConfigElement.cs b/src/Umbraco.Configuration/UmbracoSettings/TourConfigElement.cs similarity index 85% rename from src/Umbraco.Core/Configuration/UmbracoSettings/TourConfigElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/TourConfigElement.cs index dab69f3da0..f62d766d76 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/TourConfigElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/TourConfigElement.cs @@ -2,7 +2,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class TourConfigElement : UmbracoConfigurationElement, ITourSection + public class TourConfigElement : UmbracoConfigurationElement, ITourSection { //disabled by default so that upgraders don't get it enabled by default // TODO: we probably just want to disable the initial one from automatically loading ? diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoConfigurationElement.cs b/src/Umbraco.Configuration/UmbracoSettings/UmbracoConfigurationElement.cs similarity index 95% rename from src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoConfigurationElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/UmbracoConfigurationElement.cs index 670f620b15..30cc33a260 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoConfigurationElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/UmbracoConfigurationElement.cs @@ -6,7 +6,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings /// /// Base class with shared helper methods /// - internal class UmbracoConfigurationElement : ConfigurationElement + public class UmbracoConfigurationElement : ConfigurationElement { /// /// Used so the RawElement types are not re-created every time they are accessed diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs b/src/Umbraco.Configuration/UmbracoSettings/UmbracoSettingsSection.cs similarity index 64% rename from src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs rename to src/Umbraco.Configuration/UmbracoSettings/UmbracoSettingsSection.cs index 7cf8096345..bc91dfd48a 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/UmbracoSettingsSection.cs @@ -5,23 +5,23 @@ namespace Umbraco.Core.Configuration.UmbracoSettings public class UmbracoSettingsSection : ConfigurationSection, IUmbracoSettingsSection { [ConfigurationProperty("backOffice")] - internal BackOfficeElement BackOffice => (BackOfficeElement)this["backOffice"]; + public BackOfficeElement BackOffice => (BackOfficeElement)this["backOffice"]; [ConfigurationProperty("content")] - internal ContentElement Content => (ContentElement)this["content"]; + public ContentElement Content => (ContentElement)this["content"]; [ConfigurationProperty("security")] - internal SecurityElement Security => (SecurityElement)this["security"]; + public SecurityElement Security => (SecurityElement)this["security"]; [ConfigurationProperty("requestHandler")] - internal RequestHandlerElement RequestHandler => (RequestHandlerElement)this["requestHandler"]; + public RequestHandlerElement RequestHandler => (RequestHandlerElement)this["requestHandler"]; [ConfigurationProperty("logging")] - internal LoggingElement Logging => (LoggingElement)this["logging"]; + public LoggingElement Logging => (LoggingElement)this["logging"]; [ConfigurationProperty("web.routing")] - internal WebRoutingElement WebRouting => (WebRoutingElement)this["web.routing"]; + public WebRoutingElement WebRouting => (WebRoutingElement)this["web.routing"]; IContentSection IUmbracoSettingsSection.Content => Content; diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/UrlReplacingElement.cs b/src/Umbraco.Configuration/UmbracoSettings/UrlReplacingElement.cs similarity index 92% rename from src/Umbraco.Core/Configuration/UmbracoSettings/UrlReplacingElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/UrlReplacingElement.cs index 3e12d106ff..45fe2c4294 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/UrlReplacingElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/UrlReplacingElement.cs @@ -3,7 +3,7 @@ using System.Configuration; namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class UrlReplacingElement : ConfigurationElement + public class UrlReplacingElement : ConfigurationElement { [ConfigurationProperty("removeDoubleDashes", DefaultValue = true)] internal bool RemoveDoubleDashes => (bool) base["removeDoubleDashes"]; diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/WebRoutingElement.cs b/src/Umbraco.Configuration/UmbracoSettings/WebRoutingElement.cs similarity index 94% rename from src/Umbraco.Core/Configuration/UmbracoSettings/WebRoutingElement.cs rename to src/Umbraco.Configuration/UmbracoSettings/WebRoutingElement.cs index 7b7102f2e7..4c74398e25 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/WebRoutingElement.cs +++ b/src/Umbraco.Configuration/UmbracoSettings/WebRoutingElement.cs @@ -2,7 +2,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings { - internal class WebRoutingElement : ConfigurationElement, IWebRoutingSection + public class WebRoutingElement : ConfigurationElement, IWebRoutingSection { [ConfigurationProperty("trySkipIisCustomErrors", DefaultValue = "false")] public bool TrySkipIisCustomErrors => (bool) base["trySkipIisCustomErrors"]; diff --git a/src/Umbraco.Core/Configuration/UmbracoVersion.cs b/src/Umbraco.Configuration/UmbracoVersion.cs similarity index 98% rename from src/Umbraco.Core/Configuration/UmbracoVersion.cs rename to src/Umbraco.Configuration/UmbracoVersion.cs index 2f615d26b3..d7058fda01 100644 --- a/src/Umbraco.Core/Configuration/UmbracoVersion.cs +++ b/src/Umbraco.Configuration/UmbracoVersion.cs @@ -12,7 +12,7 @@ namespace Umbraco.Core.Configuration { static UmbracoVersion() { - var umbracoCoreAssembly = typeof(UmbracoVersion).Assembly; + var umbracoCoreAssembly = typeof(SemVersion).Assembly; // gets the value indicated by the AssemblyVersion attribute AssemblyVersion = umbracoCoreAssembly.GetName().Version; diff --git a/src/Umbraco.Core/Configuration/ConfigsExtensions.cs b/src/Umbraco.Core/Configuration/ConfigsExtensions.cs new file mode 100644 index 0000000000..4761b14d1e --- /dev/null +++ b/src/Umbraco.Core/Configuration/ConfigsExtensions.cs @@ -0,0 +1,34 @@ +using System.IO; +using Umbraco.Core.Cache; +using Umbraco.Core.Composing; +using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration.Grid; +using Umbraco.Core.Configuration.UmbracoSettings; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; +using Umbraco.Core.Manifest; + +namespace Umbraco.Core +{ + /// + /// Provides extension methods for the class. + /// + public static class ConfigsExtensions + { + + + + public static void AddCoreConfigs(this Configs configs) + { + var configDir = new DirectoryInfo(IOHelper.MapPath(SystemDirectories.Config)); + + // GridConfig depends on runtime caches, manifest parsers... and cannot be available during composition + configs.Add(factory => new GridConfig( + factory.GetInstance(), + factory.GetInstance(), + configDir, + factory.GetInstance(), + factory.GetInstance().Debug)); + } + } +} diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index f80066bef8..a0e50032b2 100755 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -160,8 +160,11 @@ - - + + + + + @@ -261,6 +264,7 @@ + @@ -301,53 +305,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -977,7 +934,6 @@ - @@ -1169,6 +1125,10 @@ {29aa69d9-b597-4395-8d42-43b1263c240a} Umbraco.Abstractions + + {fbe7c065-dac0-4025-a78b-63b24d3ab00b} + Umbraco.Configuration + \ No newline at end of file diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config b/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config index 3b247ecbff..5ac2d56d14 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config @@ -1,10 +1,10 @@  - + -
-
+
+
@@ -13,4 +13,4 @@ - \ No newline at end of file + diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index de76b94ff1..4f4a20d94e 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -107,6 +107,7 @@ + @@ -552,6 +553,10 @@ {29aa69d9-b597-4395-8d42-43b1263c240a} Umbraco.Abstractions + + {fbe7c065-dac0-4025-a78b-63b24d3ab00b} + Umbraco.Configuration + {31785BC3-256C-4613-B2F5-A1B0BDDED8C1} Umbraco.Core diff --git a/src/Umbraco.Web.UI/web.Template.config b/src/Umbraco.Web.UI/web.Template.config index 6d68ea845a..e694afe5ff 100644 --- a/src/Umbraco.Web.UI/web.Template.config +++ b/src/Umbraco.Web.UI/web.Template.config @@ -11,8 +11,8 @@
-
-
+
+
diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index 317786b970..788a6dd737 100755 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -104,6 +104,10 @@ {29aa69d9-b597-4395-8d42-43b1263c240a} Umbraco.Abstractions + + {fbe7c065-dac0-4025-a78b-63b24d3ab00b} + Umbraco.Configuration + {31785bc3-256c-4613-b2f5-a1b0bdded8c1} Umbraco.Core