Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/actions/setup-build-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@ runs:
echo "PATH=$signtool;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "Located signtool at: $signtool"

- name: Copy Setup files
- name: Copy initial setup files (example branches)
shell: pwsh
run: |
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
./Setup/copyInitialSetup.ps1
if (Test-Path "Setup/InitialSetup") {
Copy-Item -Path "Setup/InitialSetup/WebResources" -Destination "src/Dataverse" -Recurse -Force
Copy-Item -Path "Setup/InitialSetup/SharedTest" -Destination "test" -Recurse -Force
Copy-Item -Path "Setup/InitialSetup/SharedContext" -Destination "src/Shared" -Recurse -Force
}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ MigrationBackup/
/**/Daxif/*.dll

*.daxif
/src/Dataverse/Tools/Daxif/username.txt
/src/Tools/Daxif/username.txt
/src/Dataverse/WebResources/typings/XRM/*
/src/Dataverse/WebResources/src/**/*.js
/src/Dataverse/WebResources/src/**/*.map
Expand Down
8 changes: 4 additions & 4 deletions .pipelines/Azure/Validate-DIF-Template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@ parameters:
{
environment: "Dev",
serviceConnectionName: "Dev",
resourceGroupName: "rg-resourcegroupname-dev",
resourceGroupName: "rg-templateresourcegroupname-dev",
},
{
environment: "Test",
serviceConnectionName: "Test",
resourceGroupName: "rg-resourcegroupname-test",
resourceGroupName: "rg-templateresourcegroupname-test",
},
{
environment: "UAT",
serviceConnectionName: "UAT",
resourceGroupName: "rg-resourcegroupname-uat",
resourceGroupName: "rg-templateresourcegroupname-uat",
},
{
environment: "Prod",
serviceConnectionName: "Prod",
resourceGroupName: "rg-resourcegroupname-prod",
resourceGroupName: "rg-templateresourcegroupname-prod",
},
]

