V14: umbraco-package.json schema (#14319)
* copy umbraco-package-schema.json over from the New.Client build * when a project referencing Cms.Targets is building, we want to copy out the umbraco-package-schema.json file to the project directory if it does not exist * ignore built output files * fix typo * add PackageReference to Umbraco.Cms.Targets to ensure dependent json schema files are copied over * add to gitignore * add target to remove the _UmbracoCmsPackageSchemaReference on clean * Revert "add PackageReference to Umbraco.Cms.Targets to ensure dependent json schema files are copied over" This reverts commit 339043a36fd0074624c3060ff0113283a9eb6376. * generate umbraco-package-schema.json on demand in Cms.Targets * add generated file to .gitignore
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -107,10 +107,13 @@ preserve.belle
|
||||
# Ignore auto-generated schema
|
||||
/src/Umbraco.Cms.Targets/tasks/
|
||||
/src/Umbraco.Cms.Targets/appsettings-schema.*.json
|
||||
/src/Umbraco.Cms.Targets/umbraco-package-schema.json
|
||||
/src/Umbraco.Web.UI/appsettings-schema.json
|
||||
/src/Umbraco.Web.UI/appsettings-schema.*.json
|
||||
/src/Umbraco.Web.UI/umbraco-package-schema.json
|
||||
/tests/Umbraco.Tests.Integration/appsettings-schema.json
|
||||
/tests/Umbraco.Tests.Integration/appsettings-schema.*.json
|
||||
/tests/Umbraco.Tests.Integration/umbraco-package-schema.json
|
||||
/src/Umbraco.Cms/appsettings-schema.json
|
||||
playwright-report
|
||||
trace.zip
|
||||
|
||||
@@ -21,12 +21,14 @@
|
||||
<!-- Add JSON schema references (and include MSBuild task) -->
|
||||
<PropertyGroup>
|
||||
<_UmbracoCmsJsonSchemaReference>appsettings-schema.Umbraco.Cms.json</_UmbracoCmsJsonSchemaReference>
|
||||
<_UmbracoCmsPackageSchemaReference>umbraco-package-schema.json</_UmbracoCmsPackageSchemaReference>
|
||||
<NoWarn>NU5100;NU5128</NoWarn>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Umbraco.JsonSchema.Extensions" Version="0.3.0" PrivateAssets="all" GeneratePathProperty="true" />
|
||||
<None Include="$(PkgUmbraco_JsonSchema_Extensions)\tasks\netstandard2.0\**" Pack="true" PackagePath="tasks\netstandard2.0" Visible="false" />
|
||||
<Content Include="$(_UmbracoCmsJsonSchemaReference)" PackagePath="" Visible="false" />
|
||||
<Content Include="$(_UmbracoCmsPackageSchemaReference)" PackagePath="" Visible="false" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- We also need physical copies in the right location relative to the Umbraco.Cms.Targets.targets file, as that's directly referenced in projects -->
|
||||
@@ -58,4 +60,15 @@
|
||||
<_PackageFiles Include="$(IntermediateOutputPath)_._" PackagePath="lib\$(TargetFramework)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- Generate JSON package schema on build (and before copying to project) -->
|
||||
<Target Name="GenerateUmbracoPackageSchema" BeforeTargets="Build;CopyUmbracoJsonSchemaFiles" Condition="!Exists('$(_UmbracoCmsPackageSchemaReference)')">
|
||||
<Message Text="Generating $(_UmbracoCmsPackageSchemaReference) because it doesn't exist" Importance="high" />
|
||||
<Exec WorkingDirectory="$(MsBuildThisFileDirectory)..\Umbraco.Web.UI.New.Client" Command="npm run generate:jsonschema -- --out "$(MSBuildThisFileDirectory)$(_UmbracoCmsPackageSchemaReference)" tsconfig.json UmbracoPackage" />
|
||||
</Target>
|
||||
|
||||
<!-- Remove generated JSON package schema on clean -->
|
||||
<Target Name="RemovePackageSchema" AfterTargets="Clean" Condition="Exists('$(_UmbracoCmsPackageSchemaReference)')">
|
||||
<Delete Files="$(_UmbracoCmsPackageSchemaReference)" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -12,5 +12,6 @@
|
||||
<ItemGroup>
|
||||
<UmbracoJsonSchemaReferences Include="https://json.schemastore.org/appsettings.json" Weight="-100" />
|
||||
<UmbracoJsonSchemaFiles Include="$(MSBuildThisFileDirectory)..\appsettings-schema.Umbraco.Cms.json" Weight="-90" />
|
||||
<UmbracoPackageSchemaFiles Include="$(MSBuildThisFileDirectory)..\umbraco-package-schema.json" Weight="-90" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -8,11 +8,14 @@
|
||||
<DependentUpon>appsettings-schema.json</DependentUpon>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<!-- Copy JSON schema files into the project directory -->
|
||||
<Target Name="CopyUmbracoJsonSchemaFiles" BeforeTargets="Build">
|
||||
<Message Text="Copying JSON schema files into project directory: @(UmbracoJsonSchemaFiles->'%(Filename)%(Extension)')" Importance="high" />
|
||||
<Copy SourceFiles="@(UmbracoJsonSchemaFiles)" DestinationFolder="$(MSBuildProjectDirectory)" SkipUnchangedFiles="true" />
|
||||
|
||||
<Message Text="Copying JSON schema files into project directory: @(UmbracoPackageSchemaFiles->'%(Filename)%(Extension)')" Importance="high" />
|
||||
<Copy SourceFiles="@(UmbracoPackageSchemaFiles)" DestinationFolder="$(MSBuildProjectDirectory)" SkipUnchangedFiles="true" />
|
||||
</Target>
|
||||
|
||||
<!-- Add references to the JSON schema in the project directory -->
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<Title>Umbraco CMS - Templates</Title>
|
||||
<Description>Coontains templates for Umbraco CMS.</Description>
|
||||
<Description>Contains templates for Umbraco CMS.</Description>
|
||||
<PackageType>Template</PackageType>
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
|
||||
3
templates/UmbracoProject/.gitignore
vendored
3
templates/UmbracoProject/.gitignore
vendored
@@ -463,6 +463,9 @@ $RECYCLE.BIN/
|
||||
appsettings-schema.json
|
||||
appsettings-schema.*.json
|
||||
|
||||
# JSON schema file for umbraco-package.json
|
||||
umbraco-package-schema.json
|
||||
|
||||
# Packages created from the backoffice (package.xml/package.zip)
|
||||
/umbraco/Data/CreatedPackages/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user