diff --git a/src/Umbraco.ModelsBuilder.Embedded/ApiVersion.cs b/src/Umbraco.Infrastructure/ModelsBuilder/ApiVersion.cs similarity index 81% rename from src/Umbraco.ModelsBuilder.Embedded/ApiVersion.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/ApiVersion.cs index 22347edd60..aceb512dc4 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/ApiVersion.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/ApiVersion.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Reflection; using Semver; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { /// /// Manages API version handshake between client and server. @@ -14,10 +14,7 @@ namespace Umbraco.ModelsBuilder.Embedded /// /// The currently executing version. /// - internal ApiVersion(SemVersion executingVersion) - { - Version = executingVersion ?? throw new ArgumentNullException(nameof(executingVersion)); - } + internal ApiVersion(SemVersion executingVersion) => Version = executingVersion ?? throw new ArgumentNullException(nameof(executingVersion)); private static SemVersion CurrentAssemblyVersion => SemVersion.Parse(Assembly.GetExecutingAssembly().GetCustomAttribute().InformationalVersion); diff --git a/src/Umbraco.ModelsBuilder.Embedded/Building/Builder.cs b/src/Umbraco.Infrastructure/ModelsBuilder/Building/Builder.cs similarity index 98% rename from src/Umbraco.ModelsBuilder.Embedded/Building/Builder.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/Building/Builder.cs index aa7ab40ba5..ebde20fbbe 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Building/Builder.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/Building/Builder.cs @@ -1,11 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Umbraco.Core; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; -namespace Umbraco.ModelsBuilder.Embedded.Building +namespace Umbraco.Infrastructure.ModelsBuilder.Building { // NOTE // The idea was to have different types of builder, because I wanted to experiment with @@ -30,7 +30,6 @@ namespace Umbraco.ModelsBuilder.Embedded.Building "System.Linq.Expressions", "Umbraco.Core.Models.PublishedContent", "Umbraco.Web.PublishedCache", - "Umbraco.ModelsBuilder.Embedded", "Umbraco.Core" }; diff --git a/src/Umbraco.ModelsBuilder.Embedded/Building/ModelsGenerator.cs b/src/Umbraco.Infrastructure/ModelsBuilder/Building/ModelsGenerator.cs similarity index 95% rename from src/Umbraco.ModelsBuilder.Embedded/Building/ModelsGenerator.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/Building/ModelsGenerator.cs index 9431b0141a..63bda2689c 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Building/ModelsGenerator.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/Building/ModelsGenerator.cs @@ -4,9 +4,8 @@ using Microsoft.Extensions.Options; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Hosting; -using Umbraco.Core.IO; -namespace Umbraco.ModelsBuilder.Embedded.Building +namespace Umbraco.Infrastructure.ModelsBuilder.Building { public class ModelsGenerator { @@ -23,7 +22,7 @@ namespace Umbraco.ModelsBuilder.Embedded.Building _hostingEnvironment = hostingEnvironment; } - internal void GenerateModels() + public void GenerateModels() { var modelsDirectory = _config.ModelsDirectoryAbsolute(_hostingEnvironment); if (!Directory.Exists(modelsDirectory)) diff --git a/src/Umbraco.ModelsBuilder.Embedded/Building/PropertyModel.cs b/src/Umbraco.Infrastructure/ModelsBuilder/Building/PropertyModel.cs similarity index 96% rename from src/Umbraco.ModelsBuilder.Embedded/Building/PropertyModel.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/Building/PropertyModel.cs index af5445b175..de0bc8f395 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Building/PropertyModel.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/Building/PropertyModel.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Collections.Generic; -namespace Umbraco.ModelsBuilder.Embedded.Building +namespace Umbraco.Infrastructure.ModelsBuilder.Building { /// /// Represents a model property. diff --git a/src/Umbraco.ModelsBuilder.Embedded/Building/TextBuilder.cs b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TextBuilder.cs similarity index 99% rename from src/Umbraco.ModelsBuilder.Embedded/Building/TextBuilder.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/Building/TextBuilder.cs index 8328afb822..28e71d7f4b 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Building/TextBuilder.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TextBuilder.cs @@ -1,16 +1,16 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using Umbraco.Core.Configuration.Models; -namespace Umbraco.ModelsBuilder.Embedded.Building +namespace Umbraco.Infrastructure.ModelsBuilder.Building { /// /// Implements a builder that works by writing text. /// - internal class TextBuilder : Builder + public class TextBuilder : Builder { /// /// Initializes a new instance of the class with a list of models to generate diff --git a/src/Umbraco.ModelsBuilder.Embedded/Building/TextHeaderWriter.cs b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TextHeaderWriter.cs similarity index 92% rename from src/Umbraco.ModelsBuilder.Embedded/Building/TextHeaderWriter.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/Building/TextHeaderWriter.cs index 0ffad1c5bc..4c9c81e7aa 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Building/TextHeaderWriter.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TextHeaderWriter.cs @@ -1,6 +1,6 @@ -using System.Text; +using System.Text; -namespace Umbraco.ModelsBuilder.Embedded.Building +namespace Umbraco.Infrastructure.ModelsBuilder.Building { internal static class TextHeaderWriter { diff --git a/src/Umbraco.ModelsBuilder.Embedded/Building/TypeModel.cs b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModel.cs similarity index 99% rename from src/Umbraco.ModelsBuilder.Embedded/Building/TypeModel.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModel.cs index 95356cf3ff..7ded306f60 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Building/TypeModel.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModel.cs @@ -1,9 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Umbraco.Core.Models.PublishedContent; -namespace Umbraco.ModelsBuilder.Embedded.Building +namespace Umbraco.Infrastructure.ModelsBuilder.Building { /// /// Represents a model. diff --git a/src/Umbraco.ModelsBuilder.Embedded/Building/TypeModelHasher.cs b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModelHasher.cs similarity index 93% rename from src/Umbraco.ModelsBuilder.Embedded/Building/TypeModelHasher.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModelHasher.cs index c5b053ca07..ab8043a72b 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/Building/TypeModelHasher.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModelHasher.cs @@ -1,13 +1,11 @@ -using System; using System.Collections.Generic; using System.Linq; -using System.Security.Cryptography; using System.Text; using Umbraco.Core; -namespace Umbraco.ModelsBuilder.Embedded.Building +namespace Umbraco.Infrastructure.ModelsBuilder.Building { - internal class TypeModelHasher + public class TypeModelHasher { public static string Hash(IEnumerable typeModels) { diff --git a/src/Umbraco.Infrastructure/ModelsBuilder/ImplementPropertyTypeAttribute.cs b/src/Umbraco.Infrastructure/ModelsBuilder/ImplementPropertyTypeAttribute.cs new file mode 100644 index 0000000000..6a0d890cce --- /dev/null +++ b/src/Umbraco.Infrastructure/ModelsBuilder/ImplementPropertyTypeAttribute.cs @@ -0,0 +1,16 @@ +using System; + +namespace Umbraco.Infrastructure.ModelsBuilder +{ + /// + /// Indicates that a property implements a given property alias. + /// + /// And therefore it should not be generated. + [AttributeUsage(AttributeTargets.Property /*, AllowMultiple = false, Inherited = false*/)] + public class ImplementPropertyTypeAttribute : Attribute + { + public ImplementPropertyTypeAttribute(string alias) => Alias = alias; + + public string Alias { get; } + } +} diff --git a/src/Umbraco.ModelsBuilder.Embedded/LiveModelsProvider.cs b/src/Umbraco.Infrastructure/ModelsBuilder/LiveModelsProvider.cs similarity index 97% rename from src/Umbraco.ModelsBuilder.Embedded/LiveModelsProvider.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/LiveModelsProvider.cs index eafc006c26..eea958e36f 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/LiveModelsProvider.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/LiveModelsProvider.cs @@ -6,11 +6,10 @@ using Umbraco.Configuration; using Umbraco.Core; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Events; -using Umbraco.Extensions; -using Umbraco.ModelsBuilder.Embedded.Building; +using Umbraco.Infrastructure.ModelsBuilder.Building; using Umbraco.Web.Cache; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { // supports LiveAppData - but not PureLive public sealed class LiveModelsProvider : INotificationHandler, INotificationHandler diff --git a/src/Umbraco.ModelsBuilder.Embedded/ModelsBuilderAssemblyAttribute.cs b/src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderAssemblyAttribute.cs similarity index 93% rename from src/Umbraco.ModelsBuilder.Embedded/ModelsBuilderAssemblyAttribute.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderAssemblyAttribute.cs index 7570c0b5b2..56179f37ac 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/ModelsBuilderAssemblyAttribute.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderAssemblyAttribute.cs @@ -1,6 +1,6 @@ -using System; +using System; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { /// /// Indicates that an Assembly is a Models Builder assembly. diff --git a/src/Umbraco.ModelsBuilder.Embedded/ModelsBuilderDashboard.cs b/src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderDashboard.cs similarity index 90% rename from src/Umbraco.ModelsBuilder.Embedded/ModelsBuilderDashboard.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderDashboard.cs index 867b22d14b..9c2d2c03b5 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/ModelsBuilderDashboard.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderDashboard.cs @@ -2,7 +2,7 @@ using System; using Umbraco.Core.Composing; using Umbraco.Core.Dashboards; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { [Weight(40)] public class ModelsBuilderDashboard : IDashboard diff --git a/src/Umbraco.ModelsBuilder.Embedded/ModelsGenerationError.cs b/src/Umbraco.Infrastructure/ModelsBuilder/ModelsGenerationError.cs similarity index 97% rename from src/Umbraco.ModelsBuilder.Embedded/ModelsGenerationError.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/ModelsGenerationError.cs index 25f48a19cc..c506c49049 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/ModelsGenerationError.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/ModelsGenerationError.cs @@ -6,7 +6,7 @@ using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Hosting; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { public sealed class ModelsGenerationError { diff --git a/src/Umbraco.ModelsBuilder.Embedded/OutOfDateModelsStatus.cs b/src/Umbraco.Infrastructure/ModelsBuilder/OutOfDateModelsStatus.cs similarity index 98% rename from src/Umbraco.ModelsBuilder.Embedded/OutOfDateModelsStatus.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/OutOfDateModelsStatus.cs index 83f105a486..d1caca2d46 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/OutOfDateModelsStatus.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/OutOfDateModelsStatus.cs @@ -6,7 +6,7 @@ using Umbraco.Core.Events; using Umbraco.Core.Hosting; using Umbraco.Web.Cache; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { /// /// Used to track if ModelsBuilder models are out of date/stale diff --git a/src/Umbraco.ModelsBuilder.Embedded/PublishedElementExtensions.cs b/src/Umbraco.Infrastructure/ModelsBuilder/PublishedElementExtensions.cs similarity index 97% rename from src/Umbraco.ModelsBuilder.Embedded/PublishedElementExtensions.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/PublishedElementExtensions.cs index 0611d466dc..2a767b718b 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/PublishedElementExtensions.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/PublishedElementExtensions.cs @@ -1,8 +1,8 @@ -using System; +using System; using System.Linq.Expressions; using System.Reflection; using Umbraco.Core.Models.PublishedContent; -using Umbraco.ModelsBuilder.Embedded; +using Umbraco.Infrastructure.ModelsBuilder; // same namespace as original Umbraco.Web PublishedElementExtensions // ReSharper disable once CheckNamespace diff --git a/src/Umbraco.ModelsBuilder.Embedded/PublishedModelUtility.cs b/src/Umbraco.Infrastructure/ModelsBuilder/PublishedModelUtility.cs similarity index 98% rename from src/Umbraco.ModelsBuilder.Embedded/PublishedModelUtility.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/PublishedModelUtility.cs index fd1d5128a0..6638544d9c 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/PublishedModelUtility.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/PublishedModelUtility.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Linq; using System.Linq.Expressions; using Umbraco.Core.Models.PublishedContent; using Umbraco.Web.PublishedCache; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { /// /// This is called from within the generated model classes diff --git a/src/Umbraco.ModelsBuilder.Embedded/RoslynCompiler.cs b/src/Umbraco.Infrastructure/ModelsBuilder/RoslynCompiler.cs similarity index 98% rename from src/Umbraco.ModelsBuilder.Embedded/RoslynCompiler.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/RoslynCompiler.cs index 37aeb75b35..e2e7affffa 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/RoslynCompiler.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/RoslynCompiler.cs @@ -7,7 +7,7 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.Text; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { public class RoslynCompiler { diff --git a/src/Umbraco.ModelsBuilder.Embedded/TypeExtensions.cs b/src/Umbraco.Infrastructure/ModelsBuilder/TypeExtensions.cs similarity index 94% rename from src/Umbraco.ModelsBuilder.Embedded/TypeExtensions.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/TypeExtensions.cs index 1f270a80a6..1a29931a1e 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/TypeExtensions.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/TypeExtensions.cs @@ -1,6 +1,6 @@ -using System; +using System; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { internal static class TypeExtensions { diff --git a/src/Umbraco.ModelsBuilder.Embedded/UmbracoServices.cs b/src/Umbraco.Infrastructure/ModelsBuilder/UmbracoServices.cs similarity index 99% rename from src/Umbraco.ModelsBuilder.Embedded/UmbracoServices.cs rename to src/Umbraco.Infrastructure/ModelsBuilder/UmbracoServices.cs index 86954a8a85..be59e7aab8 100644 --- a/src/Umbraco.ModelsBuilder.Embedded/UmbracoServices.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/UmbracoServices.cs @@ -7,9 +7,9 @@ using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Services; using Umbraco.Core.Strings; -using Umbraco.ModelsBuilder.Embedded.Building; +using Umbraco.Infrastructure.ModelsBuilder.Building; -namespace Umbraco.ModelsBuilder.Embedded +namespace Umbraco.Infrastructure.ModelsBuilder { public sealed class UmbracoServices diff --git a/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj b/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj index f295805a55..7eac57df29 100644 --- a/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj +++ b/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj @@ -1,4 +1,4 @@ - + netstandard2.0 @@ -12,6 +12,7 @@ + diff --git a/src/Umbraco.ModelsBuilder.Embedded/ImplementPropertyTypeAttribute.cs b/src/Umbraco.ModelsBuilder.Embedded/ImplementPropertyTypeAttribute.cs deleted file mode 100644 index 6f52a7faa9..0000000000 --- a/src/Umbraco.ModelsBuilder.Embedded/ImplementPropertyTypeAttribute.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; - -namespace Umbraco.ModelsBuilder.Embedded -{ - /// - /// Indicates that a property implements a given property alias. - /// - /// And therefore it should not be generated. - [AttributeUsage(AttributeTargets.Property , AllowMultiple = false, Inherited = false)] - public class ImplementPropertyTypeAttribute : Attribute - { - public ImplementPropertyTypeAttribute(string alias) - { - Alias = alias; - } - - public string Alias { get; private set; } - } -}