Expand Down
15 changes: 15 additions & 0 deletions .template.config/dotnetcli.host.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "http://json.schemastore.org/dotnetcli.host",
"symbolInfo": {
"companyName": { "longName": "company-name", "shortName": "cn" },
"publisherPrefix": { "longName": "publisher-prefix", "shortName": "pp" },
"certPassword": { "longName": "cert-password" },
"solutionId": { "longName": "solution-id", "shortName": "si" },
"devUrl": { "longName": "dev-url" },
"testUrl": { "longName": "test-url" },
"uatUrl": { "longName": "uat-url" },
"prodUrl": { "longName": "prod-url" },
"resourceGroupName": { "longName": "rg-name" },
"dataverseUsername": { "longName": "username" }
}
}
175 changes: 175 additions & 0 deletions .template.config/template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
{
"$schema": "http://json.schemastore.org/template",
"author": "Delegate A/S",
"classifications": ["Dataverse", "Azure", "XRM"],
"identity": "DelegateAS.XrmBedrock",
"name": "XrmBedrock Dataverse + Azure Project",
"shortName": "xrmbedrock",
"description": "Template for Dataverse projects with Azure backend",
"sourceName": "XrmBedrock",
"preferNameDirectory": true,
"tags": {
"language": "C#",
"type": "solution"
},
"symbols": {
"companyName": {
"type": "parameter",
"datatype": "string",
"description": "Company name used in assembly names and metadata (e.g. 'Acme')",
"defaultValue": "templatecompanyname",
"replaces": "templatecompanyname"
},
"publisherPrefix": {
"type": "parameter",
"datatype": "string",
"description": "Dataverse publisher prefix (e.g. 'ctx', 'new')",
"defaultValue": "ctx",
"replaces": "templatepublisherprefix"
},
"certPassword": {
"type": "parameter",
"datatype": "string",
"description": "Password for plugin signing certificate",
"defaultValue": "templatecertpassword",
"replaces": "templatecertpassword"
},
"solutionId": {
"type": "parameter",
"datatype": "string",
"description": "Azure solution identifier for resource naming",
"defaultValue": "templatesolutionid",
"replaces": "templatesolutionid"
},
"resourceGroupName": {
"type": "parameter",
"datatype": "string",
"description": "Base name for Azure resource groups so ctx becomes rg-ctx-dev, rg-ctx-test, etc.",
"defaultValue": "templateresourcegroupname",
"replaces": "templateresourcegroupname"
},
"dataverseUsername": {
"type": "parameter",
"datatype": "string",
"description": "Dataverse dev environment username (e.g. user@org.onmicrosoft.com)",
"defaultValue": "",
"replaces": "TEMPLATE_DATAVERSE_USERNAME"
},
"devUrl": {
"type": "parameter",
"datatype": "string",
"description": "Dataverse Dev environment URL",
"defaultValue": "https://dev.crm4.dynamics.com",
"replaces": "https://dev.crm4.dynamics.com"
},
"testUrl": {
"type": "parameter",
"datatype": "string",
"description": "Dataverse Test environment URL",
"defaultValue": "https://test.crm4.dynamics.com",
"replaces": "https://test.crm4.dynamics.com"
},
"uatUrl": {
"type": "parameter",
"datatype": "string",
"description": "Dataverse UAT environment URL",
"defaultValue": "https://uat.crm4.dynamics.com",
"replaces": "https://uat.crm4.dynamics.com"
},
"prodUrl": {
"type": "parameter",
"datatype": "string",
"description": "Dataverse Prod environment URL",
"defaultValue": "https://prod.crm4.dynamics.com",
"replaces": "https://prod.crm4.dynamics.com"
},
"nameLower": {
"type": "generated",
"generator": "casing",
"parameters": {
"source": "name",
"toLower": true
},
"replaces": "xrmbedrock",
"fileRename": "xrmbedrock"
},
"prefixedName": {
"type": "generated",
"generator": "join",
"replaces": "templatepublisherprefix_templateprojectname",
"fileRename": "templatepublisherprefix_templateprojectname",
"parameters": {
"symbols": [
{ "type": "ref", "value": "publisherPrefix" },
{ "type": "ref", "value": "name" }
],
"separator": "_"
}
},
"companyNameLower": {
"type": "generated",
"generator": "casing",
"parameters": {
"source": "companyName",
"toLower": true
},
"replaces": "templatecompanyid"
},
"nameExplicit": {
"type": "generated",
"generator": "join",
"parameters": {
"symbols": [
{ "type": "ref", "value": "name" }
],
"separator": ""
},
"replaces": "templateprojectname"
},
"NET462": {
"type": "generated",
"generator": "constant",
"parameters": {
"value": "true"
}
}
},
"sources": [
{
"copyOnly": [
"**/*.snk",
"**/*.pfx",
"**/*.dll",
"**/*.js.map"
],
"modifiers": [
{
"exclude": [
".git/**",
"**/node_modules/**",
"xrmbedrock.snk",
"plugincert.pfx"
]
}
]
}
],
"postActions": [
{
"actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025",
"description": "Restore NuGet packages",
"manualInstructions": [{ "text": "Run 'dotnet restore'" }],
"continueOnError": true
},
{
"actionId": "3A7C4B45-1F5D-4A30-959A-51B88E82B5D2",
"description": "Run post-template setup (copy initial files, dotnet tool restore, npm install)",
"manualInstructions": [{ "text": "Run 'pwsh Setup/postTemplateSetup.ps1'" }],
"args": {
"executable": "pwsh",
"args": "-File Setup/postTemplateSetup.ps1"
},
"continueOnError": true
}
]
}
3 changes: 1 addition & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup Label="Metadata configuration">
<OrganizationName>MGS</OrganizationName>
<RepositoryName>DEMO</RepositoryName>
<OrganizationName>templatecompanyname</OrganizationName>
</PropertyGroup>

<!-- Solution wide properties -->
Expand Down
4 changes: 2 additions & 2 deletions Infrastructure/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ param existingAppClientObjectId string
param DataverseUrl string

// Naming (OBS: some resources have limitations to their naming)
var solutionId = 'demo'
var companyId = 'mgs'
var solutionId = 'templatesolutionid'
var companyId = 'templatecompanyid'
var namingSuffix = '${toLower(companyId)}-${toLower(solutionId)}-${toLower(env)}'

// Variables
Expand Down
Loading
Loading