Skip to content

Commit

Permalink
Add new 'Umbraco Package RCL' project template (#13776)
Browse files Browse the repository at this point in the history
* Add new 'Umbraco Package RCL' project template

* Add --no-restore, hide --framework and remove conflicting -v parameter in Umbraco Package project template

* Hide --framework and --PackageTestSiteName, remove conflicting -v parameter in Umbraco project template and persist selected parameters

* Revert changes to Framework and UmbracoVersion parameter names
  • Loading branch information
ronaldbarendse authored Apr 5, 2023
1 parent c662f5a commit 92d92fe
Show file tree
Hide file tree
Showing 11 changed files with 203 additions and 22 deletions.
1 change: 1 addition & 0 deletions templates/Umbraco.Templates.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

<ItemGroup>
<Content Include="UmbracoPackage\**" Exclude="bin;obj" />
<Content Include="UmbracoPackageRcl\**" Exclude="bin;obj" />
<Content Include="UmbracoProject\**" Exclude="bin;obj" />
<Content Include="..\src\Umbraco.Web.UI\Program.cs">
<Link>UmbracoProject\Program.cs</Link>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,16 @@
"symbolInfo": {
"Framework": {
"longName": "Framework",
"shortName": "F"
"shortName": "F",
"isHidden": true
},
"UmbracoVersion": {
"longName": "version",
"shortName": "v"
},
"SkipRestore": {
"longName": "no-restore",
"shortName": ""
}
}
}
23 changes: 22 additions & 1 deletion templates/UmbracoPackage/.template.config/template.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,16 @@
"description": "The version of Umbraco.Cms to add as PackageReference.",
"type": "parameter",
"datatype": "string",
"defaultValue": "10.0.0-rc1",
"defaultValue": "11.0.0",
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE"
},
"SkipRestore": {
"displayName": "Skip restore",
"description": "If specified, skips the automatic restore of the project on create.",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"Namespace": {
"type": "derived",
"valueSource": "name",
Expand Down Expand Up @@ -83,5 +90,19 @@
{
"path": "UmbracoPackage.csproj"
}
],
"postActions": [
{
"id": "restore",
"condition": "(!SkipRestore)",
"description": "Restore NuGet packages required by this project.",
"manualInstructions": [
{
"text": "Run 'dotnet restore'"
}
],
"actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025",
"continueOnError": true
}
]
}
22 changes: 22 additions & 0 deletions templates/UmbracoPackageRcl/.template.config/dotnetcli.host.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$schema": "https://json.schemastore.org/dotnetcli.host.json",
"symbolInfo": {
"Framework": {
"longName": "Framework",
"shortName": "F",
"isHidden": true
},
"UmbracoVersion": {
"longName": "version",
"shortName": ""
},
"SkipRestore": {
"longName": "no-restore",
"shortName": ""
},
"SupportPagesAndViews": {
"longName": "support-pages-and-views",
"shortName": "s"
}
}
}
20 changes: 20 additions & 0 deletions templates/UmbracoPackageRcl/.template.config/ide.host.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"$schema": "https://json.schemastore.org/ide.host.json",
"order": 0,
"icon": "../../icon.png",
"description": {
"id": "UmbracoPackageRcl",
"text": "Umbraco Package RCL - An empty Umbraco package/plugin (Razor Class Library)."
},
"symbolInfo": [
{
"id": "UmbracoVersion",
"isVisible": true
},
{
"id": "SupportPagesAndViews",
"isVisible": true,
"persistenceScope": "templateGroup"
}
]
}
82 changes: 82 additions & 0 deletions templates/UmbracoPackageRcl/.template.config/template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"$schema": "https://json.schemastore.org/template.json",
"author": "Umbraco HQ",
"classifications": [
"Web",
"CMS",
"Umbraco",
"Package",
"Plugin",
"Razor Class Library"
],
"name": "Umbraco Package RCL",
"description": "An empty Umbraco package/plugin (Razor Class Library).",
"groupIdentity": "Umbraco.Templates.UmbracoPackageRcl",
"identity": "Umbraco.Templates.UmbracoPackageRcl.CSharp",
"shortName": "umbracopackage-rcl",
"tags": {
"language": "C#",
"type": "project"
},
"sourceName": "UmbracoPackage",
"defaultName": "UmbracoPackage1",
"preferNameDirectory": true,
"symbols": {
"Framework": {
"displayName": "Framework",
"description": "The target framework for the project.",
"type": "parameter",
"datatype": "choice",
"choices": [
{
"displayName": ".NET 7.0",
"description": "Target net7.0",
"choice": "net7.0"
}
],
"defaultValue": "net7.0",
"replaces": "net7.0"
},
"UmbracoVersion": {
"displayName": "Umbraco version",
"description": "The version of Umbraco.Cms to add as PackageReference.",
"type": "parameter",
"datatype": "string",
"defaultValue": "11.0.0",
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE"
},
"SkipRestore": {
"displayName": "Skip restore",
"description": "If specified, skips the automatic restore of the project on create.",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"SupportPagesAndViews": {
"type": "parameter",
"datatype": "bool",
"defaultValue": "false",
"displayName": "Support pages and views",
"description": "Whether to support adding traditional Razor pages and Views to this library."
}
},
"primaryOutputs": [
{
"path": "UmbracoPackage.csproj"
}
],
"postActions": [
{
"id": "restore",
"condition": "(!SkipRestore)",
"description": "Restore NuGet packages required by this project.",
"manualInstructions": [
{
"text": "Run 'dotnet restore'"
}
],
"actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025",
"continueOnError": true
}
]
}
27 changes: 27 additions & 0 deletions templates/UmbracoPackageRcl/UmbracoPackage.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<AddRazorSupportForMvc Condition="'$(SupportPagesAndViews)' == 'True'">true</AddRazorSupportForMvc>
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">UmbracoPackage</RootNamespace>
<StaticWebAssetBasePath>App_Plugins/UmbracoPackage</StaticWebAssetBasePath>
</PropertyGroup>

