Merge branch 'v9/dev' into v9/feature/imagesharp-cachefolder

This commit is contained in:
Ronald Barendse
2021-08-19 23:42:08 +02:00
committed by GitHub
90 changed files with 321 additions and 334 deletions

363
.gitignore vendored
View File

@@ -1,207 +1,156 @@
#
# Umbraco CMS .gitignore
#
# Common files
*.obj
*.pdb
*.user
*.aps
*.pch
*.vspscc
*.orig
*.suo
*.vs10x
*.ndproj
*.ignorer.*
# Common directories
.DS_Store
._.DS_Store
.vs/
/local/
# Build directories
[Bb]in/
[Db]ebug*/
[Rr]elease*/
obj/
# Tools
_ReSharper*/
_NCrunch_*/
*.ncrunchsolution
*.ncrunchsolution.user
*.ncrunchproject
*.crunchsolution.cache
tools/NDepend/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml
[sS]ource
[sS]andbox
umbraco.config
App_Data/TEMP/*
[Uu]mbraco/[Pp]resentation/[Uu]mbraco/[Pp]lugins/*
[Uu]mbraco/[Pp]resentation/[Uu]ser[Cc]ontrols/*
[Uu]mbraco/[Pp]resentation/[Ss]cripts/*
[Uu]mbraco/[Pp]resentation/[Ff]onts/*
[Uu]mbraco/[Pp]resentation/[Cc]ss/*
src/Umbraco.Web.UI/[Cc]ss/*
src/Umbraco.Web.UI/App_Code/*
src/Umbraco.Web.UI/App_Data/*
src/Umbraco.Web.UI/data/*
src/Umbraco.Tests/App_Data/*
src/Umbraco.Web.UI/[Mm]edia/*
src/Umbraco.Web.UI/[Mm]aster[Pp]ages/*
src/Umbraco.Web.UI/[Mm]acro[Ss]cripts/*
!src/Umbraco.Web.UI/[Mm]acro[Ss]cripts/[Ww]eb.[Cc]onfig
src/Umbraco.Web.UI/[Xx]slt/*
src/Umbraco.Web.UI/[Ii]mages/*
src/Umbraco.Web.UI/[Ss]cripts/*
src/Umbraco.Web.UI/Web.*.config.transformed
umbraco/presentation/umbraco/plugins/uComponents/uComponentsInstaller.ascx
umbraco/presentation/packages/uComponents/MultiNodePicker/CustomTreeService.asmx
src/Umbraco.Tests/config/applications.config
src/Umbraco.Tests/config/trees.config
src/Umbraco.Web.UI/web.config
src/Umbraco.Web.UI/[Cc]onfig/ClientDependency.config
src/Umbraco.Web.UI/[Cc]onfig/serilog.config
src/Umbraco.Web.UI/[Cc]onfig/serilog.user.config
src/Umbraco.Tests/config/404handlers.config
src/Umbraco.Web.UI/[Vv]iews/*.cshtml
src/Umbraco.Web.UI/[Vv]iews/*.vbhtml
src/Umbraco.Tests/[Cc]onfig/umbracoSettings.config
src/Umbraco.Web.UI/[Vv]iews/*
src/packages/
src/packages/repositories.config
src/Umbraco.Web.UI/[Ww]eb.config
*.transformed
node_modules
lib-bower
src/Umbraco.Web.UI/[Uu]mbraco/[Ll]ib/*
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/umbraco.*
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/*.loader.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/init.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/routes.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/app.dev.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/loader.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/loader.dev.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/main.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/app.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/canvasdesigner.*.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/navigation.controller.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/main.controller.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/utilities.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/installer.app.js
src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/
src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/**/*.js
src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/**/*.css
src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/**/*.html
src/Umbraco.Web.UI/[Uu]mbraco/[Aa]ssets/*
src/Umbraco.Web.UI.Client/[Bb]uild/*
src/Umbraco.Web.UI.Client/[Bb]uild/[Bb]elle/
src/Umbraco.Web.UI/[Uu]ser[Cc]ontrols/
src/Umbraco.Web.UI.Client/src/[Ll]ess/*.css
src/Umbraco.Web.UI.Client/vwd.webinfo
src/Umbraco.Web.UI/App_Plugins/*
src/*.psess
src/*.vspx
NDependOut/*
QueryResult.htm
src/Umbraco.Web.UI/[Cc]onfig/appSettings.config
src/Umbraco.Web.UI/[Cc]onfig/connectionStrings.config
src/Umbraco.Web.UI/[Uu]mbraco/plugins/*
build/ApiDocs/*
build/ApiDocs/Output/*
src/Umbraco.Web.UI.Client/bower_components/*
/src/Umbraco.Web.UI/[Uu]mbraco/preview
/src/Umbraco.Web.UI/[Uu]mbraco/preview.old
# Ignore rule for clearing out Belle (avoid rebuilding all the time)
preserve.belle
# Ignore rule for output of generated documentation files from grunt docserve
src/Umbraco.Web.UI.Docs/api
src/Umbraco.Web.UI.Docs/package-lock.json
src/*.boltdata/
src/umbraco.sln.ide/*
src/.vs/
src/Umbraco.Web.UI/[Jj]s/*
src/Umbraco.Tests/[Mm]edia
tools/docfx/*
apidocs/_site/*
src/*/project.lock.json
src/.idea/*
apidocs/api/*
build/docs.zip
build/ui-docs.zip
build/csharp-docs.zip
src/packages/
src/PrecompiledWeb/*
# Build
build.out/
build.tmp/
build/hooks/
build/temp/
# Acceptance tests
cypress.env.json
/src/Umbraco.Tests.AcceptanceTest/cypress/support/chainable.ts
/src/Umbraco.Tests.AcceptanceTest/package-lock.json
/src/Umbraco.Tests.AcceptanceTest/cypress/videos/
/src/Umbraco.Tests.AcceptanceTest/cypress/screenshots/
src/Umbraco.Web.UI/Umbraco/telemetrics-id.umb
/src/Umbraco.Web.UI.Client/TESTS-*.xml
/src/ApiDocs/api/*
/src/Umbraco.Web.UI.Client/package-lock.json
/src/Umbraco.Web.UI.NetCore/wwwroot/Media/*
/src/Umbraco.Tests.Integration/App_Data/*
/src/Umbraco.Tests.Integration/TEMP/*
/src/Umbraco.Web.UI.NetCore/wwwroot/[Uu]mbraco/assets/*
/src/Umbraco.Web.UI.NetCore/wwwroot/[Uu]mbraco/js/*
/src/Umbraco.Web.UI.NetCore/wwwroot/[Uu]mbraco/lib/*
/src/Umbraco.Web.UI.NetCore/wwwroot/[Uu]mbraco/views/*
/src/Umbraco.Web.UI.NetCore/wwwroot/App_Data/TEMP/*
/src/Umbraco.Web.UI.NetCore/App_Data/Logs/*
/src/Umbraco.Web.UI.NetCore/App_Data/TEMP/TypesCache/*
/src/Umbraco.Web.UI.NetCore/App_Data/TEMP/*
/src/Umbraco.Web.UI.NetCore/App_Data/Smidge/Cache/*
/src/Umbraco.Web.UI.NetCore/[Uu]mbraco/[Ll]ogs
/src/Umbraco.Web.UI.NetCore/[Uu]mbraco/[Dd]ata/*
/src/Umbraco.Web.UI.NetCore/[Uu]mbraco/[Mm]odels/*
/src/Umbraco.Web.UI.NetCore/appsettings.json
/src/Umbraco.Web.UI.NetCore/appsettings.Development.json
src/Umbraco.Tests.Integration/umbraco/Data/
src/Umbraco.Tests.Integration/umbraco/logs/
src/Umbraco.Tests.Integration/Views/
src/Umbraco.Tests/TEMP/
/src/Umbraco.Web.UI/config/umbracoSettings.config
src/Umbraco.Tests.UnitTests/umbraco/Data/TEMP/
/src/Umbraco.Web.UI.NetCore/appsettings.Local.json
src/Umbraco.Tests.Integration.SqlCe/umbraco/Data/TEMP/
src/Umbraco.Tests.Integration.SqlCe/DatabaseContextTests.sdf
src/Umbraco.Web.UI.NetCore/umbraco/config/appsettings-schema.json
#
# Umbraco CMS .gitignore
#
# Common files
*.obj
*.pdb
*.user
*.aps
*.pch
*.vspscc
*.orig
*.suo
*.vs10x
*.ndproj
*.ignorer.*
# Common directories
.DS_Store
._.DS_Store
.vs/
/local/
# Build directories
[Bb]in/
[Db]ebug*/
[Rr]elease*/
obj/
# Tools
_ReSharper*/
_NCrunch_*/
*.ncrunchsolution
*.ncrunchsolution.user
*.ncrunchproject
*.crunchsolution.cache
tools/NDepend/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml
[sS]ource
[sS]andbox
umbraco.config
App_Data/TEMP/*
[Uu]mbraco/[Pp]resentation/[Uu]mbraco/[Pp]lugins/*
[Uu]mbraco/[Pp]resentation/[Uu]ser[Cc]ontrols/*
[Uu]mbraco/[Pp]resentation/[Ss]cripts/*
[Uu]mbraco/[Pp]resentation/[Ff]onts/*
[Uu]mbraco/[Pp]resentation/[Cc]ss/*
src/Umbraco.Tests/App_Data/*
umbraco/presentation/umbraco/plugins/uComponents/uComponentsInstaller.ascx
umbraco/presentation/packages/uComponents/MultiNodePicker/CustomTreeService.asmx
src/Umbraco.Tests/config/applications.config
src/Umbraco.Tests/config/trees.config
src/Umbraco.Tests/config/404handlers.config
src/Umbraco.Tests/[Cc]onfig/umbracoSettings.config
src/packages/
src/packages/repositories.config
*.transformed
node_modules
lib-bower
src/Umbraco.Web.UI.Client/[Bb]uild/*
src/Umbraco.Web.UI.Client/[Bb]uild/[Bb]elle/
src/Umbraco.Web.UI.Client/src/[Ll]ess/*.css
src/Umbraco.Web.UI.Client/vwd.webinfo
src/*.psess
src/*.vspx
NDependOut/*
QueryResult.htm
build/ApiDocs/*
build/ApiDocs/Output/*
src/Umbraco.Web.UI.Client/bower_components/*
# Ignore rule for clearing out Belle (avoid rebuilding all the time)
preserve.belle
# Ignore rule for output of generated documentation files from grunt docserve
src/Umbraco.Web.UI.Docs/api
src/Umbraco.Web.UI.Docs/package-lock.json
src/*.boltdata/
src/umbraco.sln.ide/*
src/.vs/
src/Umbraco.Tests/[Mm]edia
tools/docfx/*
apidocs/_site/*
src/*/project.lock.json
src/.idea/*
apidocs/api/*
build/docs.zip
build/ui-docs.zip
build/csharp-docs.zip
src/packages/
src/PrecompiledWeb/*
# Build
build.out/
build.tmp/
build/hooks/
build/temp/
# Acceptance tests
cypress.env.json
/src/Umbraco.Tests.AcceptanceTest/cypress/support/chainable.ts
/src/Umbraco.Tests.AcceptanceTest/package-lock.json
/src/Umbraco.Tests.AcceptanceTest/cypress/videos/
/src/Umbraco.Tests.AcceptanceTest/cypress/screenshots/
/src/Umbraco.Web.UI.Client/TESTS-*.xml
/src/ApiDocs/api/*
/src/Umbraco.Web.UI.Client/package-lock.json
/src/Umbraco.Web.UI/wwwroot/Media/*
/src/Umbraco.Tests.Integration/App_Data/*
/src/Umbraco.Tests.Integration/TEMP/*
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/assets/*
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/js/*
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/lib/*
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/views/*
/src/Umbraco.Web.UI/wwwroot/App_Data/TEMP/*
/src/Umbraco.Web.UI/App_Data/Logs/*
/src/Umbraco.Web.UI/App_Data/TEMP/TypesCache/*
/src/Umbraco.Web.UI/App_Data/TEMP/*
/src/Umbraco.Web.UI/App_Data/Smidge/Cache/*
/src/Umbraco.Web.UI/[Uu]mbraco/[Ll]ogs
/src/Umbraco.Web.UI/[Uu]mbraco/[Dd]ata/*
/src/Umbraco.Web.UI/[Uu]mbraco/[Mm]odels/*
/src/Umbraco.Web.UI/[Vv]iews/*.vbhtml
/src/Umbraco.Web.UI/appsettings.json
/src/Umbraco.Web.UI/appsettings.Development.json
/src/Umbraco.Web.UI/appsettings.Local.json
src/Umbraco.Tests.Integration/umbraco/Data/
src/Umbraco.Tests.Integration/umbraco/logs/
src/Umbraco.Tests.Integration/Views/
src/Umbraco.Tests/TEMP/
src/Umbraco.Tests.UnitTests/umbraco/Data/TEMP/
src/Umbraco.Tests.Integration.SqlCe/umbraco/Data/TEMP/
src/Umbraco.Tests.Integration.SqlCe/DatabaseContextTests.sdf
src/Umbraco.Web.UI/umbraco/config/appsettings-schema.json

6
.vscode/launch.json vendored
View File

@@ -10,9 +10,9 @@
"request": "launch",
"preLaunchTask": "Dotnet build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/src/Umbraco.Web.UI.NetCore/bin/Debug/net5.0/Umbraco.Web.UI.NetCore.dll",
"program": "${workspaceFolder}/src/Umbraco.Web.UI/bin/Debug/net5.0/Umbraco.Web.UI.dll",
"args": [],
"cwd": "${workspaceFolder}/src/Umbraco.Web.UI.NetCore",
"cwd": "${workspaceFolder}/src/Umbraco.Web.UI",
"stopAtEntry": false,
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
"serverReadyAction": {
@@ -33,4 +33,4 @@
"processId": "${command:pickProcess}"
}
]
}
}

6
.vscode/tasks.json vendored
View File

@@ -50,18 +50,18 @@
},
{
"label": "Dotnet watch",
"detail": "Dotnet run and watch of Web.UI.NetCore",
"detail": "Dotnet run and watch of Web.UI",
"promptOnClose": true,
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"${workspaceFolder}/src/Umbraco.Web.UI.NetCore/Umbraco.Web.UI.NetCore.csproj",
"${workspaceFolder}/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
}
]
}
}

View File

@@ -189,10 +189,10 @@ stages:
- powershell: Invoke-Sqlcmd -Query "CREATE DATABASE $env:UmbracoDatabaseName" -ServerInstance $env:UmbracoDatabaseServer
displayName: Create database
# - task: DotNetCoreCLI@2
# displayName: dotnet build (Netcore)
# displayName: dotnet build
# inputs:
# command: build
# projects: '**/Umbraco.Web.UI.Netcore.csproj'
# projects: '**/Umbraco.Web.UI.csproj'
- task: NodeTool@0
displayName: Use Node 11.x
inputs:
@@ -208,10 +208,10 @@ stages:
gulpFile: src\Umbraco.Web.UI.Client\gulpfile.js
targets: build
workingDirectory: src\Umbraco.Web.UI.Client
- powershell: Start-Process -FilePath "dotnet" -ArgumentList "run", "-p", "src\Umbraco.Web.UI.Netcore\Umbraco.Web.UI.Netcore.csproj"
displayName: dotnet run (Netcore)
# - powershell: dotnet run --no-build -p .\src\Umbraco.Web.UI.NetCore\Umbraco.Web.UI.NetCore.csproj
# displayName: dotnet run (Netcore)
- powershell: Start-Process -FilePath "dotnet" -ArgumentList "run", "-p", "src\Umbraco.Web.UI\Umbraco.Web.UI.csproj"
displayName: dotnet run
# - powershell: dotnet run --no-build -p .\src\Umbraco.Web.UI\Umbraco.Web.UI.csproj
# displayName: dotnet run
- task: PowerShell@1
displayName: Generate Cypress.env.json
inputs:
@@ -302,10 +302,10 @@ stages:
targets: build
workingDirectory: src/Umbraco.Web.UI.Client
- task: Bash@3
displayName: dotnet run (Netcore)
displayName: dotnet run
inputs:
targetType: 'inline'
script: 'nohup dotnet run -p ./src/Umbraco.Web.UI.NetCore/Umbraco.Web.UI.NetCore.csproj &'
script: 'nohup dotnet run -p ./src/Umbraco.Web.UI/Umbraco.Web.UI.csproj &'
- task: Bash@3
displayName: Generate Cypress.env.json
inputs:

