Simplify JSON schema, generation, copying and updating (#13427)

* Simplify JSON schema and only generate appsettings-schema.Umbraco.Cms.json

* Use Umbraco.JsonSchema.Extensions to dynamically add JSON schema references

* Move DependentUpon items to shared MSBuild props

* Update LangVersion to latest

* Update Umbraco.GitVersioning.Extensions to 0.2.0

* Remove JSON schemas on clean

* Remove Umbraco.JsonSchema.Core project

* Fix JSON schema nullability

* Ignore additional JSON schema files in template

* Update CompatibilitySuppressions.xml

* Remove GlobalSettings.UmbracoPath from JSON schema again

* Remove RemoveUmbracoJsonSchemaFiles target

* Update Umbraco.JsonSchema.Extensions to 0.2.0 and add weights

* Flatten generated JSON schema hierarchy

* Remove LicensesSettings from CMS codebase

* Change AdditionalParameters to IDictionary
This commit is contained in:
Ronald Barendse
2022-11-22 12:48:11 +01:00
committed by GitHub
parent 85842bde9f
commit 2e54579a2f
28 changed files with 214 additions and 409 deletions

View File

@@ -0,0 +1,81 @@
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
internal class UmbracoCmsSchema
{
public UmbracoDefinition Umbraco { get; set; } = null!;
/// <summary>
/// Configuration container for all Umbraco products.
/// </summary>
public class UmbracoDefinition
{
public UmbracoCmsDefinition CMS { get; set; } = null!;
}
/// <summary>
/// Configuration of Umbraco CMS.
/// </summary>
public class UmbracoCmsDefinition
{
public ContentSettings Content { get; set; } = null!;
public CoreDebugSettings Debug { get; set; } = null!;
public ExceptionFilterSettings ExceptionFilter { get; set; } = null!;
public ModelsBuilderSettings ModelsBuilder { get; set; } = null!;
public GlobalSettings Global { get; set; } = null!;
public HealthChecksSettings HealthChecks { get; set; } = null!;
public HostingSettings Hosting { get; set; } = null!;
public ImagingSettings Imaging { get; set; } = null!;
public IndexCreatorSettings Examine { get; set; } = null!;
public KeepAliveSettings KeepAlive { get; set; } = null!;
public LoggingSettings Logging { get; set; } = null!;
public NuCacheSettings NuCache { get; set; } = null!;
public RequestHandlerSettings RequestHandler { get; set; } = null!;
public RuntimeSettings Runtime { get; set; } = null!;
public SecuritySettings Security { get; set; } = null!;
public TourSettings Tours { get; set; } = null!;
public TypeFinderSettings TypeFinder { get; set; } = null!;
public WebRoutingSettings WebRouting { get; set; } = null!;
public UmbracoPluginSettings Plugins { get; set; } = null!;
public UnattendedSettings Unattended { get; set; } = null!;
public RichTextEditorSettings RichTextEditor { get; set; } = null!;
public RuntimeMinificationSettings RuntimeMinification { get; set; } = null!;
public BasicAuthSettings BasicAuth { get; set; } = null!;
public PackageMigrationSettings PackageMigration { get; set; } = null!;
public LegacyPasswordMigrationSettings LegacyPasswordMigration { get; set; } = null!;
public ContentDashboardSettings ContentDashboard { get; set; } = null!;
public HelpPageSettings HelpPage { get; set; } = null!;
public InstallDefaultDataSettings DefaultDataCreation { get; set; } = null!;
public DataTypesSettings DataTypes { get; set; } = null!;
public MarketplaceSettings Marketplace { get; set; } = null!;
}
}