<PropertyGroup>
<PackageId>UmbracoPackage</PackageId>
<Product>UmbracoPackage</Product>
<Title>UmbracoPackage</Title>
<Description>...</Description>
<PackageTags>umbraco plugin package</PackageTags>
</PropertyGroup>

<ItemGroup Condition="'$(SupportPagesAndViews)' == 'True'">
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Umbraco.Cms.Web.Website" Version="UMBRACO_VERSION_FROM_TEMPLATE" />
<PackageReference Include="Umbraco.Cms.Web.BackOffice" Version="UMBRACO_VERSION_FROM_TEMPLATE" />
</ItemGroup>
</Project>
5 changes: 5 additions & 0 deletions templates/UmbracoPackageRcl/wwwroot/package.manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "UmbracoPackage",
"version": "",
"allowPackageTelemetry": true
}
16 changes: 9 additions & 7 deletions templates/UmbracoProject/.template.config/dotnetcli.host.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"symbolInfo": {
"Framework": {
"longName": "Framework",
"shortName": "F"
"shortName": "F",
"isHidden": true
},
"UmbracoVersion": {
"longName": "version",
Expand Down Expand Up @@ -55,14 +56,15 @@
},
"PackageProjectName": {
"longName": "PackageTestSiteName",
"shortName": "p"
"shortName": "p",
"isHidden": true
}
},
"usageExamples": [
"dotnet new umbraco -n MyNewProject",
"dotnet new umbraco -n MyNewProject --no-restore",
"dotnet new umbraco -n MyNewProject --development-database-type SQLite",
"dotnet new umbraco -n MyNewProject --development-database-type LocalDB",
"dotnet new umbraco -n MyNewProject --friendly-name \"Friendly Admin User\" --email [email protected] --password password1234 --connection-string \"Server=ConnectionStringHere\""
"dotnet new umbraco --name MyNewProject",
"dotnet new umbraco --name MyNewProject --no-restore",
"dotnet new umbraco --name MyNewProject --development-database-type SQLite",
"dotnet new umbraco --name MyNewProject --development-database-type LocalDB",
"dotnet new umbraco --name MyNewProject --friendly-name \"Administrator\" --email [email protected] --password 1234567890 --connection-string \"Server=(local);Database=MyNewProject;Trusted_Connection=True;\""
]
}
20 changes: 8 additions & 12 deletions templates/UmbracoProject/.template.config/ide.host.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,18 @@
},
{
"id": "UseHttpsRedirect",
"isVisible": true
},
{
"id": "SkipRestore",
"isVisible": true
"isVisible": true,
"persistenceScope": "templateGroup"
},
{
"id": "ExcludeGitignore",
"isVisible": true
"isVisible": true,
"persistenceScope": "templateGroup"
},
{
"id": "MinimalGitignore",
"isVisible": true
"isVisible": true,
"persistenceScope": "templateGroup"
},
{
"id": "ConnectionString",
Expand All @@ -37,7 +36,8 @@
},
{
"id": "DevelopmentDatabaseType",
"isVisible": true
"isVisible": true,
"persistenceScope": "templateGroup"
},
{
"id": "UnattendedUserName",
Expand All @@ -54,10 +54,6 @@
{
"id": "NoNodesViewPath",
"isVisible": true
},
{
"id": "PackageProjectName",
"isVisible": true
}
]
}
2 changes: 1 addition & 1 deletion templates/UmbracoProject/.template.config/template.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"description": "The version of Umbraco.Cms to add as PackageReference.",
"type": "parameter",
"datatype": "string",
"defaultValue": "10.0.0-rc1",
"defaultValue": "11.0.0",
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE"
},
"UseHttpsRedirect": {
Expand Down

0 comments on commit 92d92fe

Please sign in to comment.