Files
Umbraco-CMS/templates/UmbracoProject/.template.config/template.json
Andreas Zerbst 2a6b376f0d V15 QA fix e2e build pipeline (#16987)
* Added a line to check the dotnet version

* Moved

* Updated dotnet version

* Removed version output
2024-08-30 13:03:41 +02:00

432 lines
14 KiB
JSON

{
"$schema": "https://json.schemastore.org/template.json",
"author": "Umbraco HQ",
"classifications": [
"Web",
"CMS",
"Umbraco"
],
"name": "Umbraco Project",
"description": "An empty Umbraco project ready to get started.",
"groupIdentity": "Umbraco.Templates.UmbracoProject",
"identity": "Umbraco.Templates.UmbracoProject.CSharp",
"shortName": "umbraco",
"tags": {
"language": "C#",
"type": "project"
},
"sourceName": "UmbracoProject",
"defaultName": "UmbracoProject1",
"preferNameDirectory": true,
"additionalConfigFiles": [ "starterkits.template.json"],
"sources": [
{
"modifiers": [
{
"condition": "(ExcludeGitignore)",
"exclude": [
".gitignore"
]
},
{
"condition": "(!Docker)",
"exclude": [
"Dockerfile",
".dockerignore"
]
}
]
}
],
"symbols": {
"Framework": {
"displayName": "Framework",
"description": "The target framework for the project.",
"type": "parameter",
"datatype": "choice",
"choices": [
{
"displayName": ".NET 9.0",
"description": "Target net9.0",
"choice": "net9.0"
}
],
"defaultValue": "net9.0",
"replaces": "net9.0"
},
"UmbracoRelease": {
"displayName": "Umbraco Version",
"description": "The Umbraco release to use, either latest or latest long term supported",
"type": "parameter",
"datatype": "choice",
"defaultValue": "Latest",
"choices": [
{
"choice": "Latest",
"description": "The latest umbraco release"
},
{
"choice": "LTS",
"description": "The most recent long term supported version",
"displayName": "Long Term Supported"
}
],
"isRequired": false
},
"UmbracoVersion": {
"displayName": "Custom Version",
"description": "The selected custom version of Umbraco, this is obsoleted, and will be removed in a future version of the template.",
"type": "parameter",
"datatype": "string",
"defaultValue": "null",
"replaces": "CUSTOM_VERSION",
"isRequired": false
},
"FinalVersion" : {
"type": "generated",
"generator": "switch",
"datatype": "text",
"description": "The calculated version of Umbraco to use",
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE",
"parameters": {
"evaluator": "C++",
"datatype": "text",
"cases": [
{
"condition": "(UmbracoRelease == 'Latest')",
"value": "*"
},
{
"condition": "(UmbracoRelease == 'LTS')",
"value": "13.4.1"
}
]
}
},
"DotnetVersion":
{
"type": "generated",
"generator": "switch",
"datatype": "text",
"description": "Not relevant at the moment, but if we need to change the dotnet version based on the Umbraco version, we can do it here",
"replaces": "DOTNET_VERSION_FROM_TEMPLATE",
"parameters": {
"evaluator": "C++",
"datatype": "text",
"cases": [
{
"condition": "(true)",
"value": "net9.0"
}
]
}
},
"UseHttpsRedirect": {
"displayName": "Use HTTPS redirect",
"description": "Adds code to Startup.cs to redirect HTTP to HTTPS and enables the UseHttps setting.",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"UseDeliveryApi": {
"displayName": "Use Delivery API",
"description": "Enables the Delivery API",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"Docker": {
"displayName": "Add Docker file",
"description": "Adds a docker file to the project.",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"SkipRestore": {
"displayName": "Skip restore",
"description": "If specified, skips the automatic restore of the project on create.",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"ExcludeGitignore": {
"displayName": "Exclude .gitignore",
"description": "Whether to exclude .gitignore from the generated template.",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"MinimalGitignore": {
"displayName": "Minimal .gitignore",
"description": "Whether to only include minimal (Umbraco specific) rules in the .gitignore.",
"type": "parameter",
"datatype": "bool",
"defaultValue": "false"
},
"ConnectionString": {
"displayName": "Connection string",
"description": "Database connection string used by Umbraco.",
"type": "parameter",
"datatype": "string",
"defaultValue": "",
"forms": {
"global": [
"jsonEncode"
]
},
"replaces": "CONNECTION_STRING_FROM_TEMPLATE"
},
"ConnectionStringProviderName": {
"displayName": "Connection string provider name",
"description": "Database connection string provider name used by Umbraco.",
"type": "parameter",
"datatype": "string",
"defaultValue": "Microsoft.Data.SqlClient",
"forms": {
"global": [
"jsonEncode"
]
},
"replaces": "CONNECTION_STRING_PROVIDER_NAME_FROM_TEMPLATE"
},
"HasConnectionString": {
"type": "computed",
"value": "(ConnectionString != '')"
},
"DevelopmentDatabaseType": {
"displayName": "Development database type",
"description": "Database type used by Umbraco for development.",
"type": "parameter",
"datatype": "choice",
"choices": [
{
"displayName": "None",
"description": "Do not configure a database for development.",
"choice": "None"
},
{
"displayName": "SQLite",
"description": "Use embedded SQLite database.",
"choice": "SQLite"
},
{
"displayName": "SQL Server Express LocalDB",
"description": "Use embedded LocalDB database (requires SQL Server Express with Advanced Services).",
"choice": "LocalDB"
}
],
"defaultValue": "None"
},
"DevelopmentConnectionString": {
"type": "generated",
"datatype": "string",
"generator": "switch",
"parameters": {
"cases": [
{
"condition": "(DevelopmentDatabaseType == 'SQLite')",
"value": "Data Source=|DataDirectory|/Umbraco.sqlite.db;Cache=Shared;Foreign Keys=True;Pooling=True"
},
{
"condition": "(DevelopmentDatabaseType == 'LocalDB')",
"value": "Data Source=(localdb)\\\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\\\Umbraco.mdf;Integrated Security=True"
}
]
},
"replaces": "CONNECTION_STRING_DEVELOPMENT_FROM_TEMPLATE"
},
"DevelopmentConnectionStringProviderName": {
"type": "generated",
"datatype": "string",
"generator": "switch",
"parameters": {
"cases": [
{
"condition": "(DevelopmentDatabaseType == 'SQLite')",
"value": "Microsoft.Data.Sqlite"
},
{
"condition": "(true)",
"value": "Microsoft.Data.SqlClient"
}
]
},
"replaces": "CONNECTION_STRING_PROVIDER_NAME_DEVELOPMENT_FROM_TEMPLATE"
},
"HasDevelopmentConnectionString": {
"type": "computed",
"value": "(DevelopmentConnectionString != '')"
},
"UnattendedUserName": {
"displayName": "Unattended user name",
"description": "Used to specify the name of the default admin user when using unattended install on development (stored as plain text).",
"type": "parameter",
"datatype": "string",
"defaultValue": "",
"forms": {
"global": [
"jsonEncode"
]
},
"replaces": "UNATTENDED_USER_NAME_FROM_TEMPLATE"
},
"UnattendedUserEmail": {
"displayName": "Unattended user email",
"description": "Used to specify the email of the default admin user when using unattended install on development (stored as plain text).",
"type": "parameter",
"datatype": "string",
"defaultValue": "",
"forms": {
"global": [
"jsonEncode"
]
},
"replaces": "UNATTENDED_USER_EMAIL_FROM_TEMPLATE"
},
"UnattendedUserPassword": {
"displayName": "Unattended user password",
"description": "Used to specify the password of the default admin user when using unattended install on development (stored as plain text).",
"type": "parameter",
"datatype": "string",
"defaultValue": "",
"forms": {
"global": [
"jsonEncode"
]
},
"replaces": "UNATTENDED_USER_PASSWORD_FROM_TEMPLATE"
},
"UsingUnattenedInstall": {
"type": "computed",
"value": "(UnattendedUserName != '' && UnattendedUserEmail != '' && UnattendedUserPassword != '' && (HasConnectionString || HasDevelopmentConnectionString))"
},
"NoNodesViewPath": {
"displayName": "No nodes view path",
"description": "Path to a custom view presented with the Umbraco installation contains no published content.",
"type": "parameter",
"datatype": "string",
"defaultValue": "",
"forms": {
"global": [
"jsonEncode"
]
},
"replaces": "NO_NODES_VIEW_PATH_FROM_TEMPLATE"
},
"HasNoNodesViewPath": {
"type": "computed",
"value": "(NoNodesViewPath != '')"
},
"PackageProjectName": {
"displayName": "Umbraco package project name",
"description": "The name of the package project this should be a test site for.",
"type": "parameter",
"datatype": "string",
"defaultValue": "",
"replaces": "PACKAGE_PROJECT_NAME_FROM_TEMPLATE"
},
"DevelopmentMode": {
"type": "parameter",
"displayName": "Development mode",
"datatype": "choice",
"description": "Choose the development mode to use for the project.",
"defaultValue": "BackofficeDevelopment",
"choices": [
{
"choice": "BackofficeDevelopment",
"description": "Enables backoffice development, allowing you to develop from within the backoffice, this is the default behaviour.",
"displayName": "Backoffice Development"
},
{
"choice": "IDEDevelopment",
"description": "Configures appsettings.Development.json to Development runtime mode and SourceCodeAuto models builder mode, and configures appsettings.json to Production runtime mode, Nothing models builder mode, and enables UseHttps",
"displayName": "IDE Development"
}
]
},
"ModelsBuilderMode": {
"type": "parameter",
"displayName": "Models builder mode",
"datatype": "choice",
"description": "Choose the models builder mode to use for the project. When development mode is set to IDEDevelopment this only changes the models builder mode appsetttings.development.json",
"defaultValue": "Default",
"replaces": "MODELS_MODE",
"choices": [
{
"choice": "Default",
"description": "Let DevelopmentMode determine the models builder mode."
},
{
"choice": "InMemoryAuto",
"description": "Generate models in memory, automatically updating when a content type change, this means no need for app rebuild, however models are only available in views.",
"displayName": "In Memory Auto"
},
{
"choice": "SourceCodeManual",
"description": "Generate models as source code, only updating when requested manually, this means a interaction and rebuild is required when content type(s) change, however models are available in code.",
"displayName": "Source Code Manual"
},
{
"choice": "SourceCodeAuto",
"description": "Generate models as source code, automatically updating when a content type change, this means a rebuild is required when content type(s) change, however models are available in code.",
"displayName": "Source Code Auto"
},
{
"choice": "Nothing",
"description": "No models are generated, this is recommended for production assuming generated models are used for development."
}
]
},
"Namespace": {
"type": "derived",
"valueSource": "name",
"valueTransform": "safe_namespace",
"replaces": "Umbraco.Cms.Web.UI"
},
"HttpPort": {
"type": "generated",
"generator": "port",
"parameters": {
"fallback": 5000
},
"replaces": "HTTP_PORT_FROM_TEMPLATE"
},
"HttpsPort": {
"type": "generated",
"generator": "port",
"parameters": {
"low": 44300,
"high": 44399,
"fallback": 5001
},
"replaces": "HTTPS_PORT_FROM_TEMPLATE"
},
"TelemetryId": {
"type": "generated",
"generator": "guid",
"parameters": {
"defaultFormat": "d"
},
"replaces": "TELEMETRYID_FROM_TEMPLATE"
}
},
"primaryOutputs": [
{
"path": "UmbracoProject.csproj"
}
],
"postActions": [
{
"condition": "(!SkipRestore)",
"description": "Restore NuGet packages required by this project",
"manualInstructions": [
{
"text": "Run 'dotnet restore'"
}
],
"actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025",
"continueOnError": true
}
]
}