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
|
# Ignore auto-generated schema
|
||||||
/src/Umbraco.Cms.Targets/tasks/
|
/src/Umbraco.Cms.Targets/tasks/
|
||||||
/src/Umbraco.Cms.Targets/appsettings-schema.*.json
|
/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/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/appsettings-schema.*.json
|
/tests/Umbraco.Tests.Integration/appsettings-schema.*.json
|
||||||
|
/tests/Umbraco.Tests.Integration/umbraco-package-schema.json
|
||||||
/src/Umbraco.Cms/appsettings-schema.json
|
/src/Umbraco.Cms/appsettings-schema.json
|
||||||
playwright-report
|
playwright-report
|
||||||
trace.zip
|
trace.zip
|
||||||
|
|||||||
@@ -21,12 +21,14 @@
|
|||||||
<!-- Add JSON schema references (and include MSBuild task) -->
|
<!-- Add JSON schema references (and include MSBuild task) -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_UmbracoCmsJsonSchemaReference>appsettings-schema.Umbraco.Cms.json</_UmbracoCmsJsonSchemaReference>
|
<_UmbracoCmsJsonSchemaReference>appsettings-schema.Umbraco.Cms.json</_UmbracoCmsJsonSchemaReference>
|
||||||
|
<_UmbracoCmsPackageSchemaReference>umbraco-package-schema.json</_UmbracoCmsPackageSchemaReference>
|
||||||
<NoWarn>NU5100;NU5128</NoWarn>
|
<NoWarn>NU5100;NU5128</NoWarn>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Umbraco.JsonSchema.Extensions" Version="0.3.0" PrivateAssets="all" GeneratePathProperty="true" />
|
<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" />
|
<None Include="$(PkgUmbraco_JsonSchema_Extensions)\tasks\netstandard2.0\**" Pack="true" PackagePath="tasks\netstandard2.0" Visible="false" />
|
||||||
<Content Include="$(_UmbracoCmsJsonSchemaReference)" PackagePath="" Visible="false" />
|
<Content Include="$(_UmbracoCmsJsonSchemaReference)" PackagePath="" Visible="false" />
|
||||||
|
<Content Include="$(_UmbracoCmsPackageSchemaReference)" PackagePath="" Visible="false" />
|
||||||
</ItemGroup>
|
</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 -->
|
<!-- 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)" />
|
<_PackageFiles Include="$(IntermediateOutputPath)_._" PackagePath="lib\$(TargetFramework)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Target>
|
</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>
|
</Project>
|
||||||
|
|||||||
@@ -12,5 +12,6 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<UmbracoJsonSchemaReferences Include="https://json.schemastore.org/appsettings.json" Weight="-100" />
|
<UmbracoJsonSchemaReferences Include="https://json.schemastore.org/appsettings.json" Weight="-100" />
|
||||||
<UmbracoJsonSchemaFiles Include="$(MSBuildThisFileDirectory)..\appsettings-schema.Umbraco.Cms.json" Weight="-90" />
|
<UmbracoJsonSchemaFiles Include="$(MSBuildThisFileDirectory)..\appsettings-schema.Umbraco.Cms.json" Weight="-90" />
|
||||||
|
<UmbracoPackageSchemaFiles Include="$(MSBuildThisFileDirectory)..\umbraco-package-schema.json" Weight="-90" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -8,11 +8,14 @@
|
|||||||
<DependentUpon>appsettings-schema.json</DependentUpon>
|
<DependentUpon>appsettings-schema.json</DependentUpon>
|
||||||
</Content>
|
</Content>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- Copy JSON schema files into the project directory -->
|
<!-- Copy JSON schema files into the project directory -->
|
||||||
<Target Name="CopyUmbracoJsonSchemaFiles" BeforeTargets="Build">
|
<Target Name="CopyUmbracoJsonSchemaFiles" BeforeTargets="Build">
|
||||||
<Message Text="Copying JSON schema files into project directory: @(UmbracoJsonSchemaFiles->'%(Filename)%(Extension)')" Importance="high" />
|
<Message Text="Copying JSON schema files into project directory: @(UmbracoJsonSchemaFiles->'%(Filename)%(Extension)')" Importance="high" />
|
||||||
<Copy SourceFiles="@(UmbracoJsonSchemaFiles)" DestinationFolder="$(MSBuildProjectDirectory)" SkipUnchangedFiles="true" />
|
<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>
|
</Target>
|
||||||
|
|
||||||
<!-- Add references to the JSON schema in the project directory -->
|
<!-- Add references to the JSON schema in the project directory -->
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Title>Umbraco CMS - Templates</Title>
|
<Title>Umbraco CMS - Templates</Title>
|
||||||
<Description>Coontains templates for Umbraco CMS.</Description>
|
<Description>Contains templates for Umbraco CMS.</Description>
|
||||||
<PackageType>Template</PackageType>
|
<PackageType>Template</PackageType>
|
||||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||||
<IncludeSymbols>false</IncludeSymbols>
|
<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
|
||||||
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)
|
# Packages created from the backoffice (package.xml/package.zip)
|
||||||
/umbraco/Data/CreatedPackages/
|
/umbraco/Data/CreatedPackages/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user