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; }
- }
-}