View File

@@ -53,7 +53,7 @@
$port = "" + $semver.Major + $semver.Minor + ("" + $semver.Patch).PadLeft(2, '0')
Write-Host "Update port in launchSettings.json to $port"
$filePath = "$($this.SolutionRoot)\src\Umbraco.Web.UI.NetCore\Properties\launchSettings.json"
$filePath = "$($this.SolutionRoot)\src\Umbraco.Web.UI\Properties\launchSettings.json"
$this.ReplaceFileText($filePath, `
"http://localhost:(\d+)?", `
"http://localhost:$port")
@@ -178,13 +178,13 @@
Write-Host "Compile Umbraco"
Write-Host "Logging to $log"
& dotnet build "$src\Umbraco.Web.UI.NetCore\Umbraco.Web.UI.NetCore.csproj" `
& dotnet build "$src\Umbraco.Web.UI\Umbraco.Web.UI.csproj" `
--configuration $buildConfiguration `
--output "$($this.BuildTemp)\bin\\" `
> $log
# get files into WebApp\bin
& dotnet publish "$src\Umbraco.Web.UI.NetCore\Umbraco.Web.UI.NetCore.csproj" `
& dotnet publish "$src\Umbraco.Web.UI\Umbraco.Web.UI.csproj" `
--configuration Release --output "$($this.BuildTemp)\WebApp\bin\\" `
> $log
@@ -200,13 +200,13 @@
$this.RemoveFile($excludeFiles)
# copy rest of the files into WebApp
$this.CopyFiles("$($this.SolutionRoot)\src\Umbraco.Web.UI.NetCore\Umbraco", "*", "$($this.BuildTemp)\WebApp\umbraco")
$this.CopyFiles("$($this.SolutionRoot)\src\Umbraco.Web.UI\Umbraco", "*", "$($this.BuildTemp)\WebApp\umbraco")
$excludeUmbracoDirs = @("$($this.BuildTemp)\WebApp\umbraco\lib")
$this.RemoveDirectory($excludeUmbracoDirs)
$this.CopyFiles("$($this.SolutionRoot)\src\Umbraco.Web.UI.NetCore\Views", "*", "$($this.BuildTemp)\WebApp\Views")
Copy-Item "$($this.SolutionRoot)\src\Umbraco.Web.UI.NetCore\appsettings.json" "$($this.BuildTemp)\WebApp"
$this.CopyFiles("$($this.SolutionRoot)\src\Umbraco.Web.UI\Views", "*", "$($this.BuildTemp)\WebApp\Views")
Copy-Item "$($this.SolutionRoot)\src\Umbraco.Web.UI\appsettings.json" "$($this.BuildTemp)\WebApp"
if (-not $?) { throw "Failed to compile Umbraco.Web.UI.NetCore." }
if (-not $?) { throw "Failed to compile Umbraco.Web.UI." }
# /p:UmbracoBuild tells the csproj that we are building from PS, not VS
})
@@ -296,9 +296,6 @@
$buildConfiguration = "Release"
# restore web.config
#$this.TempRestoreFile("$src\Umbraco.Web.UI\web.config")
# cleanup build
Write-Host "Clean build"
$this.RemoveFile("$tmp\bin\*.dll.config")
@@ -319,9 +316,6 @@
Write-Host "Copy xml documentation"
Copy-Item -force "$tmp\bin\*.xml" "$tmp\WebApp\bin"
# Write-Host "Copy transformed web.config"
# $this.CopyFile("$src\Umbraco.Web.UI\web.$buildConfiguration.Config.transformed", "$tmp\WebApp\web.config")
# offset the modified timestamps on all umbraco dlls, as WebResources
# break if date is in the future, which, due to timezone offsets can happen.
Write-Host "Offset dlls timestamps"
@@ -344,10 +338,10 @@
# copy Belle
Write-Host "Copy Belle"
$this.CopyFiles("$src\Umbraco.Web.UI.NetCore\wwwroot\umbraco\assets", "*", "$tmp\WebApp\wwwroot\umbraco\assets")
$this.CopyFiles("$src\Umbraco.Web.UI.NetCore\wwwroot\umbraco\js", "*", "$tmp\WebApp\wwwroot\umbraco\js")
$this.CopyFiles("$src\Umbraco.Web.UI.NetCore\wwwroot\umbraco\lib", "*", "$tmp\WebApp\wwwroot\umbraco\lib")
$this.CopyFiles("$src\Umbraco.Web.UI.NetCore\wwwroot\umbraco\views", "*", "$tmp\WebApp\wwwroot\umbraco\views")
$this.CopyFiles("$src\Umbraco.Web.UI\wwwroot\umbraco\assets", "*", "$tmp\WebApp\wwwroot\umbraco\assets")
$this.CopyFiles("$src\Umbraco.Web.UI\wwwroot\umbraco\js", "*", "$tmp\WebApp\wwwroot\umbraco\js")
$this.CopyFiles("$src\Umbraco.Web.UI\wwwroot\umbraco\lib", "*", "$tmp\WebApp\wwwroot\umbraco\lib")
$this.CopyFiles("$src\Umbraco.Web.UI\wwwroot\umbraco\views", "*", "$tmp\WebApp\wwwroot\umbraco\views")
@@ -356,9 +350,9 @@
$this.CopyFiles("$templates", "*", "$tmp\Templates")
Write-Host "Copy files for dotnet templates"
$this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "Program.cs", "$tmp\Templates\UmbracoProject")
$this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "Startup.cs", "$tmp\Templates\UmbracoProject")
$this.CopyFiles("$src\Umbraco.Web.UI.NetCore\Views", "*", "$tmp\Templates\UmbracoProject\Views")
$this.CopyFiles("$src\Umbraco.Web.UI", "Program.cs", "$tmp\Templates\UmbracoProject")
$this.CopyFiles("$src\Umbraco.Web.UI", "Startup.cs", "$tmp\Templates\UmbracoProject")
$this.CopyFiles("$src\Umbraco.Web.UI\Views", "*", "$tmp\Templates\UmbracoProject\Views")
$this.RemoveDirectory("$tmp\Templates\UmbracoProject\bin")
})
@@ -366,10 +360,6 @@
$ubuild.DefineMethod("PrepareBuild",
{
# $this.TempStoreFile("$($this.SolutionRoot)\src\Umbraco.Web.UI\web.config")
# Write-Host "Create clean web.config"
# $this.CopyFile("$($this.SolutionRoot)\src\Umbraco.Web.UI\web.Template.config", "$($this.SolutionRoot)\src\Umbraco.Web.UI\web.config")
Write-host "Set environment"
$env:UMBRACO_VERSION=$this.Version.Semver.ToString()
$env:UMBRACO_RELEASE=$this.Version.Release
@@ -453,7 +443,7 @@
{
$this.VerifyNuGetConsistency(
("UmbracoCms"),
("Umbraco.Core", "Umbraco.Infrastructure", "Umbraco.Web.UI.NetCore", "Umbraco.Examine.Lucene", "Umbraco.PublishedCache.NuCache", "Umbraco.Web.Common", "Umbraco.Web.Website", "Umbraco.Web.BackOffice", "Umbraco.Persistence.SqlCe"))
("Umbraco.Core", "Umbraco.Infrastructure", "Umbraco.Web.UI", "Umbraco.Examine.Lucene", "Umbraco.PublishedCache.NuCache", "Umbraco.Web.Common", "Umbraco.Web.Website", "Umbraco.Web.BackOffice", "Umbraco.Persistence.SqlCe"))
if ($this.OnError()) { return }
})

View File

@@ -35,7 +35,7 @@
"type": "generated",
"generator": "regex",
"dataType": "string",
"replaces": "Umbraco.Cms.Web.UI.NetCore",
"replaces": "Umbraco.Cms.Web.UI",
"parameters": {
"source": "name",
"steps": [

View File

@@ -16,7 +16,7 @@
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Umbraco.Web.UI.NetCore": {
"Umbraco.Web.UI": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,

View File

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">Umbraco.Cms.Web.UI.NetCore</RootNamespace>
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">Umbraco.Cms.Web.UI</RootNamespace>
</PropertyGroup>
<ItemGroup>
@@ -39,6 +39,10 @@
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>Always</CopyToPublishDirectory>
</None>
<None Include="App_Plugins\**\*.*">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>Always</CopyToPublishDirectory>
</None>
<None Remove="umbraco\Data\**" />
<None Remove="umbraco\logs\**" />
<None Remove="umbraco\MediaCache\**" />

View File

@@ -1,8 +1,8 @@
@using Umbraco.Web.UI.NetCore
@using Umbraco.Web.UI
@using Umbraco.Extensions
@using Umbraco.Web.PublishedModels
@using Umbraco.Cms.Core.Models.PublishedContent
@using Microsoft.AspNetCore.Html
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Smidge
@inject Smidge.SmidgeHelper SmidgeHelper
@inject Smidge.SmidgeHelper SmidgeHelper

View File

@@ -14,7 +14,6 @@
"**/Umbraco.Web.csproj",
"**/Umbraco.Infrastructure.csproj",
"**/Umbraco.Web.UI.csproj",
"**/Umbraco.Web.UI.Netcore.csproj",
"**/**.Test**/*.csproj"
]
}

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
using System.Threading.Tasks;
using CommandLine;
@@ -9,7 +9,7 @@ namespace JsonSchema
{
private class Options
{
[Option('o', "outputFile", Required = false, HelpText = "Set path of the output file.", Default = "../../../../Umbraco.Web.UI.NetCore/umbraco/config/appsettings-schema.json")]
[Option('o', "outputFile", Required = false, HelpText = "Set path of the output file.", Default = "../../../../Umbraco.Web.UI/umbraco/config/appsettings-schema.json")]
public string OutputFile { get; set; }
}

View File

@@ -17,7 +17,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="5.0.8" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="5.0.9" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" />

View File

@@ -40,6 +40,7 @@ using Umbraco.Cms.Infrastructure.Examine;
using Umbraco.Cms.Infrastructure.HealthChecks;
using Umbraco.Cms.Infrastructure.HostedServices;
using Umbraco.Cms.Infrastructure.Install;
using Umbraco.Cms.Infrastructure.Mail;
using Umbraco.Cms.Infrastructure.Media;
using Umbraco.Cms.Infrastructure.Migrations;
using Umbraco.Cms.Infrastructure.Migrations.Install;
@@ -52,7 +53,6 @@ using Umbraco.Cms.Infrastructure.Runtime;
using Umbraco.Cms.Infrastructure.Search;
using Umbraco.Cms.Infrastructure.Serialization;
using Umbraco.Extensions;
using System;
namespace Umbraco.Cms.Infrastructure.DependencyInjection
{

View File

@@ -13,7 +13,7 @@ using Umbraco.Cms.Core.Notifications;
using Umbraco.Cms.Infrastructure.Extensions;
using SmtpClient = MailKit.Net.Smtp.SmtpClient;
namespace Umbraco.Cms.Infrastructure
namespace Umbraco.Cms.Infrastructure.Mail
{
/// <summary>
/// A utility class for sending emails
@@ -30,11 +30,15 @@ namespace Umbraco.Cms.Infrastructure
ILogger<EmailSender> logger,
IOptions<GlobalSettings> globalSettings,
IEventAggregator eventAggregator)
: this(globalSettings, eventAggregator, null)
=> _logger = logger;
: this(logger, globalSettings, eventAggregator, null) { }
public EmailSender(IOptions<GlobalSettings> globalSettings, IEventAggregator eventAggregator, INotificationHandler<SendEmailNotification> handler)
public EmailSender(
ILogger<EmailSender> logger,
IOptions<GlobalSettings> globalSettings,
IEventAggregator eventAggregator,
INotificationHandler<SendEmailNotification> handler)
{
_logger = logger;
_eventAggregator = eventAggregator;
_globalSettings = globalSettings.Value;
_notificationHandlerRegistered = handler is not null;

View File

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
@@ -18,9 +18,9 @@
<ItemGroup>
<PackageReference Include="HtmlAgilityPack" Version="1.11.34" />
<PackageReference Include="HtmlAgilityPack" Version="1.11.36" />
<PackageReference Include="MailKit" Version="2.14.0" />
<PackageReference Include="IPNetwork2" Version="2.5.329" />
<PackageReference Include="IPNetwork2" Version="2.5.341" />
<PackageReference Include="Markdown" Version="2.2.1" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.8.0" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
@@ -28,20 +28,20 @@
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.2" />
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="5.0.8" />
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="5.0.9" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" />
<PackageReference Include="MiniProfiler.Shared" Version="4.2.22" />
<PackageReference Include="ncrontab" Version="3.3.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="NPoco" Version="4.0.2" />
<PackageReference Include="Serilog" Version="2.10.0" />
<PackageReference Include="Serilog.Enrichers.Process" Version="2.0.1" />
<PackageReference Include="Serilog.Enrichers.Process" Version="2.0.2" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="3.1.0" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="4.1.2" />
<PackageReference Include="Serilog.Filters.Expressions" Version="2.1.0" />
<PackageReference Include="Serilog.Formatting.Compact" Version="1.1.0" />
<PackageReference Include="Serilog.Formatting.Compact.Reader" Version="1.0.5" />
<PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="3.2.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="1.5.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageReference Include="Serilog.Sinks.Map" Version="1.0.2" />

View File

@@ -17,7 +17,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="BenchmarkDotNet">
<Version>0.13.0</Version>
<Version>0.13.1</Version>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Logging.Debug">
<Version>5.0.0</Version>

View File

@@ -8,11 +8,11 @@
<ItemGroup>
<PackageReference Include="Examine.Lucene" Version="2.0.0-beta.154" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="5.0.8" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="5.0.9" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Moq" Version="4.16.1" />
<PackageReference Include="NUnit" Version="3.13.2" />
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0">
<PackageReference Include="NUnit3TestAdapter" Version="4.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

View File

@@ -85,8 +85,8 @@ namespace Umbraco.Cms.Tests.Integration.DependencyInjection
currFolder = currFolder.Parent;
}
DirectoryInfo netcoreUI = currFolder.GetDirectories("Umbraco.Web.UI.NetCore", SearchOption.TopDirectoryOnly).First();
var mainLangFolder = new DirectoryInfo(Path.Combine(netcoreUI.FullName, globalSettings.Value.UmbracoPath.TrimStart("~/"), "config", "lang"));
DirectoryInfo uiProject = currFolder.GetDirectories("Umbraco.Web.UI", SearchOption.TopDirectoryOnly).First();
var mainLangFolder = new DirectoryInfo(Path.Combine(uiProject.FullName, globalSettings.Value.UmbracoPath.TrimStart("~/"), "config", "lang"));
return new LocalizedTextServiceFileSources(
loggerFactory.CreateLogger<LocalizedTextServiceFileSources>(),

View File

@@ -148,16 +148,34 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging
Name = "test",
};
bool result = PackageBuilder.SavePackage(def);
//Update values and save
def.Name = "updated";
def.ContentNodeId = "test";
def.Languages.Add("Danish");
def.Languages.Add("English");
def.Scripts.Add("TestScript1");
def.Scripts.Add("TestScript2");
result = PackageBuilder.SavePackage(def);
Assert.IsTrue(result);
// re-get
def = PackageBuilder.GetById(def.Id);
Assert.AreEqual("updated", def.Name);
// TODO: There's a whole lot more assertions to be done
Assert.Multiple(() =>
{
Assert.AreEqual("updated", def.Name);
Assert.AreEqual("test", def.ContentNodeId);
Assert.AreEqual(2, def.Languages.Count());
Assert.AreEqual(2, def.Scripts.Count());
Assert.AreEqual(0, def.DataTypes.Count());
Assert.AreEqual(0, def.DictionaryItems.Count());
Assert.AreEqual(0, def.DocumentTypes.Count());
Assert.AreEqual(0, def.Macros.Count());
Assert.AreEqual(0, def.MediaTypes.Count());
Assert.AreEqual(0, def.MediaUdis.Count());
Assert.AreEqual(0, def.PartialViews.Count());
Assert.AreEqual(0, def.Stylesheets.Count());
Assert.AreEqual(0, def.Templates.Count());
});
}
[Test]
@@ -259,15 +277,24 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging
using (FileStream packageZipStream = File.OpenRead(packageXmlPath))
using (ZipArchive zipArchive = PackageMigrationResource.GetPackageDataManifest(packageZipStream, out XDocument packageXml))
{
Assert.AreEqual("umbPackage", packageXml.Root.Name.ToString());
Assert.IsNotNull(zipArchive.GetEntry("media/media/test-file.txt"));
Assert.AreEqual(
$"<MediaItems><MediaSet><testImage id=\"{m1.Id}\" key=\"{m1.Key}\" parentID=\"-1\" level=\"1\" creatorID=\"-1\" sortOrder=\"0\" createDate=\"{m1.CreateDate.ToString("s")}\" updateDate=\"{m1.UpdateDate.ToString("s")}\" nodeName=\"Test File\" urlName=\"test-file\" path=\"{m1.Path}\" isDoc=\"\" nodeType=\"{mt.Id}\" nodeTypeAlias=\"testImage\" writerName=\"\" writerID=\"0\" udi=\"{m1.GetUdi()}\" mediaFilePath=\"/media/test-file.txt\"><umbracoFile><![CDATA[/media/test-file.txt]]></umbracoFile><umbracoBytes><![CDATA[100]]></umbracoBytes><umbracoExtension><![CDATA[png]]></umbracoExtension></testImage></MediaSet></MediaItems>",
packageXml.Element("umbPackage").Element("MediaItems").ToString(SaveOptions.DisableFormatting));
// TODO: There's a whole lot more assertions to be done
string test = "test-file.txt";
Assert.Multiple(() =>
{
var mediaEntry = zipArchive.GetEntry("media/media/test-file.txt");
Assert.AreEqual("umbPackage", packageXml.Root.Name.ToString());
Assert.IsNotNull(mediaEntry);
Assert.AreEqual(test, mediaEntry.Name);
Assert.IsNotNull(zipArchive.GetEntry("package.xml"));
Assert.AreEqual(
$"<MediaItems><MediaSet><testImage id=\"{m1.Id}\" key=\"{m1.Key}\" parentID=\"-1\" level=\"1\" creatorID=\"-1\" sortOrder=\"0\" createDate=\"{m1.CreateDate.ToString("s")}\" updateDate=\"{m1.UpdateDate.ToString("s")}\" nodeName=\"Test File\" urlName=\"test-file\" path=\"{m1.Path}\" isDoc=\"\" nodeType=\"{mt.Id}\" nodeTypeAlias=\"testImage\" writerName=\"\" writerID=\"0\" udi=\"{m1.GetUdi()}\" mediaFilePath=\"/media/test-file.txt\"><umbracoFile><![CDATA[/media/test-file.txt]]></umbracoFile><umbracoBytes><![CDATA[100]]></umbracoBytes><umbracoExtension><![CDATA[png]]></umbracoExtension></testImage></MediaSet></MediaItems>",
packageXml.Element("umbPackage").Element("MediaItems").ToString(SaveOptions.DisableFormatting));
Assert.AreEqual(2, zipArchive.Entries.Count());
Assert.AreEqual(ZipArchiveMode.Read, zipArchive.Mode);
Assert.IsNull(packageXml.DocumentType);
Assert.IsNull(packageXml.NextNode);
Assert.IsNull(packageXml.Parent);
Assert.IsNull(packageXml.PreviousNode);
});
}
}
@@ -297,12 +324,15 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging
using (var packageXmlStream = File.OpenRead(packageXmlPath))
{
var xml = XDocument.Load(packageXmlStream);
Assert.AreEqual("umbPackage", xml.Root.Name.ToString());
Assert.AreEqual($"<Templates><Template><Name>Text page</Name><Alias>textPage</Alias><Design><![CDATA[@using Umbraco.Cms.Web.Common.PublishedModels;{Environment.NewLine}@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage{Environment.NewLine}@{{{Environment.NewLine}\tLayout = null;{Environment.NewLine}}}]]></Design></Template></Templates>", xml.Element("umbPackage").Element("Templates").ToString(SaveOptions.DisableFormatting));
// TODO: There's a whole lot more assertions to be done
Assert.Multiple(() =>
{
Assert.AreEqual("umbPackage", xml.Root.Name.ToString());
Assert.AreEqual($"<Templates><Template><Name>Text page</Name><Alias>textPage</Alias><Design><![CDATA[@using Umbraco.Cms.Web.Common.PublishedModels;{Environment.NewLine}@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage{Environment.NewLine}@{{{Environment.NewLine}\tLayout = null;{Environment.NewLine}}}]]></Design></Template></Templates>", xml.Element("umbPackage").Element("Templates").ToString(SaveOptions.DisableFormatting));
Assert.IsNull(xml.DocumentType);
Assert.IsNull(xml.Parent);
Assert.IsNull(xml.NextNode);
Assert.IsNull(xml.PreviousNode);
});
}
}
}

View File

@@ -32,9 +32,12 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging
var testPackageFile = new FileInfo(Path.Combine(HostingEnvironment.MapPathContentRoot("~/TestData/Packages"), DocumentTypePickerPackage));
using var fileStream = testPackageFile.OpenRead();
CompiledPackage package = PackageInstallation.ReadPackage(XDocument.Load(fileStream));
Assert.IsNotNull(package);
Assert.AreEqual("Document Type Picker", package.Name);
Assert.AreEqual(1, package.DataTypes.Count());
Assert.Multiple(() =>
{
Assert.IsNotNull(package);
Assert.AreEqual("Document Type Picker", package.Name);
Assert.AreEqual(1, package.DataTypes.Count());
});
}
[Test]
@@ -43,12 +46,15 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging
var testPackageFile = new FileInfo(Path.Combine(HostingEnvironment.MapPathContentRoot("~/TestData/Packages"), HelloPackage));
using var fileStream = testPackageFile.OpenRead();
CompiledPackage package = PackageInstallation.ReadPackage(XDocument.Load(fileStream));
Assert.IsNotNull(package);
Assert.AreEqual("Hello", package.Name);
Assert.AreEqual(1, package.Documents.Count());
Assert.AreEqual(1, package.DocumentTypes.Count());
Assert.AreEqual(1, package.Templates.Count());
Assert.AreEqual(1, package.DataTypes.Count());
Assert.Multiple(() =>
{
Assert.IsNotNull(package);
Assert.AreEqual("Hello", package.Name);
Assert.AreEqual(1, package.Documents.Count());
Assert.AreEqual(1, package.DocumentTypes.Count());
Assert.AreEqual(1, package.Templates.Count());
Assert.AreEqual(1, package.DataTypes.Count());
});
}
[Test]
@@ -66,9 +72,17 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging
using var fileStream = File.OpenRead(packageFile);
CompiledPackage package = PackageInstallation.ReadPackage(XDocument.Load(fileStream));
InstallWarnings preInstallWarnings = package.Warnings;
Assert.IsNotNull(preInstallWarnings);
// TODO: More Asserts
var dataType = package.DataTypes.First();
Assert.Multiple(() =>
{
Assert.AreEqual("Document Type Picker", package.Name);
Assert.AreEqual("3593d8e7-8b35-47b9-beda-5e830ca8c93c", dataType.LastAttribute?.Value);
Assert.AreEqual("Document Type Picker", dataType.FirstAttribute?.Value);
Assert.IsNotNull(preInstallWarnings);
Assert.AreEqual(0, preInstallWarnings.ConflictingMacros.Count());
Assert.AreEqual(0, preInstallWarnings.ConflictingStylesheets.Count());
Assert.AreEqual(0, preInstallWarnings.ConflictingTemplates.Count());
});
}
[Test]

View File

@@ -76,11 +76,11 @@
<ItemGroup>
<PackageReference Include="Examine.Lucene" Version="2.0.0-beta.154" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="5.0.8" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="5.0.9" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Moq" Version="4.16.1" />
<PackageReference Include="NUnit" Version="3.13.2" />
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0">
<PackageReference Include="NUnit3TestAdapter" Version="4.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

View File

@@ -8,10 +8,8 @@ using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Reflection;
using Castle.Core.Logging;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using Moq;
@@ -36,13 +34,12 @@ using Umbraco.Cms.Core.Routing;
using Umbraco.Cms.Core.Runtime;
using Umbraco.Cms.Core.Serialization;
using Umbraco.Cms.Core.Strings;
using Umbraco.Cms.Infrastructure;
using Umbraco.Cms.Infrastructure.Mail;
using Umbraco.Cms.Infrastructure.Persistence;
using Umbraco.Cms.Infrastructure.Persistence.Mappers;
using Umbraco.Cms.Infrastructure.Persistence.SqlSyntax;
using Umbraco.Cms.Tests.Common;
using Umbraco.Cms.Tests.Common.Testing;
using Umbraco.Cms.Web.Common.AspNetCore;
using Umbraco.Extensions;
using Constants = Umbraco.Cms.Core.Constants;
using File = System.IO.File;

View File

@@ -16,9 +16,9 @@
<ItemGroup>
<PackageReference Include="AngleSharp" Version="0.16.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="NUnit" Version="3.13.2" />
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.0.0" />
<PackageReference Include="System.Data.Odbc" Version="5.0.0" />
<PackageReference Include="System.Data.OleDb" Version="5.0.0" />
</ItemGroup>

View File

@@ -31,7 +31,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common
private IEnumerable<string> GetUiFiles(IEnumerable<string> pathFromNetCore)
{
var sourceRoot = TestContext.CurrentContext.TestDirectory.Split("Umbraco.Tests.UnitTests")[0];
var pathToFiles = Path.Combine(sourceRoot, "Umbraco.Web.UI.NetCore");
var pathToFiles = Path.Combine(sourceRoot, "Umbraco.Web.UI");
foreach (var pathSection in pathFromNetCore)
{
pathToFiles = Path.Combine(pathToFiles, pathSection);

View File

@@ -25,8 +25,8 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.8" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.8" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.9" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.9" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

View File

@@ -81,7 +81,7 @@ module.exports = {
assets: "./src/assets/**"
}
},
roots: ["../Umbraco.Web.UI.NetCore/wwwroot/"],
roots: ["../Umbraco.Web.UI/wwwroot/"],
targets: {
js: "umbraco/js/",
lib: "umbraco/lib/",

View File

@@ -34,12 +34,12 @@ module.exports = function (config) {
'test/config/app.unit.js',
//application files
'../Umbraco.Web.UI.NetCore/wwwroot/umbraco/js/*.controllers.min.js',
'../Umbraco.Web.UI.NetCore/wwwroot/umbraco/js/*.directives.min.js',
'../Umbraco.Web.UI.NetCore/wwwroot/umbraco/js/*.filters.min.js',
'../Umbraco.Web.UI.NetCore/wwwroot/umbraco/js/*.services.min.js',
'../Umbraco.Web.UI.NetCore/wwwroot/umbraco/js/*.interceptors.min.js',
'../Umbraco.Web.UI.NetCore/wwwroot/umbraco/js/*.resources.min.js',
'../Umbraco.Web.UI/wwwroot/umbraco/js/*.controllers.min.js',
'../Umbraco.Web.UI/wwwroot/umbraco/js/*.directives.min.js',
'../Umbraco.Web.UI/wwwroot/umbraco/js/*.filters.min.js',
'../Umbraco.Web.UI/wwwroot/umbraco/js/*.services.min.js',
'../Umbraco.Web.UI/wwwroot/umbraco/js/*.interceptors.min.js',
'../Umbraco.Web.UI/wwwroot/umbraco/js/*.resources.min.js',
//mocked data and routing
'src/common/mocks/umbraco.servervariables.js',

View File

@@ -3,7 +3,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
namespace Umbraco.Cms.Web.UI.NetCore
namespace Umbraco.Cms.Web.UI
{
public class Program
{

View File

@@ -16,7 +16,7 @@
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Umbraco.Web.UI.NetCore": {
"Umbraco.Web.UI": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {

View File

@@ -7,7 +7,7 @@ using Microsoft.Extensions.Hosting;
using Umbraco.Cms.Core.DependencyInjection;
using Umbraco.Extensions;
namespace Umbraco.Cms.Web.UI.NetCore
namespace Umbraco.Cms.Web.UI
{
public class Startup
{

View File

@@ -2,10 +2,10 @@
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>Umbraco.Cms.Web.UI.NetCore</RootNamespace>
<RootNamespace>Umbraco.Cms.Web.UI</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DocumentationFile>bin/Release/Umbraco.Web.UI.NetCore.xml</DocumentationFile>
<DocumentationFile>bin/Release/Umbraco.Web.UI.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<CopyRazorGenerateFilesToPublishDirectory>true</CopyRazorGenerateFilesToPublishDirectory>
@@ -66,7 +66,7 @@
<!-- We don't want to include the generated files, they will throw a lot of errors -->
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.8" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.9" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@@ -111,7 +111,7 @@
<!-- <Exec WorkingDirectory="$(ProjectDir)/../../src/Umbraco.Web.UI.Client/" Command="powershell -ExecutionPolicy RemoteSigned -Command '&amp;{ npm install ; npm run build }'" />-->
</Target>
<Target Name="JsonSchemaBuild">
<!-- <Exec WorkingDirectory="$(ProjectDir)/../../" Command="powershell -ExecutionPolicy RemoteSigned -Command '&amp;dotnet run &#45;&#45;project $pwd/src/JsonSchema/JsonSchema.csproj -c Release &#45;&#45; &#45;&#45;outputFile $pwd/src/Umbraco.Web.UI.NetCore/$(JsonSchemaPath)'" />-->
<!-- <Exec WorkingDirectory="$(ProjectDir)/../../" Command="powershell -ExecutionPolicy RemoteSigned -Command '&amp;dotnet run &#45;&#45;project $pwd/src/JsonSchema/JsonSchema.csproj -c Release &#45;&#45; &#45;&#45;outputFile $pwd/src/Umbraco.Web.UI/$(JsonSchemaPath)'" />-->
</Target>
<Target Name="AppsettingsBuild">
<Message Text="Generating appsettings.json because it doesnt exist" Importance="High" />

View File

@@ -1,5 +1,5 @@
@using Umbraco.Extensions
@using Umbraco.Cms.Web.UI.NetCore
@using Umbraco.Cms.Web.UI
@using Umbraco.Cms.Web.Common.PublishedModels
@using Umbraco.Cms.Web.Common.Views
@using Umbraco.Cms.Core.Models.PublishedContent

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29209.152
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.UI", "Umbraco.Web.UI\Umbraco.Web.UI.csproj", "{DCDFE97C-5630-4F6F-855D-8AEEB96556A5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{2849E9D4-3B4E-40A3-A309-F3CB4F0E125F}"
ProjectSection(SolutionItems) = preProject
..\linting\.editorconfig = ..\linting\.editorconfig
@@ -128,8 +130,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.PublishedCache.NuCa
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.BackOffice", "Umbraco.Web.BackOffice\Umbraco.Web.BackOffice.csproj", "{9B95EEF7-63FE-4432-8C63-166BE9C1A929}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.UI.NetCore", "Umbraco.Web.UI.NetCore\Umbraco.Web.UI.NetCore.csproj", "{DCDFE97C-5630-4F6F-855D-8AEEB96556A5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.Website", "Umbraco.Web.Website\Umbraco.Web.Website.csproj", "{5A246D54-3109-4D2B-BE7D-FC0787D126AE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Tests.Common", "Umbraco.Tests.Common\Umbraco.Tests.Common.csproj", "{A499779C-1B3B-48A8-B551-458E582E6E96}"

View File

@@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29209.152
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.UI", "Umbraco.Web.UI\Umbraco.Web.UI.csproj", "{DCDFE97C-5630-4F6F-855D-8AEEB96556A5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{2849E9D4-3B4E-40A3-A309-F3CB4F0E125F}"
ProjectSection(SolutionItems) = preProject
..\linting\.editorconfig = ..\linting\.editorconfig
@@ -136,8 +138,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Examine.Lucene", "U
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.BackOffice", "Umbraco.Web.BackOffice\Umbraco.Web.BackOffice.csproj", "{9B95EEF7-63FE-4432-8C63-166BE9C1A929}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.UI.NetCore", "Umbraco.Web.UI.NetCore\Umbraco.Web.UI.NetCore.csproj", "{DCDFE97C-5630-4F6F-855D-8AEEB96556A5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Web.Website", "Umbraco.Web.Website\Umbraco.Web.Website.csproj", "{5A246D54-3109-4D2B-BE7D-FC0787D126AE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Umbraco.Tests.Integration", "Umbraco.Tests.Integration\Umbraco.Tests.Integration.csproj", "{D6319409-777A-4BD0-93ED-B2DFD805B32C}"