diff --git a/.azure/pipelines/ci-public.yml b/.azure/pipelines/ci-public.yml
index 9e948d2d08e0..32c706e48213 100644
--- a/.azure/pipelines/ci-public.yml
+++ b/.azure/pipelines/ci-public.yml
@@ -79,14 +79,6 @@ variables:
value: true
- template: /eng/common/templates/variables/pool-providers.yml
-resources:
- containers:
- - container: debpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
-
- - container: rpmpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
-
stages:
- stage: build
displayName: Build
@@ -313,43 +305,13 @@ stages:
--ci
--arch x64
--pack
+ --build-installers
--all
--no-build-java
-p:OnlyPackPlatformSpecificPackages=true
$(_BuildArgs)
$(_InternalRuntimeDownloadArgs)
displayName: Run build.sh
- - script: ./eng/build.sh
- --ci
- --nobl
- --arch x64
- --build-installers
- --no-build-deps
- --no-build-nodejs
- -p:OnlyPackPlatformSpecificPackages=true
- -p:BuildRuntimeArchive=false
- -p:LinuxInstallerType=deb
- $(_BuildArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Build Debian installers
- target: debpkg
- - script: ./eng/build.sh
- --ci
- --nobl
- --arch x64
- --build-installers
- --no-build-deps
- --no-build-nodejs
- --publish
- -p:OnlyPackPlatformSpecificPackages=true
- -p:BuildRuntimeArchive=false
- -p:LinuxInstallerType=rpm
- -p:AssetManifestFileName=aspnetcore-Linux_x64.xml
- $(_BuildArgs)
- $(_PublishArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Build RPM installers
- target: rpmpkg
artifacts:
- name: Linux_x64_Logs_Attempt_$(System.JobAttempt)
path: artifacts/log/
@@ -404,29 +366,13 @@ stages:
--ci
--arch arm64
--pack
+ --build-installers
--all
--no-build-java
-p:OnlyPackPlatformSpecificPackages=true
$(_BuildArgs)
$(_InternalRuntimeDownloadArgs)
displayName: Run build.sh
- - script: ./eng/build.sh
- --ci
- --nobl
- --arch arm64
- --build-installers
- --no-build-deps
- --no-build-nodejs
- --publish
- -p:OnlyPackPlatformSpecificPackages=true
- -p:BuildRuntimeArchive=false
- -p:LinuxInstallerType=rpm
- -p:AssetManifestFileName=aspnetcore-Linux_arm64.xml
- $(_BuildArgs)
- $(_PublishArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Build RPM installers
- target: rpmpkg
artifacts:
- name: Linux_arm64_Logs_Attempt_$(System.JobAttempt)
path: artifacts/log/
diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index 3952b81304a8..5b17f5ecc48b 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -44,9 +44,13 @@ variables:
- ${{ if or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/'), eq(variables['Build.Reason'], 'Manual')) }}:
- name: PostBuildSign
value: false
+ - name: _ArcadePublishNonWindowsArg
+ value: ''
- ${{ else }}:
- name: PostBuildSign
value: true
+ - name: _ArcadePublishNonWindowsArg
+ value: --publish
- name: _UseHelixOpenQueues
value: ${{ ne(variables['System.TeamProject'], 'internal') }}
- ${{ if and(notin(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.SourceBranch'], 'refs/heads/main')) }}:
@@ -121,12 +125,6 @@ variables:
- template: /eng/common/templates-official/variables/pool-providers.yml@self
resources:
- containers:
- - container: debpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
-
- - container: rpmpkg
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
repositories:
# Repo: 1ESPipelineTemplates/1ESPipelineTemplates
- repository: 1esPipelines
@@ -321,7 +319,7 @@ extends:
--pack
--all
--no-build-java
- --publish
+ $(_ArcadePublishNonWindowsArg)
-p:OnlyPackPlatformSpecificPackages=true
-p:AssetManifestFileName=aspnetcore-MacOS_arm64.xml
$(_BuildArgs)
@@ -351,7 +349,7 @@ extends:
--pack
--all
--no-build-java
- --publish
+ $(_ArcadePublishNonWindowsArg)
-p:OnlyPackPlatformSpecificPackages=true
-p:AssetManifestFileName=aspnetcore-MacOS_x64.xml
$(_BuildArgs)
@@ -377,48 +375,15 @@ extends:
jobDisplayName: "Build: Linux x64"
agentOs: Linux
useHostedUbuntu: false
- steps:
- - script: ./eng/build.sh
- --ci
- --arch x64
- --pack
- --all
- --no-build-java
- -p:OnlyPackPlatformSpecificPackages=true
- $(_BuildArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Run build.sh
- - script: ./eng/build.sh
- --ci
- --nobl
- --arch x64
- --build-installers
- --no-build-deps
- --no-build-nodejs
- -p:OnlyPackPlatformSpecificPackages=true
- -p:BuildRuntimeArchive=false
- -p:LinuxInstallerType=deb
- $(_BuildArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Build Debian installers
- target: debpkg
- - script: ./eng/build.sh
- --ci
- --nobl
- --arch x64
- --build-installers
- --no-build-deps
- --no-build-nodejs
- --publish
- -p:OnlyPackPlatformSpecificPackages=true
- -p:BuildRuntimeArchive=false
- -p:LinuxInstallerType=rpm
- -p:AssetManifestFileName=aspnetcore-Linux_x64.xml
- $(_BuildArgs)
- $(_PublishArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Build RPM installers
- target: rpmpkg
+ buildArgs:
+ --arch x64
+ --pack
+ --all
+ --build-installers
+ --no-build-java
+ -p:OnlyPackPlatformSpecificPackages=true
+ $(_BuildArgs)
+ $(_InternalRuntimeDownloadArgs)
artifacts:
- name: Linux_x64_Logs_Attempt_$(System.JobAttempt)
path: artifacts/log/
@@ -443,7 +408,7 @@ extends:
--pack
--all
--no-build-java
- --publish
+ $(_ArcadePublishNonWindowsArg)
-p:OnlyPackPlatformSpecificPackages=true
-p:AssetManifestFileName=aspnetcore-Linux_arm.xml
$(_BuildArgs)
@@ -468,34 +433,15 @@ extends:
jobName: Linux_arm64_build
jobDisplayName: "Build: Linux ARM64"
agentOs: Linux
- steps:
- - script: ./eng/build.sh
- --ci
- --arch arm64
- --pack
- --all
- --no-build-java
- -p:OnlyPackPlatformSpecificPackages=true
- $(_BuildArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Run build.sh
- - script: ./eng/build.sh
- --ci
- --nobl
- --arch arm64
- --build-installers
- --no-build-deps
- --no-build-nodejs
- --publish
- -p:OnlyPackPlatformSpecificPackages=true
- -p:BuildRuntimeArchive=false
- -p:LinuxInstallerType=rpm
- -p:AssetManifestFileName=aspnetcore-Linux_arm64.xml
- $(_BuildArgs)
- $(_PublishArgs)
- $(_InternalRuntimeDownloadArgs)
- displayName: Build RPM installers
- target: rpmpkg
+ buildArgs:
+ --arch arm64
+ --pack
+ --all
+ --build-installers
+ --no-build-java
+ -p:OnlyPackPlatformSpecificPackages=true
+ $(_BuildArgs)
+ $(_InternalRuntimeDownloadArgs)
artifacts:
- name: Linux_arm64_Logs_Attempt_$(System.JobAttempt)
path: artifacts/log/
@@ -522,7 +468,7 @@ extends:
--pack
--all
--no-build-java
- --publish
+ $(_ArcadePublishNonWindowsArg)
-p:OnlyPackPlatformSpecificPackages=true
-p:AssetManifestFileName=aspnetcore-Linux_musl_x64.xml
$(_BuildArgs)
@@ -556,7 +502,7 @@ extends:
--pack
--all
--no-build-java
- --publish
+ $(_ArcadePublishNonWindowsArg)
-p:OnlyPackPlatformSpecificPackages=true
-p:AssetManifestFileName=aspnetcore-Linux_musl_arm.xml
$(_BuildArgs)
@@ -589,7 +535,7 @@ extends:
--pack
--all
--no-build-java
- --publish
+ $(_ArcadePublishNonWindowsArg)
-p:OnlyPackPlatformSpecificPackages=true
-p:AssetManifestFileName=aspnetcore-Linux_musl_arm64.xml
$(_BuildArgs)
diff --git a/.azure/pipelines/jobs/codesign-xplat.yml b/.azure/pipelines/jobs/codesign-xplat.yml
index 800da4f41398..13ff68a3ecd1 100644
--- a/.azure/pipelines/jobs/codesign-xplat.yml
+++ b/.azure/pipelines/jobs/codesign-xplat.yml
@@ -19,12 +19,20 @@ jobs:
inputs:
artifactName: ${{ parameters.inputName }}_Packages
downloadPath: $(Build.StagingDirectory)/downloaded_packages/
- itemPattern: '**/*.nupkg'
+ itemPattern: |
+ **/*.nupkg
+ **/*.tar.gz
+ **/*.deb
+ **/*.rpm
- task: CopyFiles@2
displayName: Copy packages to ArtifactsShippingPackagesDir
inputs:
sourceFolder: $(Build.StagingDirectory)/downloaded_packages/
- contents: '**/*.nupkg'
+ contents: |
+ **/*.nupkg
+ **/*.tar.gz
+ **/*.deb
+ **/*.rpm
targetFolder: $(Build.SourcesDirectory)/artifacts/packages/$(BuildConfiguration)/shipping/
flattenFolders: true
- powershell: .\eng\common\build.ps1
diff --git a/AspNetCore.sln b/AspNetCore.sln
index c7d7ef51fe8c..c4376f8af865 100644
--- a/AspNetCore.sln
+++ b/AspNetCore.sln
@@ -972,7 +972,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Framework", "Framework", "{
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "App.Runtime", "App.Runtime", "{F1A6BA04-853E-43B5-B27E-54558603837B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.App.Runtime", "src\Framework\App.Runtime\src\Microsoft.AspNetCore.App.Runtime.csproj", "{3163C56E-99BC-4BD1-8880-4F94A2407741}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.App.Runtime", "src\Framework\App.Runtime\src\Microsoft.AspNetCore.App.Runtime.sfxproj", "{3163C56E-99BC-4BD1-8880-4F94A2407741}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Test", "src\Razor\Razor\test\Microsoft.AspNetCore.Razor.Test.csproj", "{776BFCDC-8591-4E3D-BD0D-858A188A033D}"
EndProject
@@ -1354,7 +1354,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.FilePr
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.FileProviders.Embedded.Tests", "src\FileProviders\Embedded\test\Microsoft.Extensions.FileProviders.Embedded.Tests.csproj", "{B06ADD57-E855-4D8C-85DC-B323509AE540}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.App.Ref", "src\Framework\App.Ref\src\Microsoft.AspNetCore.App.Ref.csproj", "{BAD47859-95DF-4C8F-9AF7-C48B68F478A1}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.App.Ref", "src\Framework\App.Ref\src\Microsoft.AspNetCore.App.Ref.sfxproj", "{BAD47859-95DF-4C8F-9AF7-C48B68F478A1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.App.UnitTests", "src\Framework\test\Microsoft.AspNetCore.App.UnitTests.csproj", "{010A9638-F20E-4FE6-A186-85732BFC9CB0}"
EndProject
diff --git a/Directory.Build.BeforeCommonTargets.targets b/Directory.Build.BeforeCommonTargets.targets
index f25d6a7ebff7..8ce4366421d1 100644
--- a/Directory.Build.BeforeCommonTargets.targets
+++ b/Directory.Build.BeforeCommonTargets.targets
@@ -6,7 +6,7 @@
Condition="'$(ExcludeFromSourceOnlyBuild)' == '' and
'$(DotNetBuildSourceOnly)' == 'true' and
'$(IsAspNetCoreApp)' != 'true' and
- '$(MSBuildProjectName)' != '$(TargetingPackName)' and
+ '$(UsingMicrosoftDotNetSharedFrameworkSdk)' != 'true' and
'$(IsAnalyzersProject)' != 'true' and
'$(IsProjectTemplateProject)' != 'true'">true
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 140420599154..a8c939164a17 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -180,6 +180,7 @@
+
-
-
diff --git a/eng/Publishing.props b/eng/Publishing.props
index 002b0d7fb8ee..eb1e5734d6cb 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -12,7 +12,7 @@
'$(PostBuildSign)' != 'true' and
'$(DotNetBuildRepo)' != 'true'">false
- true
false
@@ -31,13 +31,15 @@
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.version" UploadPathSegment="Runtime" Condition="'$(PublishInstallerBaseVersion)' == 'true'" />
- <_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.deb" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
+ <_InstallersToPublish Include="$(ArtifactsDir)packages\**\*.deb" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
+ <_InstallersToPublish Include="$(ArtifactsDir)packages\**\*.rpm" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
+ <_InstallersToPublish Include="$(ArtifactsDir)packages\**\*.tar.gz" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
+ <_InstallersToPublish Include="$(ArtifactsDir)packages\**\*.zip" UploadPathSegment="Runtime" />
+
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.exe" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.msi" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
- <_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.rpm" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
- <_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.tar.gz" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.wixlib" UploadPathSegment="Runtime" ChecksumPath="%(FullPath).sha512" />
- <_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.zip" UploadPathSegment="Runtime" >
+ <_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.zip" UploadPathSegment="Runtime">
%(FullPath).sha512
diff --git a/eng/Signing.props b/eng/Signing.props
index c8f233696c6f..d53f37c7dce8 100644
--- a/eng/Signing.props
+++ b/eng/Signing.props
@@ -19,7 +19,7 @@
-
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 0d252893f378..2d6bdceeea90 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -394,6 +394,10 @@
e8de3415124309210e4cbd0105e4a9da8dc01696
+
+ https://github.com/dotnet/arcade
+ e8de3415124309210e4cbd0105e4a9da8dc01696
+
https://github.com/dotnet/arcade
e8de3415124309210e4cbd0105e4a9da8dc01696
@@ -410,6 +414,10 @@
https://github.com/dotnet/arcade
e8de3415124309210e4cbd0105e4a9da8dc01696
+
+ https://github.com/dotnet/arcade
+ e8de3415124309210e4cbd0105e4a9da8dc01696
+
https://github.com/dotnet/extensions
eace8d6bd03997f1f6a271547b03cf4a44b23657
@@ -430,6 +438,26 @@
https://github.com/nuget/nuget.client
8fef55f5a55a3b4f2c96cd1a9b5ddc51d4b927f8
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
+ 9d7532585ce71e30ab55f0364d3cecccaf0775d1
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
+ 9d7532585ce71e30ab55f0364d3cecccaf0775d1
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
+ 9d7532585ce71e30ab55f0364d3cecccaf0775d1
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
+ 9d7532585ce71e30ab55f0364d3cecccaf0775d1
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
+ 9d7532585ce71e30ab55f0364d3cecccaf0775d1
+
https://github.com/dotnet/symreader
diff --git a/eng/Versions.props b/eng/Versions.props
index c9e8cc2df0ea..bdcc5f6f1843 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -165,6 +165,7 @@
6.2.4
6.2.4
+ 10.0.0-beta.24578.2
10.0.0-beta.24578.2
10.0.0-beta.24578.2
10.0.0-beta.24578.2
@@ -178,6 +179,12 @@
9.0.0-preview.24522.2
9.0.0-preview.24522.2
+
+ 1.0.0-prerelease.24462.2
+ 1.0.0-prerelease.24462.2
+ 1.0.0-prerelease.24462.2
+ 1.0.0-prerelease.24462.2
+ 1.0.0-prerelease.24462.2
-
-
+
+
- @(_ResolvedProductVersionInfo->'%(PackageVersion)')
<_AppRefSubPath>$([System.IO.Path]::Combine('packs', 'Microsoft.AspNetCore.App.Ref', '$(SharedFxVersion)'))
<_AppRuntimeSubPath>$([System.IO.Path]::Combine('shared', 'Microsoft.AspNetCore.App', '$(SharedFxVersion)'))
<_AppRefPath>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'obj', 'TargetingPack.Layout', '$(Configuration)', '$(_AppRefSubPath)'))
diff --git a/eng/targets/ResolveReferences.targets b/eng/targets/ResolveReferences.targets
index a4018289c9c4..6dd4f551a26e 100644
--- a/eng/targets/ResolveReferences.targets
+++ b/eng/targets/ResolveReferences.targets
@@ -245,6 +245,7 @@
+ $(_CompileTfmUsingReferenceAssemblies)) ">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(GetSharedFrameworkFilesForReadyToRunDependsOn);_AddOptimizationDataForReadyToRun
+
+
+
+
+
+
+ $(NuGetPackageRoot)%(MIBCPackage.Identity)/%(MIBCPackage.Version)
+
+
+
+
+
diff --git a/global.json b/global.json
index 644c64bd7f20..d519eb67ed1a 100644
--- a/global.json
+++ b/global.json
@@ -28,6 +28,9 @@
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.24578.2",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.24578.2"
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.24578.2",
+ "Microsoft.DotNet.SharedFramework.Sdk" : "10.0.0-beta.24578.2",
+ "Microsoft.Build.NoTargets": "3.7.0",
+ "Microsoft.Build.Traversal": "3.4.0"
}
}
diff --git a/src/BuildAfterTargetingPack/BuildAfterTargetingPack.csproj b/src/BuildAfterTargetingPack/BuildAfterTargetingPack.csproj
index c7d6da260af9..c87922cf1026 100644
--- a/src/BuildAfterTargetingPack/BuildAfterTargetingPack.csproj
+++ b/src/BuildAfterTargetingPack/BuildAfterTargetingPack.csproj
@@ -32,7 +32,7 @@
-
diff --git a/src/Components/WebAssembly/DevServer/src/Microsoft.AspNetCore.Components.WebAssembly.DevServer.csproj b/src/Components/WebAssembly/DevServer/src/Microsoft.AspNetCore.Components.WebAssembly.DevServer.csproj
index f719a274c732..b24c6bd6ac9e 100644
--- a/src/Components/WebAssembly/DevServer/src/Microsoft.AspNetCore.Components.WebAssembly.DevServer.csproj
+++ b/src/Components/WebAssembly/DevServer/src/Microsoft.AspNetCore.Components.WebAssembly.DevServer.csproj
@@ -29,7 +29,7 @@
-
diff --git a/src/Framework/App.Ref/src/CompatibilitySuppressions.xml b/src/Framework/App.Ref/src/CompatibilitySuppressions.xml
index ecd8cd0d2dea..8aab0193f779 100644
--- a/src/Framework/App.Ref/src/CompatibilitySuppressions.xml
+++ b/src/Framework/App.Ref/src/CompatibilitySuppressions.xml
@@ -1,5 +1,5 @@
-
+
PKV004
diff --git a/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj b/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj
deleted file mode 100644
index 82d88cfd500c..000000000000
--- a/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj
+++ /dev/null
@@ -1,270 +0,0 @@
-
-
-
-
- $(DefaultNetCoreTargetFramework)
- $(TargetingPackName)
- $(TargetingPackVersionPrefix)
-
-
-
- $(NoWarn);NU5128;NU1605
-
- Provides a default set of APIs for building an ASP.NET Core application. Contains reference assemblies, documentation, and other design-time assets.
-
-This package is an internal implementation of the .NET Core SDK and is not meant to be used as a normal PackageReference.
- aspnetcore;targeting-pack
- true
-
- DotnetPlatform
- ref/$(TargetFramework)/
-
-
- false
-
-
- none
- false
- false
- false
- false
- false
-
-
- false
-
-
- MSB3243
-
- $(NoWarn);NU5131;NU5128
-
-
- FrameworkList.xml
- $(BaseIntermediateOutputPath)$(FrameworkListFileName)
-
-
- $(PkgMicrosoft_Internal_Runtime_AspNetCore_Transport)\ref\$(TargetFramework)\
-
-
- PackageOverrides.txt
-
- $(BaseIntermediateOutputPath)$(PackageOverridesFileName)
- $(RepoRoot)eng\$(PackageOverridesFileName)
-
- $(PlatformManifestOutputPath)
- $(RepoRoot)eng\PlatformManifest.txt
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- packs\Microsoft.AspNetCore.App.Ref\$(PackageVersion)\
- $(TargetingPackLayoutRoot)$(TargetingPackSubPath)
-
- aspnetcore-targeting-pack-$(PackageVersion)-$(TargetRuntimeIdentifier)
- $(InstallersOutputPath)$(ArchiveOutputFileName)$(ArchiveExtension)
-
-
-
-
- $(BuildDependsOn);
- _ResolveInitialTargetingPackContent;
- GeneratePackageOverrides;
- GenerateFrameworkListFile;
- _ResolveTargetingPackContent;
- _BatchCopyToLayoutTargetDir;
- _CreateTargetingPackArchive;
-
-
- _ResolveInitialTargetingPackContent;
- _ResolveTargetingPackContent;
-
-
-
- $(GenerateNuspecDependsOn);
- $(ResolveTargetingPackContentDependsOn)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_DisallowedReferenceAssemblies Include="System.Net.Quic.dll" />
- <_AvailableRuntimeRefAssemblies Include="$(RuntimeTransportReferenceDirectory)*.dll"
- Exclude="@(_DisallowedReferenceAssemblies->'$(RuntimeTransportReferenceDirectory)%(Filename)%(Extension)')" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_InitialRefPackContent Include="$(PkgMicrosoft_Internal_Runtime_AspNetCore_Transport)\$(AnalyzersPackagePath)**\*.*" PackagePath="$(AnalyzersPackagePath)" />
- <_InitialRefPackContent Include="$(ArtifactsDir)bin\Microsoft.AspNetCore.App.Analyzers\$(Configuration)\netstandard2.0\Microsoft.AspNetCore.App.Analyzers.dll" PackagePath="$(AnalyzersPackagePath)dotnet/cs/" />
- <_InitialRefPackContent Include="$(ArtifactsDir)bin\Microsoft.AspNetCore.App.SourceGenerators\$(Configuration)\netstandard2.0\Microsoft.AspNetCore.App.SourceGenerators.dll" PackagePath="$(AnalyzersPackagePath)dotnet/cs/" />
- <_InitialRefPackContent Include="$(ArtifactsDir)bin\Microsoft.AspNetCore.Components.Analyzers\$(Configuration)\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.dll" PackagePath="$(AnalyzersPackagePath)dotnet/cs/" />
- <_InitialRefPackContent Include="$(ArtifactsDir)bin\Microsoft.AspNetCore.App.CodeFixes\$(Configuration)\netstandard2.0\Microsoft.AspNetCore.App.CodeFixes.dll" PackagePath="$(AnalyzersPackagePath)dotnet/cs/" />
- <_InitialRefPackContent Include="$(ArtifactsDir)bin\Microsoft.AspNetCore.Http.RequestDelegateGenerator\$(Configuration)\netstandard2.0\Microsoft.AspNetCore.Http.RequestDelegateGenerator.dll" PackagePath="$(AnalyzersPackagePath)dotnet/cs/" />
-
- <_InitialRefPackContent Include="@(AspNetCoreReferenceAssemblyPath)" PackagePath="$(RefAssemblyPackagePath)" />
- <_InitialRefPackContent Include="@(AspNetCoreReferenceDocXml)" PackagePath="$(RefAssemblyPackagePath)" />
- <_InitialRefPackContent Include="$(ReferencePlatformManifestPath)" PackagePath="$(ManifestsPackagePath)" />
-
-
-
-
-
-
-
-
- <_PackageFiles Include="@(RefPackContent)" />
-
-
-
-
-
-
-
-
- <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(NuGetPackageId)|%(NuGetPackageVersion)')"
- Condition="!Exists('$(RuntimeTransportReferenceDirectory)%(AspNetCoreReferenceAssemblyPath.NuGetPackageId).dll') AND
- '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND
- '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.Internal.Runtime.AspNetCore.Transport' AND
- '%(AspNetCoreReferenceAssemblyPath.NuGetSourceType)' == 'Package' " />
-
-
- <_AspNetCoreAppPackageOverrides Include="@(_ReferencedRuntimeRefAssemblies->'%(FileName)|$(MicrosoftNETCoreAppRuntimeVersion)')" />
-
- <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(FileName)|$(ReferencePackSharedFxVersion)')"
- Condition=" '%(AspNetCoreReferenceAssemblyPath.ReferenceSourceTarget)' == 'ProjectReference' " />
-
-
-
-
-
-
-
-
- <_ExtraLayoutFiles Include="$(LayoutTargetDir)**\*.*"
- Exclude="@(RefPackContent->'$(LayoutTargetDir)%(PackagePath)%(RecursiveDir)%(FileName)%(Extension)')" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.sfxproj b/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.sfxproj
new file mode 100644
index 000000000000..ef6d7d5cfcbf
--- /dev/null
+++ b/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.sfxproj
@@ -0,0 +1,178 @@
+
+
+
+
+ TargetingPack
+ Microsoft.AspNetCore.App
+ Microsoft ASP.NET Core
+ $(DefaultNetCoreTargetFramework)
+ aspnetcore;targeting-pack
+ $(RepoRoot)src\Framework\App.Runtime\src\Microsoft.AspNetCore.App.Runtime.sfxproj
+ $(TargetRuntimeIdentifier)
+ $(TargetingPackInstallerBaseName)
+ $(TargetingPackInstallerBaseName)
+ true
+ Microsoft ASP.NET Core
+
+ false
+
+ ASP.NET Core Targeting Pack
+ $(SharedFxDescription)
+ $(SharedFxDescription)
+ $(RepoRoot)LICENSE.txt
+ $(AspNetCoreMajorVersion)
+ $(AspNetCoreMinorVersion)
+
+
+ $(MicrosoftNETCoreAppRefVersion)
+ $(DotnetTargetingPackDependencyVersion.Substring(0, $(DotnetTargetingPackDependencyVersion.IndexOf('-'))))~$(DotnetTargetingPackDependencyVersion.Substring($([MSBuild]::Add($(DotnetTargetingPackDependencyVersion.IndexOf('-')), 1))))
+ $(MicrosoftNETCoreAppRefVersion.Split('.')[0]).$(MicrosoftNETCoreAppRefVersion.Split('.')[1])
+
+
+ true
+
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PackageOverrides.txt
+
+ $(BaseIntermediateOutputPath)$(PackageOverridesFileName)
+ $(RepoRoot)eng\$(PackageOverridesFileName)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_TransportRoslynVersionedAnalyzers Include="$(PkgMicrosoft_Internal_Runtime_AspNetCore_Transport)\$(AnalyzersPackagePath)\dotnet\roslyn*\**\*.*" />
+ <_TransportAnalyzers Include="$(PkgMicrosoft_Internal_Runtime_AspNetCore_Transport)\$(AnalyzersPackagePath)**\*.*"
+ Exclude="@(_TransportRoslynVersionedAnalyzers)" />
+
+
+
+
+
+
+ roslyn[0-9]+.[0-9]+\$([System.IO.Path]::DirectorySeparatorChar)
+
+
+ <_TransportRoslynVersionedAnalyzers Include="$(PkgMicrosoft_Internal_Runtime_AspNetCore_Transport)\$(AnalyzersPackagePath)\dotnet\roslyn*\**\*.*" />
+ <_TransportRoslynVersionedAnalyzers UnversionedAnalyzerPath="$([System.Text.RegularExpressions.Regex]::Replace('%(RecursiveDir)', '$(RoslynVersionPattern)', ''))" />
+
+
+
+
+
+
+
+
+
+
+
+
+ <_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(NuGetPackageId)|%(NuGetPackageVersion)')"
+ Condition="!Exists('$(RuntimeTransportReferenceDirectory)%(ReferencePath.NuGetPackageId).dll') AND
+ '%(ReferencePath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND
+ '%(ReferencePath.NuGetPackageId)' != 'Microsoft.Internal.Runtime.AspNetCore.Transport' AND
+ '%(ReferencePath.NuGetSourceType)' == 'Package' " />
+
+
+ <_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(FileName)|$(MicrosoftNETCoreAppRuntimeVersion)')"
+ Condition="'%(ReferencePath.NuGetPackageId)' == 'Microsoft.Internal.Runtime.AspNetCore.Transport' AND
+ '%(ReferencePath.NuGetSourceType)' == 'Package' " />
+
+
+ <_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(FileName)|$(ReferencePackSharedFxVersion)')"
+ Condition=" '%(ReferencePath.ReferenceSourceTarget)' == 'ProjectReference' " />
+
+
+
+
+
+
+
+
+
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.Composite.sfxproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.Composite.sfxproj
new file mode 100644
index 000000000000..63b9368690b4
--- /dev/null
+++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.Composite.sfxproj
@@ -0,0 +1,100 @@
+
+
+
+
+ RuntimePack
+ Microsoft.AspNetCore.App
+ Microsoft ASP.NET Core
+ $(DefaultNetCoreTargetFramework)
+ false
+ $(TargetRuntimeIdentifier)
+
+ true
+
+ true
+ LatestPatch
+
+ false
+
+ false
+ true
+
+ false
+
+ true
+
+
+ true
+
+ +x86-x64-v3
+ $(PublishReadyToRunCrossgen2ExtraArgs);--instruction-set:$(InstructionSetSupport)
+
+
+ .pdb
+
+ PartialCompositeAssemblyListPath.txt
+
+
+
+
+ Runtime;Native
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(TargetArchitecture)
+ Win32
+
+
+
+ Platform=$(NativePlatform)
+
+ NativeRuntimeAsset
+
+ Build;GetTargetPath
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
deleted file mode 100644
index b0768912738e..000000000000
--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ /dev/null
@@ -1,717 +0,0 @@
-
-
-
-
- $(DefaultNetCoreTargetFramework)
- $(TargetRuntimeIdentifier)
-
- false
- $(MSBuildProjectName).$(RuntimeIdentifier)
-
- false
- Provides a default set of APIs for building an ASP.NET Core application. Contains assets used for self-contained deployments.
-
-This package is an internal implementation of the .NET Core SDK and is not meant to be used as a normal PackageReference.
-
- aspnetcore;shared-framework
- true
-
- true
- DotnetPlatform
-
-
- aspnetcore_base_runtime.version
- $(InstallersOutputPath)$(BaseRuntimeVersionFileName)
-
-
- runtimes/$(RuntimeIdentifier)/lib/
-
- $(BuildOutputTargetFolder)$(DefaultNetCoreTargetFramework)
-
- runtimes/$(RuntimeIdentifier)/native/
-
-
- dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-$(TargetRuntimeIdentifier)$(ArchiveExtension)
- dotnet-runtime-pgo-$(MicrosoftNETCoreAppRuntimeVersion)-$(TargetRuntimeIdentifier)$(ArchiveExtension)
- Runtime/$(MicrosoftInternalRuntimeAspNetCoreTransportVersion)/$(DotNetRuntimeArchiveFileName)
- $(BaseIntermediateOutputPath)$(DotNetRuntimeArchiveFileName)
-
-
- .pdb
-
-
- $(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder);.r2rmap
-
-
- false
-
- false
- true
-
-
- true
- false
-
-
- true
- $(SharedFxName).runtimeconfig.json
-
- true
-
-
- false
- $(SharedFxName).deps.json
-
-
- $(IntermediateOutputPath)ignoreme.dev.runtimeconfig.json
-
- $(IntermediateOutputPath)$(SharedFxName).versions.txt
- $(IntermediateOutputPath).version
-
-
- none
- false
- false
- false
-
-
- true
-
-
- <_GetChildProjectCopyToOutputDirectoryItems>false
-
-
- false
-
-
- PerfMap
- PDB
-
-
- lib
-
-
- crossgen2
- $(Crossgen2ToolFileName).exe
-
-
- PkgMicrosoft_NETCore_App_Runtime_$(RuntimeIdentifier.Replace('.', '_'))
-
-
- $(TargetOsName)
- linux
- $(TargetRuntimeIdentifier.Substring(0,$(TargetRuntimeIdentifier.IndexOf('-'))))
- x64
- $(BuildArchitecture)
- PkgMicrosoft_NETCore_App_Crossgen2_$(BuildOsName.Replace('.', '_'))-$(Crossgen2BuildArchitecture)
-
- $(AssetTargetFallback);native,Version=0.0
-
- $(TargetArchitecture)
- Win32
-
-
- true
-
-
-
-
-
- Runtime;Native
-
-
-
-
-
-
-
-
- Platform=$(NativePlatform)
-
- true
-
- _ResolvedNativeProjectReferencePaths
-
- Build;GetTargetPath
-
-
- <_ResolvedNativeProjectReferencePaths Condition=" '$(UseIisNativeAssets)' == 'true' AND !$(BuildNative) "
- Include="$(ArtifactsBinDir)InProcessRequestHandler\$(NativePlatform)\$(Configuration)\aspnetcorev2_inprocess.dll">
- true
-
-
-
-
-
-
-
-
-
-
- shared\$(SharedFxName)\$(SharedFxVersion)\
- $(SharedFrameworkLayoutRoot)$(SharedRuntimeSubPath)
- $(RedistSharedFrameworkLayoutRoot)$(SharedRuntimeSubPath)
-
- RuntimeList.xml
- $(BaseIntermediateOutputPath)$(RuntimeListFileName)
-
- $(RuntimeInstallerBaseName)-$(PackageVersion)-$(TargetRuntimeIdentifier)$(ArchiveExtension)
- $(InstallersOutputPath)$(RedistArchiveOutputFileName)
- $(RuntimeInstallerBaseName)-composite-$(PackageVersion)-$(TargetRuntimeIdentifier)$(ArchiveExtension)
- $(InstallersOutputPath)$(CompositeArchiveOutputFileName)
-
-
-
-
-
- $(ResolveReferencesDependsOn);
- FilterUnwantedContent;
- _ResolveCopyLocalNativeReference;
- PrepareForCrossGen;
-
-
- $(CoreBuildDependsOn);
- Crossgen;
- GenerateSharedFxDepsFile;
- GenerateSharedFxVersionsFiles;
- _ResolveNativePackContent;
- _IncludeVersionFile;
- _ResolveInitialSharedFrameworkContent;
- _GenerateRuntimeListFile;
- _ResolveRuntimePackContent;
- _ResolveSharedFrameworkContent;
- _DownloadAndExtractDotNetRuntime;
- _BatchCopyToSharedFrameworkLayout;
- _BatchCopyToRedistLayout;
- _BatchCopyToCompositeLayout;
- _CreateRedistSharedFxArchive;
- _CreateRedistCompositeArchive;
-
-
-
- _ResolveNativePackContent;
- _IncludeVersionFile;
- $(GenerateNuspecDependsOn);
- _ResolveInitialSharedFrameworkContent;
- _ResolveRuntimePackContent;
- _ResolveSharedFrameworkContent;
-
-
- ResolveReferences;
-
-
- $(CrossGenDependsOn);
- _BatchCrossGenAssemblies;
- _GenerateComposites;
-
-
-
- $(TargetsForTfmSpecificBuildOutput);
- _ResolveRuntimePackBuildOutput
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_RuntimeReference Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Extension)' != '.pdb' AND '%(ReferenceCopyLocalPaths.Extension)' != '.r2rmap'" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- %(BuildOutputFiles.Identity)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(IntermediateOutputPath)crossgen\
- $(IntermediateOutputPath)platformAssemblies\
-
-
-
-
-
-
-
-
-
- $(%(Identity))
-
-
-
- $(%(Identity))
-
-
-
- @(RuntimePackageRootMapping->'%(RuntimePackageRoot)')
- $([MSBuild]::EnsureTrailingSlash('$(RuntimePackageRoot)'))
- @(Crossgen2PackageRootMapping->'%(Crossgen2PackageRoot)')
- $([MSBuild]::EnsureTrailingSlash('$(Crossgen2PackageRoot)'))
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_PlatformAssemblyPaths Include="$(CrossgenToolDir)" />
-
- <_PlatformAssemblyPaths Include="@(ReferenceCopyLocalPaths->'%(RootDir)%(Directory)')" Condition="'%(ReferenceCopyLocalPaths.ProjectPath)' == ''"/>
-
- <_PlatformAssemblyPaths Include="$(CrossgenPlatformAssembliesDir)"/>
-
-
-
-
- <_DistinctPlatformAssemblyPaths Include="@(_PlatformAssemblyPaths->Distinct())"/>
- <_DistinctPlatformAssemblyPaths>
- -r:%(Identity)*.dll
-
-
-
-
-
-
- $([System.IO.Path]::Combine('$(Crossgen2PackageRoot)', 'tools', '$(Crossgen2ToolFileName)'))
- $(TargetDir)
- $(RuntimePackageRoot)tools\StandardOptimizationData.mibc
-
-
-
- $(TargetDir)\
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(TargetOsName)
- windows
- linux
-
-
- --targetarch:$(TargetArchitecture)
- $(Crossgen2Args) --targetos:$(Crossgen2TargetOs)
- $(Crossgen2Args) -O
- $(Crossgen2Args) @"$(CrossgenToolDir)PlatformAssembliesPathsCrossgen2.rsp"
- $(Crossgen2Args) "-m:$(CrossgenOptimizationData)"
- $(Crossgen2Args) --pdb --pdb-path:"$(CrossgenSymbolsTargetDir)"
- $(Crossgen2Args) --perfmap --perfmap-format-version:1 --perfmap-path:"$(CrossgenSymbolsTargetDir)"
-
-
-
-
-
-
-
-
-
-
-
- $([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Composite', '$(Configuration)'))
- full-composite.r2r
- $(CompositeTargetDir)\$(CompositeFileName).rsp
- @$(CompositeResponseFile)
- $(RuntimePackageRoot)$(ManagedAssetsPackagePath)
- $(RuntimePackageRoot)$(NativeAssetsPackagePath)
- $(MSBuildThisFileDirectory)\PartialCompositeAssemblyList.txt
- +x86-x64-v3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_InitialSharedFxContent Include="$(DotVersionFileIntermediateOutputPath)" />
- <_InitialSharedFxContent Include="$(ProjectDepsFilePath)" />
- <_InitialSharedFxContent Include="$(ProjectRuntimeConfigFilePath)" />
- <_InitialSharedFxContent Include="@(ReferenceCopyLocalPaths)" Condition="'%(Extension)' != '.pdb'" />
- <_InitialSharedFxContent Include="$(RepoRoot)THIRD-PARTY-NOTICES.txt" />
-
-
- <_InitialSharedFxContent Condition="'%(_InitialSharedFxContent.Extension)' == '.dll'">
- $(NativeAssetsPackagePath)
- $(ManagedAssetsPackagePath)
-
-
-
-
-
-
-
-
-
- <_PackageFiles Include="$(RuntimeListOutputPath)" PackagePath="$(ManifestsPackagePath)" />
- <_PackageFiles Include="@(RuntimePackContent)" />
-
-
-
-
-
-
- <_ExtraLayoutFiles Include="$(SharedFxLayoutTargetDir)**\*.*"
- Exclude="@(RefPackContent->'$(SharedFxLayoutTargetDir)%(FileName)%(Extension)')" />
-
-
-
-
-
-
-
-
-
-
-
-
- <_ExtraRedistFiles Include="$(RedistLayoutTargetDir)**\*.*"
- Exclude="@(RefPackContent->'$(RedistLayoutTargetDir)%(FileName)%(Extension)')" />
-
-
-
-
-
-
-
-
-
-
-
-
- $([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', CompositeFx.Layout, '$(Configuration)', '$(TargetRuntimeIdentifier)'))
- $(CompositeFrameworkLayoutRoot)\shared\$(SharedFxName)\$(SharedFxVersion)\
- $(CompositeFrameworkLayoutRoot)\shared\Microsoft.NETCore.App\$(MicrosoftNETCoreAppRuntimeVersion)\
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.sfxproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.sfxproj
new file mode 100644
index 000000000000..ce65e1b25c2a
--- /dev/null
+++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.sfxproj
@@ -0,0 +1,101 @@
+
+
+
+
+ RuntimePack
+ Microsoft.AspNetCore.App
+ Microsoft ASP.NET Core
+ $(DefaultNetCoreTargetFramework)
+ aspnetcore;shared-framework
+ $(TargetRuntimeIdentifier)
+
+ true
+
+ true
+ LatestPatch
+
+ false
+
+ false
+ true
+
+ false
+
+ $(RuntimeInstallerBaseName)
+ true
+ Microsoft ASP.NET Core
+ $(SharedFxDescription)
+ $(SharedFxDescription)
+ $(RepoRoot)LICENSE.txt
+ $(AspNetCoreMajorVersion)
+ $(AspNetCoreMinorVersion)
+
+
+ $(MicrosoftNETCoreAppRefVersion)
+ $(DotnetTargetingPackDependencyVersion.Substring(0, $(DotnetTargetingPackDependencyVersion.IndexOf('-'))))~$(DotnetTargetingPackDependencyVersion.Substring($([MSBuild]::Add($(DotnetTargetingPackDependencyVersion.IndexOf('-')), 1))))
+ $(MicrosoftNETCoreAppRefVersion.Split('.')[0]).$(MicrosoftNETCoreAppRefVersion.Split('.')[1])
+
+
+ .pdb
+
+
+ true
+
+
+
+ true
+ true
+ true
+
+
+
+
+ Runtime;Native
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(TargetArchitecture)
+ Win32
+
+
+
+ Platform=$(NativePlatform)
+ NativeRuntimeAsset
+
+ Build;GetTargetPath
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Framework/App.Runtime/src/PartialCompositeAssemblyList.txt b/src/Framework/App.Runtime/src/PartialCompositeAssemblyList.txt
index 45729ddbfc0c..0bcbd4d48ad1 100644
--- a/src/Framework/App.Runtime/src/PartialCompositeAssemblyList.txt
+++ b/src/Framework/App.Runtime/src/PartialCompositeAssemblyList.txt
@@ -1,38 +1,38 @@
-System.Private.CoreLib
-System.Runtime
-Microsoft.AspNetCore.Hosting
-Microsoft.AspNetCore.Hosting.Abstractions
-Microsoft.EntityFrameworkCore
-System.ComponentModel
-Microsoft.AspNetCore.Server.Kestrel.Core
-Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets
-System.Console
-System.Threading
-System.Runtime.InteropServices
-Microsoft.Win32.Primitives
-System.Collections
-Microsoft.Extensions.Configuration.Json
-Microsoft.Extensions.Configuration.FileExtensions
-Microsoft.Extensions.FileProviders.Abstractions
-Microsoft.Extensions.FileProviders.Physical
-Microsoft.Extensions.Configuration.EnvironmentVariables
-Microsoft.Extensions.Configuration.CommandLine
-System.Linq
-System.Memory
-Microsoft.Extensions.Hosting.Abstractions
-Microsoft.AspNetCore.Server.Kestrel
-Microsoft.AspNetCore.Server.Kestrel.Transport.Quic
-System.Net.Quic
-System.Diagnostics.Tracing
-Microsoft.Extensions.Features
-Microsoft.AspNetCore.Http.Abstractions
-Microsoft.AspNetCore.Http
-System.Diagnostics.DiagnosticSource
-Microsoft.AspNetCore.Mvc.Core
-Microsoft.AspNetCore.Razor.Runtime
-Microsoft.AspNetCore.Connections.Abstractions
-System.Net.Primitives
-Microsoft.AspNetCore.Hosting.Server.Abstractions
-System.Collections.Concurrent
-System.Threading.ThreadPool
-System.Text.Json
+System.Private.CoreLib.dll
+System.Runtime.dll
+Microsoft.AspNetCore.Hosting.dll
+Microsoft.AspNetCore.Hosting.Abstractions.dll
+Microsoft.EntityFrameworkCore.dll
+System.ComponentModel.dll
+Microsoft.AspNetCore.Server.Kestrel.Core.dll
+Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll
+System.Console.dll
+System.Threading.dll
+System.Runtime.InteropServices.dll
+Microsoft.Win32.Primitives.dll
+System.Collections.dll
+Microsoft.Extensions.Configuration.Json.dll
+Microsoft.Extensions.Configuration.FileExtensions.dll
+Microsoft.Extensions.FileProviders.Abstractions.dll
+Microsoft.Extensions.FileProviders.Physical.dll
+Microsoft.Extensions.Configuration.EnvironmentVariables.dll
+Microsoft.Extensions.Configuration.CommandLine.dll
+System.Linq.dll
+System.Memory.dll
+Microsoft.Extensions.Hosting.Abstractions.dll
+Microsoft.AspNetCore.Server.Kestrel.dll
+Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll
+System.Net.Quic.dll
+System.Diagnostics.Tracing.dll
+Microsoft.Extensions.Features.dll
+Microsoft.AspNetCore.Http.Abstractions.dll
+Microsoft.AspNetCore.Http.dll
+System.Diagnostics.DiagnosticSource.dll
+Microsoft.AspNetCore.Mvc.Core.dll
+Microsoft.AspNetCore.Razor.Runtime.dll
+Microsoft.AspNetCore.Connections.Abstractions.dll
+System.Net.Primitives.dll
+Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
+System.Collections.Concurrent.dll
+System.Threading.ThreadPool.dll
+System.Text.Json.dll
diff --git a/src/Framework/App.Runtime/src/aspnetcore-base-runtime.proj b/src/Framework/App.Runtime/src/aspnetcore-base-runtime.proj
new file mode 100644
index 000000000000..842ba7c97d32
--- /dev/null
+++ b/src/Framework/App.Runtime/src/aspnetcore-base-runtime.proj
@@ -0,0 +1,19 @@
+
+
+ $(DefaultNetCoreTargetFramework)
+
+ aspnetcore_base_runtime.version
+ $(InstallersOutputPath)$(BaseRuntimeVersionFileName)
+
+ false
+ false
+
+
+
+
+
+
diff --git a/src/Framework/App.Runtime/src/aspnetcore-runtime-composite.proj b/src/Framework/App.Runtime/src/aspnetcore-runtime-composite.proj
new file mode 100644
index 000000000000..876fda3c3d43
--- /dev/null
+++ b/src/Framework/App.Runtime/src/aspnetcore-runtime-composite.proj
@@ -0,0 +1,66 @@
+
+
+ $(DefaultNetCoreTargetFramework)
+ $(TargetRuntimeIdentifier)
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+ dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-$(TargetRuntimeIdentifier).$(ArchiveFormat)
+ dotnet-runtime-pgo-$(MicrosoftNETCoreAppRuntimeVersion)-$(TargetRuntimeIdentifier)$(ArchiveExtension)
+ Runtime/$(MicrosoftInternalRuntimeAspNetCoreTransportVersion)/$(DotNetRuntimeArchiveFileName)
+ $(BaseIntermediateOutputPath)$(DotNetRuntimeArchiveFileName)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Framework/App.Runtime/src/aspnetcore-runtime.proj b/src/Framework/App.Runtime/src/aspnetcore-runtime.proj
new file mode 100644
index 000000000000..88259587e6a2
--- /dev/null
+++ b/src/Framework/App.Runtime/src/aspnetcore-runtime.proj
@@ -0,0 +1,75 @@
+
+
+ $(DefaultNetCoreTargetFramework)
+ $(TargetRuntimeIdentifier)
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+ dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-$(TargetRuntimeIdentifier).$(ArchiveFormat)
+ dotnet-runtime-pgo-$(MicrosoftNETCoreAppRuntimeVersion)-$(TargetRuntimeIdentifier)$(ArchiveExtension)
+ Runtime/$(MicrosoftInternalRuntimeAspNetCoreTransportVersion)/$(DotNetRuntimeArchiveFileName)
+ $(BaseIntermediateOutputPath)$(DotNetRuntimeArchiveFileName)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Framework/App.Runtime/src/runtimeconfig.template.json b/src/Framework/App.Runtime/src/runtimeconfig.template.json
deleted file mode 100644
index 94bcf689a3b8..000000000000
--- a/src/Framework/App.Runtime/src/runtimeconfig.template.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "rollForward": "LatestPatch"
-}
\ No newline at end of file
diff --git a/src/Framework/Framework.slnf b/src/Framework/Framework.slnf
index 3004a42ed6ba..2c9d20af2aa1 100644
--- a/src/Framework/Framework.slnf
+++ b/src/Framework/Framework.slnf
@@ -21,8 +21,8 @@
"src\\Extensions\\Features\\src\\Microsoft.Extensions.Features.csproj",
"src\\FileProviders\\Embedded\\src\\Microsoft.Extensions.FileProviders.Embedded.csproj",
"src\\FileProviders\\Manifest.MSBuildTask\\src\\Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.csproj",
- "src\\Framework\\App.Ref\\src\\Microsoft.AspNetCore.App.Ref.csproj",
- "src\\Framework\\App.Runtime\\src\\Microsoft.AspNetCore.App.Runtime.csproj",
+ "src\\Framework\\App.Ref\\src\\Microsoft.AspNetCore.App.Ref.sfxproj",
+ "src\\Framework\\App.Runtime\\src\\Microsoft.AspNetCore.App.Runtime.sfxproj",
"src\\Framework\\AspNetCoreAnalyzers\\samples\\WebAppSample\\WebAppSample.csproj",
"src\\Framework\\AspNetCoreAnalyzers\\src\\Analyzers\\Microsoft.AspNetCore.App.Analyzers.csproj",
"src\\Framework\\AspNetCoreAnalyzers\\src\\CodeFixes\\Microsoft.AspNetCore.App.CodeFixes.csproj",
diff --git a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
index d559bd5b0fcb..6f9167f1f975 100644
--- a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
+++ b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
@@ -11,8 +11,12 @@
-
-
+
@@ -77,7 +81,7 @@
-
@@ -85,12 +89,16 @@
-
-
+
+
+ <_AnalyzersInTargetingPack Include="@(_TargetingPackFiles)" Condition="$([System.String]::new('%(_TargetingPackFiles.Directory)').Contains('analyzers'))" />
+ <_AnalyzersInTargetingPack Include="@(_TargetingPackFiles->WithMetadataValue('OutputItemType','AspNetCoreAnalyzer'))" />
+ <_TargetingPackDependencies Include="@(_TargetingPackFiles->WithMetadataValue('Extension','.dll'))" Exclude="@(_AnalyzersInTargetingPack)" />
+
<_Parameter1>TargetingPackDependencies
<_Parameter2>@(_TargetingPackDependencies->'%(FileName)')
diff --git a/src/Grpc/Interop/test/InteropTests/InteropTests.csproj b/src/Grpc/Interop/test/InteropTests/InteropTests.csproj
index f5e9b3a9cbfd..dcdc7d16d586 100644
--- a/src/Grpc/Interop/test/InteropTests/InteropTests.csproj
+++ b/src/Grpc/Interop/test/InteropTests/InteropTests.csproj
@@ -9,7 +9,7 @@
-
diff --git a/src/Installers/Debian/Directory.Build.props b/src/Installers/Debian/Directory.Build.props
deleted file mode 100644
index df42b93c0fa9..000000000000
--- a/src/Installers/Debian/Directory.Build.props
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
- $(InstallersOutputPath)
- $(IntermediateOutputPath)$(TargetRuntimeIdentifier)\
-
-
- /usr/share/dotnet
-
- amd64
-
- $(MSBuildThisFileDirectory)tools/build.sh
-
-
- true
- true
-
-
- false
-
-
diff --git a/src/Installers/Debian/Directory.Build.targets b/src/Installers/Debian/Directory.Build.targets
deleted file mode 100644
index 2d854470f156..000000000000
--- a/src/Installers/Debian/Directory.Build.targets
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- $(OutputPath)$(TargetFileName)
-
- $(DebBuildDependsOn);
- PrepareForBuild;
- ResolveProjectReferences;
- GetTargetPath;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(DebianConfigProperties);
- AspNetCoreMajorVersion=$(AspNetCoreMajorVersion);
- AspNetCoreMinorVersion=$(AspNetCoreMinorVersion);
- Authors=$(Authors);
- DebianPackageInstallRoot=$(DebianPackageInstallRoot);
- MaintainerEmail=$(MaintainerEmail);
- PackageId=$(PackageId);
- PackageLicenseExpression=$(PackageLicenseExpression);
- PackageProjectUrl=$(PackageProjectUrl);
- PackageRevision=$(PackageRevision);
- PackageVersion=$(DebPackageVersion);
- PackageSummary=$(PackageSummary);
- PackageDescription=$(PackageDescription);
-
-
-
-
-
-
-
-
-
-
- $(PackageId)_$(DebPackageVersion)-$(PackageRevision)_$(DebianPackageArch).deb
-
-
-
-
-
diff --git a/src/Installers/Debian/Runtime/Debian.Runtime.debproj b/src/Installers/Debian/Runtime/Debian.Runtime.debproj
deleted file mode 100644
index 343216335618..000000000000
--- a/src/Installers/Debian/Runtime/Debian.Runtime.debproj
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
- $(SharedFrameworkLayoutRoot)
-
-
- $(RuntimeInstallerBaseName)-$(AspNetCoreMajorMinorVersion)
-
-
- $(MicrosoftNETCoreAppRuntimeVersion)
- $(DotnetRuntimeDependencyVersion.Substring(0, $(DotnetRuntimeDependencyVersion.IndexOf('-'))))~$(DotnetRuntimeDependencyVersion.Substring($([MSBuild]::Add($(DotnetRuntimeDependencyVersion.IndexOf('-')), 1))))
- $(MicrosoftNETCoreAppRuntimeVersion.Split('.')[0]).$(MicrosoftNETCoreAppRuntimeVersion.Split('.')[1])
-
- $(SharedFxProductName)
- $(SharedFxDescription)
-
- DotnetRuntimeDependencyMajorMinorVersion=$(DotnetRuntimeDependencyMajorMinorVersion);
- DotnetRuntimeDependencyVersion=$(DotnetRuntimeDependencyVersion);
-
-
-
-
-
-
-
-
-
-
- $(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.deb
- $(TargetDir)$(TargetFileName)
-
- $(VersionPrefix)
-
- $(DebPackageVersion)~$(VersionSuffix)
- 1
-
-
diff --git a/src/Installers/Debian/Runtime/debian_config.json.in b/src/Installers/Debian/Runtime/debian_config.json.in
deleted file mode 100644
index 0bd5417702d7..000000000000
--- a/src/Installers/Debian/Runtime/debian_config.json.in
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "maintainer_name": "${Authors}",
- "maintainer_email": "${MaintainerEmail}",
-
- "package_name": "${PackageId}",
- "install_root": "${DebianPackageInstallRoot}",
-
- "short_description": "${PackageSummary}",
- "long_description": "${PackageDescription}",
- "homepage": "${PackageProjectUrl}",
-
- "release":{
- "package_version":"${PackageVersion}",
- "package_revision":"${PackageRevision}",
- "urgency" : "low",
- "changelog_message" : ""
- },
-
- "control": {
- "priority":"standard",
- "section":"devel",
- "architecture":"any"
- },
-
- "copyright": ".NET Foundation and Contributors",
- "license": {
- "type": "${PackageLicenseExpression}",
- "full_text": "The MIT License (MIT)\n\nCopyright (c) .NET Foundation and Contributors\n\nAll rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
- },
-
- "debian_dependencies": {
- "dotnet-runtime-${DotnetRuntimeDependencyMajorMinorVersion}": {
- "package_version": "${DotnetRuntimeDependencyVersion}"
- }
- }
-}
diff --git a/src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj b/src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj
deleted file mode 100644
index 5295906837c5..000000000000
--- a/src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
- $(TargetingPackLayoutRoot)
-
-
- $(TargetingPackInstallerBaseName)-$(AspNetCoreMajorMinorVersion)
-
- ASP.NET Core Targeting Pack
- Provides a default set of APIs for building an ASP.NET Core $(AspNetCoreMajorMinorVersion) application. Contains reference assemblies, documentation, and other design-time assets.
-
-
- $(MicrosoftNETCoreAppRefVersion)
- $(DotnetTargetingPackDependencyVersion.Substring(0, $(DotnetTargetingPackDependencyVersion.IndexOf('-'))))~$(DotnetTargetingPackDependencyVersion.Substring($([MSBuild]::Add($(DotnetTargetingPackDependencyVersion.IndexOf('-')), 1))))
- $(MicrosoftNETCoreAppRefVersion.Split('.')[0]).$(MicrosoftNETCoreAppRefVersion.Split('.')[1])
-
- $(SharedFxProductName)
- $(SharedFxDescription)
-
- DotnetTargetingPackDependencyMajorMinorVersion=$(DotnetTargetingPackDependencyMajorMinorVersion);
- DotnetTargetingPackDependencyVersion=$(DotnetTargetingPackDependencyVersion);
-
-
-
-
-
-
-
-
-
-
-
- $(TargetingPackInstallerBaseName)-$(TargetingPackVersion)-$(TargetArchitecture).deb
- $(TargetDir)$(TargetFileName)
-
- $(TargetingPackVersionPrefix)
-
- $(DebPackageVersion)~$(VersionSuffix)
- 1
-
-
-
diff --git a/src/Installers/Debian/TargetingPack/debian_config.json.in b/src/Installers/Debian/TargetingPack/debian_config.json.in
deleted file mode 100644
index 6ed5718d885b..000000000000
--- a/src/Installers/Debian/TargetingPack/debian_config.json.in
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "maintainer_name": "${Authors}",
- "maintainer_email": "${MaintainerEmail}",
-
- "package_name": "${PackageId}",
- "install_root": "${DebianPackageInstallRoot}",
-
- "short_description": "${PackageSummary}",
- "long_description": "${PackageDescription}",
- "homepage": "${PackageProjectUrl}",
-
- "release":{
- "package_version":"${PackageVersion}",
- "package_revision":"${PackageRevision}",
- "urgency" : "low",
- "changelog_message" : ""
- },
-
- "control": {
- "priority":"standard",
- "section":"devel",
- "architecture":"any"
- },
-
- "copyright": ".NET Foundation and Contributors",
- "license": {
- "type": "${PackageLicenseExpression}",
- "full_text": "The MIT License (MIT)\n\nCopyright (c) .NET Foundation and Contributors\n\nAll rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
- },
-
- "debian_dependencies": {
- "dotnet-targeting-pack-${DotnetTargetingPackDependencyMajorMinorVersion}": {
- "package_version": "${DotnetTargetingPackDependencyVersion}"
- }
- }
-}
diff --git a/src/Installers/Debian/tools/build.sh b/src/Installers/Debian/tools/build.sh
deleted file mode 100755
index 1ea557d7e3df..000000000000
--- a/src/Installers/Debian/tools/build.sh
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-set -e
-
-SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-## Load Functions ##
-source $SCRIPT_DIR/scripts/debian_build_lib.sh
-
-## Debian Package Creation Functions ##
-execute(){
- if ! parse_args_and_set_env_vars "$@"; then
- exit 1
- fi
-
- # Exit if required validation fails
- if ! validate_inputs; then
- exit 1
- fi
-
- parse_config_and_set_env_vars
- clean_or_create_build_dirs
- package_all
- generate_all
- create_source_tarball
-
- # Actually Build Package Files
- (cd ${PACKAGE_SOURCE_DIR}; debuild -us -uc)
-
- copy_files_to_output
-}
-
-parse_args_and_set_env_vars(){
- OPTIND=1 # Reset in case getopts has been used previously in the shell.
-
- while getopts ":n:v:i:o:h:C:" opt; do
- case $opt in
- n)
- export PACKAGE_NAME="$OPTARG"
- ;;
- v)
- export PACKAGE_VERSION="$OPTARG"
- ;;
- i)
- export INPUT_DIR="$OPTARG"
- ;;
- C)
- export CONTENT_DIR="$OPTARG"
- ;;
- o)
- export OUTPUT_DIR="$OPTARG"
- ;;
- h)
- print_help
- return 1
- ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- return 1
- ;;
- :)
- echo "Option -$OPTARG requires an argument." >&2
- return 1
- ;;
- esac
- done
-
- # Special Input Directories + Paths
- ABSOLUTE_PLACEMENT_DIR="${INPUT_DIR}/\$"
- PACKAGE_ROOT_PLACEMENT_DIR="${CONTENT_DIR}"
- CONFIG="$INPUT_DIR/debian_config.json"
-
- return 0
-}
-
-print_help(){
- echo "Usage: package_tool [-i ] [-o ]
- [-n ] [-v ] [-h]
-
- REQUIRED:
- -i : Input directory conforming to package_tool conventions and debian_config.json
- -C : Directory containing the files which should be packaged.
- -o : Output directory for debian package and other artifacts
-
- OPTIONAL:
- -n : name of created package, will override value in debian_config.json
- -v : version of created package, will override value in debian_config.json
- -h: Show this message
-
- NOTES:
- See Readme for more information on package_tool conventions and debian_config.json format
- https://github.com/dotnet/cli/tree/master/packaging/debian/package_tool
- "
-}
-
-validate_inputs(){
- local ret=0
- if [[ -z "$INPUT_DIR" ]]; then
- echo "ERROR: -i Not Specified"
- ret=1
- fi
-
- if [[ -z "$OUTPUT_DIR" ]]; then
- echo "ERROR: -o Not Specified."
- ret=1
- fi
-
- if [[ -z "$CONTENT_DIR" ]]; then
- echo "ERROR: -C Not Specified."
- ret=1
- elif [[ ! -d "$PACKAGE_ROOT_PLACEMENT_DIR" ]]; then
- echo "ERROR: '$PACKAGE_ROOT_PLACEMENT_DIR' directory does not exist"
- ret=1
- fi
-
- if [[ ! -f "$CONFIG" ]]; then
- echo "ERROR: debian_config.json file does not exist"
- echo $CONFIG
- ret=1
- fi
-
- return $ret
-}
-
-parse_config_and_set_env_vars(){
- extract_base_cmd="python3 $SCRIPT_DIR/scripts/extract_json_value.py"
-
- # Arguments Take Precedence over Config
- [ -z "$PACKAGE_VERSION" ] && PACKAGE_VERSION="$($extract_base_cmd $CONFIG "release.package_version")"
- [ -z "$PACKAGE_NAME" ] && PACKAGE_NAME="$($extract_base_cmd $CONFIG "package_name")"
-
- # Inputs
- INPUT_SAMPLES_DIR="$INPUT_DIR/samples"
- INPUT_DOCS_DIR="$INPUT_DIR/docs"
- DOCS_JSON_PATH="$INPUT_DIR/docs.json"
-
- PACKAGE_SOURCE_DIR="${OUTPUT_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}"
-
- if ! INSTALL_ROOT="$($extract_base_cmd $CONFIG "install_root")"; then
- INSTALL_ROOT="/usr/share/$PACKAGE_NAME"
- fi
-
- DEBIAN_DIR="${PACKAGE_SOURCE_DIR}/debian"
- DOCS_DIR="${PACKAGE_SOURCE_DIR}/docs"
-}
-
-clean_or_create_build_dirs(){
- rm -rf ${PACKAGE_SOURCE_DIR}
- mkdir -p $DEBIAN_DIR
-}
-
-package_all(){
- package_static_files
- package_package_root_placement
- package_absolute_placement
- package_samples
- package_docs
- package_install_scripts
-}
-
-generate_all(){
- generate_config_templates
- generate_manpages
- generate_manpage_manifest
- generate_sample_manifest
- write_debian_install_file
-}
-
-create_source_tarball(){
- rm -f ${OUTPUT_DIR}/${PACKAGE_NAME}_${PACKAGE_VERSION}.orig.tar.gz
- tar -cvzf ${OUTPUT_DIR}/${PACKAGE_NAME}_${PACKAGE_VERSION}.orig.tar.gz -C $PACKAGE_SOURCE_DIR .
-}
-
-copy_files_to_output(){
- # .deb, .dsc, etc.. Already in output dir
- # Copy Test files
-
- cp $SCRIPT_DIR/test/integration_tests/test_package.bats $OUTPUT_DIR
-}
-
-## Packaging Functions ##
-package_static_files(){
- cp -a $SCRIPT_DIR/package_files/debian/* ${PACKAGE_SOURCE_DIR}/debian
-}
-
-package_package_root_placement(){
- add_dir_to_install ${PACKAGE_ROOT_PLACEMENT_DIR} ""
-}
-
-package_absolute_placement(){
- if [[ -d "$ABSOLUTE_PLACEMENT_DIR" ]]; then
- abs_in_package_dir="\$"
-
- add_dir_to_install ${ABSOLUTE_PLACEMENT_DIR} $abs_in_package_dir
-
- # Get List of all files in directory tree, relative to ABSOLUTE_PLACEMENT_DIR
- abs_files=( $(_get_files_in_dir_tree $ABSOLUTE_PLACEMENT_DIR) )
-
- # For each file add a a system placement
- for abs_file in ${abs_files[@]}
- do
- parent_dir=$(dirname $abs_file)
- filename=$(basename $abs_file)
-
- add_system_file_placement "$abs_in_package_dir/$abs_file" "/$parent_dir"
- done
- fi
-}
-
-package_samples(){
- if [[ -d "$INPUT_SAMPLES_DIR" ]]; then
- cp -a $INPUT_SAMPLES_DIR/. $PACKAGE_SOURCE_DIR
- fi
-}
-
-package_docs(){
- if [[ -d "$INPUT_DOCS_DIR" ]]; then
- mkdir -p $DOCS_DIR
- cp -a $INPUT_DOCS_DIR/. $DOCS_DIR
- fi
-}
-
-package_install_scripts(){
- # copy scripts for the package's control section like preinst, postint, etc
- if [[ -d "$INPUT_DIR/debian" ]]; then
- cp -a "$INPUT_DIR/debian/." $DEBIAN_DIR
- fi
-}
-
-## Generation Functions ##
-generate_config_templates(){
- python3 ${SCRIPT_DIR}/scripts/config_template_generator.py $CONFIG $SCRIPT_DIR/templates/debian $DEBIAN_DIR $PACKAGE_NAME $PACKAGE_VERSION
-}
-
-generate_manpages(){
- if [[ -f "$DOCS_JSON_PATH" ]]; then
- mkdir -p $DOCS_DIR
-
- # Generate the manpages from json spec
- python3 ${SCRIPT_DIR}/scripts/manpage_generator.py ${DOCS_JSON_PATH} ${DOCS_DIR}
- fi
-}
-
-generate_manpage_manifest(){
- # Get a list of files generated relative to $DOCS_DIR
- generated_manpages=( $(_get_files_in_dir_tree $DOCS_DIR) )
-
- # Get path relative to $PACKAGE_SOURCE_DIR to prepend to each filename
- # This syntax is bash substring removal
- docs_rel_path=${DOCS_DIR#${PACKAGE_SOURCE_DIR}/}
-
- # Remove any existing manifest
- rm -f ${DEBIAN_DIR}/${PACKAGE_NAME}.manpages
-
- for manpage in ${generated_manpages[@]}
- do
- echo "${docs_rel_path}/${manpage}" >> "${DEBIAN_DIR}/${PACKAGE_NAME}.manpages"
- done
-}
-
-generate_sample_manifest(){
- if [[ -d "$INPUT_SAMPLES_DIR" ]]; then
- generated_manpages=( $(_get_files_in_dir_tree $INPUT_SAMPLES_DIR) )
-
- rm -f sample_manifest
- for sample in ${samples[@]}
- do
- echo "$sample" >> "${DEBIAN_DIR}/${PACKAGE_NAME}.examples"
- done
- else
- echo "Provide a 'samples' directory in INPUT_DIR to package samples"
- fi
-}
-
-execute "$@"
diff --git a/src/Installers/Debian/tools/package_files/debian/compat b/src/Installers/Debian/tools/package_files/debian/compat
deleted file mode 100644
index f599e28b8ab0..000000000000
--- a/src/Installers/Debian/tools/package_files/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-10
diff --git a/src/Installers/Debian/tools/package_files/debian/source/format b/src/Installers/Debian/tools/package_files/debian/source/format
deleted file mode 100644
index 163aaf8d82b6..000000000000
--- a/src/Installers/Debian/tools/package_files/debian/source/format
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/src/Installers/Debian/tools/scripts/config_template_generator.py b/src/Installers/Debian/tools/scripts/config_template_generator.py
deleted file mode 100755
index 3ce9f2c7c188..000000000000
--- a/src/Installers/Debian/tools/scripts/config_template_generator.py
+++ /dev/null
@@ -1,267 +0,0 @@
-#!/usr/bin/python3
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-# Parses debian_config.json and generates appropriate templates
-# Where optional defaults exist, they are defined in the template_dict
-# of the appropriate generation function
-
-import os
-import sys
-import json
-import datetime
-
-FILE_CHANGELOG = 'changelog'
-FILE_CONTROL = 'control'
-FILE_COPYRIGHT = 'copyright'
-FILE_SYMLINK_FORMAT = '{package_name}.links'
-FILE_RULES = 'rules'
-
-PACKAGE_ROOT_FORMAT = "usr/share/{package_name}"
-CHANGELOG_DATE_FORMAT = "%a, %d %b %Y %H:%M:%S %z"
-
-# UTC Timezone for Changelog date
-class UTC(datetime.tzinfo):
- def utcoffset(self, dt):
- return datetime.timedelta(0)
-
- def tzname(self, dt):
- return "UTC"
-
- def dst(self, dt):
- return datetime.timedelta(0)
-
-# Generation Functions
-def generate_and_write_all(config_data, template_dir, output_dir, package_name=None, package_version=None):
- try:
- changelog_contents = generate_changelog(
- config_data,
- template_dir,
- package_name=package_name,
- package_version=package_version)
-
- control_contents = generate_control(config_data, template_dir, package_name=package_name)
- copyright_contents = generate_copyright(config_data, template_dir)
- symlink_contents = generate_symlinks(config_data, package_name=package_name)
- rules_contents = generate_rules(config_data, template_dir)
- except Exception as exc:
- print(exc)
- help_and_exit("Error: Generation Failed, check your config file.")
-
- write_file(changelog_contents, output_dir, FILE_CHANGELOG)
- write_file(control_contents, output_dir, FILE_CONTROL)
- write_file(copyright_contents, output_dir, FILE_COPYRIGHT)
- write_file(rules_contents, output_dir, FILE_RULES)
-
- # Symlink File is optional
- if symlink_contents:
- symlink_filename = get_symlink_filename(config_data, package_name=package_name)
- write_file(symlink_contents, output_dir, symlink_filename)
-
- return
-
-def generate_rules(config_data, template_dir):
- template = get_template(template_dir, FILE_RULES)
-
- ignored_dependency_packages = config_data.get("debian_ignored_dependencies", None)
- override_text = ""
-
- if ignored_dependency_packages != None:
- override_text = "override_dh_shlibdeps:\n\tdh_shlibdeps --dpkg-shlibdeps-params=\""
-
- for package in ignored_dependency_packages:
- override_text += "-x{0} ".format(package)
-
- override_text += "\""
-
- return template.format(overrides=override_text)
-
-def generate_changelog(config_data, template_dir, package_version=None, package_name=None):
- template = get_template(template_dir, FILE_CHANGELOG)
-
- release_data = config_data["release"]
-
- # Allow for Version Override
- config_package_version = release_data["package_version"]
- package_version = package_version or config_package_version
-
- template_dict = dict(\
- PACKAGE_VERSION=package_version,
- PACKAGE_REVISION=release_data["package_revision"],
- CHANGELOG_MESSAGE=release_data["changelog_message"],
- URGENCY=release_data.get("urgency", "low"),
-
- PACKAGE_NAME=package_name or config_data["package_name"],
- MAINTAINER_NAME=config_data["maintainer_name"],
- MAINTAINER_EMAIL=config_data["maintainer_email"],
- DATE=datetime.datetime.now(UTC()).strftime(CHANGELOG_DATE_FORMAT)
- )
-
- contents = template.format(**template_dict)
-
- return contents
-
-def generate_control(config_data, template_dir, package_name=None):
- template = get_template(template_dir, FILE_CONTROL)
-
- dependency_data = config_data.get("debian_dependencies", None)
- dependency_str = get_dependendent_packages_string(dependency_data)
-
- conflict_data = config_data.get("package_conflicts", [])
- conflict_str = ', '.join(conflict_data)
-
- # Default to empty dict, so we don't explode on nested optional values
- control_data = config_data.get("control", dict())
-
- template_dict = dict(\
- SHORT_DESCRIPTION=config_data["short_description"],
- LONG_DESCRIPTION=config_data["long_description"],
- HOMEPAGE=config_data.get("homepage", ""),
-
- SECTION=control_data.get("section", "misc"),
- PRIORITY=control_data.get("priority", "low"),
- ARCH=control_data.get("architecture", "all"),
-
- DEPENDENT_PACKAGES=dependency_str,
- CONFLICT_PACKAGES=conflict_str,
-
- PACKAGE_NAME=package_name or config_data["package_name"],
- MAINTAINER_NAME=config_data["maintainer_name"],
- MAINTAINER_EMAIL=config_data["maintainer_email"]
- )
-
- contents = template.format(**template_dict)
-
- return contents
-
-def generate_copyright(config_data, template_dir):
- template = get_template(template_dir, FILE_COPYRIGHT)
-
- license_data = config_data["license"]
-
- template_dict = dict(\
- COPYRIGHT_TEXT=config_data["copyright"],
- LICENSE_NAME=license_data["type"],
- LICENSE_TEXT=license_data["full_text"]
- )
-
- contents = template.format(**template_dict)
-
- return contents
-
-def generate_symlinks(config_data, package_name=None):
- symlink_entries = []
- package_root_path = get_package_root(config_data, package_name=package_name)
-
- symlink_data = config_data.get("symlinks", dict())
-
- for package_rel_path, symlink_path in iter(symlink_data.items()):
-
- package_abs_path = os.path.join(package_root_path, package_rel_path)
-
- symlink_entries.append( '%s %s' % (package_abs_path, symlink_path) )
-
- return '\n'.join(symlink_entries)
-
-# Helper Functions
-def get_package_root(config_data, package_name=None):
- config_install_root = config_data.get("install_root", None)
- package_name = package_name or config_data["package_name"]
-
- return config_install_root or PACKAGE_ROOT_FORMAT.format(package_name=package_name)
-
-def get_symlink_filename(config_data, package_name=None):
- package_name = package_name or config_data["package_name"]
- return FILE_SYMLINK_FORMAT.format(package_name=package_name)
-
-def get_dependendent_packages_string(debian_dependency_data):
- if debian_dependency_data is None:
- return ""
-
- dependencies = []
-
- for debian_package_name in debian_dependency_data:
- dep_str = debian_package_name
-
- if debian_dependency_data[debian_package_name].get("package_version", None):
- debian_package_version = debian_dependency_data[debian_package_name].get("package_version")
-
- dep_str += " (>= %s)" % debian_package_version
-
- dependencies.append(dep_str)
-
- # Leading Comma is important here
- return ', ' + ', '.join(dependencies)
-
-
-def load_json(json_path):
- json_data = None
- with open(json_path, 'r') as json_file:
- json_data = json.load(json_file)
-
- return json_data
-
-def get_template(template_dir, name):
- path = os.path.join(template_dir, name)
- template_contents = None
-
- with open(path, 'r') as template_file:
- template_contents = template_file.read()
-
- return template_contents
-
-def write_file(contents, output_dir, name):
- path = os.path.join(output_dir, name)
-
- with open(path, 'w') as out_file:
- out_file.write(contents)
-
- return
-
-# Tool Functions
-def help_and_exit(msg):
- print(msg)
- sys.exit(1)
-
-def print_usage():
- print("Usage: config_template_generator.py [config file path] [template directory path] [output directory] (package name) (package version)")
-
-def parse_and_validate_args():
- if len(sys.argv) < 4:
- print_usage()
- help_and_exit("Error: Invalid Arguments")
-
- config_path = sys.argv[1]
- template_dir = sys.argv[2]
- output_dir = sys.argv[3]
- name_override = None
- version_override = None
-
- if len(sys.argv) >= 5:
- name_override = sys.argv[4]
-
- if len(sys.argv) >= 6:
- version_override = sys.argv[5]
-
- if not os.path.isfile(config_path):
- help_and_exit("Error: Invalid config file path")
-
- if not os.path.isdir(template_dir):
- help_and_exit("Error: Invalid template directory path")
-
- if not os.path.isdir(output_dir):
- help_and_exit("Error: Invalid output directory path")
-
- return (config_path, template_dir, output_dir, name_override, version_override)
-
-def execute():
- config_path, template_dir, output_dir, name_override, version_override = parse_and_validate_args()
-
- config_data = load_json(config_path)
-
- generate_and_write_all(config_data, template_dir, output_dir, package_name = name_override, package_version=version_override)
-
-if __name__ == "__main__":
- execute()
diff --git a/src/Installers/Debian/tools/scripts/debian_build_lib.sh b/src/Installers/Debian/tools/scripts/debian_build_lib.sh
deleted file mode 100755
index 8aa53420f9f7..000000000000
--- a/src/Installers/Debian/tools/scripts/debian_build_lib.sh
+++ /dev/null
@@ -1,170 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-# This file is not intended to be executed directly
-# Import these functions using source
-#
-# Relies on these environment variables:
-# PACKAGE_SOURCE_DIR :: Package Source Staging Directory
-# INSTALL_ROOT :: Absolute path of package installation root
-
-# write_debian_install_file
-# Summary: Writes the contents of the "install_placement" array to the debian/install
-# This array is populated by calls to the "add_system_file_placement" function
-# Usage: write_debian_install_file
-write_debian_install_file(){
- # Remove any existing install file, we need to overwrite it
- rm -f ${PACKAGE_SOURCE_DIR}/debian/install
-
- for i in "${install_placement[@]}"
- do
- echo "${i}" >> "${PACKAGE_SOURCE_DIR}/debian/install"
- done
-}
-
-# add_system_file_placement
-# Summary: Registers a file placement on the filesystem from the package by populating the "install_placement" array
-# Usage: add_system_file_placement {local path of file in package} {absolute path of directory to place file in}
-add_system_file_placement(){
- #Initialize placement_index variable
- if [[ -z "$placement_index" ]]; then
- placement_index=0
- fi
-
- install_placement[${placement_index}]="${1} ${2}"
- placement_index=$((${placement_index}+1))
-}
-
-# add_system_dir_placement
-# Summary: Registers a directory placement on the post-installation package from an in-package path
-add_system_dir_placement(){
-
- in_package_dir=$1
- abs_installation_dir=$2
-
- dir_files=( $(_get_files_in_dir_tree $PACKAGE_SOURCE_DIR/$in_package_dir) )
-
- # If in_package_dir isn't empty include a slash
- if [ ! -z "$in_package_dir" ]; then
- in_package_dir="${in_package_dir}/"
- fi
-
- for rel_filepath in ${dir_files[@]}
- do
- local parent_path=$(dirname $rel_filepath)
-
- # If there is no parent, parent_path = "."
- if [[ "$parent_path" == "." ]]; then
- add_system_file_placement "${in_package_dir}${rel_filepath}" "${abs_installation_dir}"
- else
- add_system_file_placement "${in_package_dir}${rel_filepath}" "${abs_installation_dir}/${parent_path}"
- fi
-
- done
-}
-
-# add_file_to_install
-# Summary: Adds a file from the local filesystem to the package and installs it rooted at INSTALL_ROOT
-# Usage: add_install_file {relative path to local file} {relative path to INSTALL_ROOT to place file}
-add_file_to_install(){
- copy_from_file=$1
- rel_install_path=$2
-
- local filename=$(basename $copy_from_file)
- local parent_dir=$(dirname $copy_from_file)
-
- # Create Relative Copy From Path
- rel_copy_from_file=${copy_from_file#$parent_dir/}
-
- # Delete any existing file and ensure path exists
- rm -f ./${PACKAGE_SOURCE_DIR}/${rel_install_path}/${filename}
- mkdir -p ./${PACKAGE_SOURCE_DIR}/${rel_install_path}
-
- dir_files=( "$rel_copy_from_file" )
-
- _copy_files_to_package $parent_dir $rel_install_path "${dir_files[@]}"
-
- add_system_file_placement "${rel_install_path}/${filename}" "${INSTALL_ROOT}/$rel_install_path"
-}
-
-# add_dir_to_install
-# Summary: Adds contents of a directory on the local filesystem to the package and installs them rooted at INSTALL_ROOT
-# Note: Does not install the directory passed, only its contents
-# Usage: add_dir_to_install {relative path of directory to copy} {relative path to INSTALL_ROOT to place directory tree}
-add_dir_to_install(){
-
- copy_from_dir=$1
- rel_install_path=$2
-
- # Delete and Create any existing directory
- mkdir -p ${PACKAGE_SOURCE_DIR}/${rel_install_path}
-
- dir_files=( $(_get_files_in_dir_tree $copy_from_dir) )
-
- _copy_files_to_package "$copy_from_dir" "$rel_install_path" "${dir_files[@]}"
-
- for file in "${dir_files[@]}"
- do
- file_rel_dir="$(dirname $file)"
- add_system_file_placement "${rel_install_path}/${file}" "${INSTALL_ROOT}/$rel_install_path/${file_rel_dir}"
- done
-}
-
-# Usage: _copy_files_to_package {local files root directory} {relative directory in package to copy to} "${filepath_array[@]}"
-# Note: The specific syntax on the parameter shows how to pass an array
-_copy_files_to_package(){
- local_root_dir=$1
- package_dest_dir=$2
-
- # Consume the remaining input as an array
- shift; shift;
- rel_filepath_list=( $@ )
-
- for rel_filepath in ${rel_filepath_list[@]}
- do
- local parent_dir=$(dirname $rel_filepath)
- local filename=$(basename $rel_filepath)
-
- mkdir -p ${PACKAGE_SOURCE_DIR}/${package_dest_dir}/${parent_dir}
-
- # Ignore $parent_dir if it there isn't one
- if [[ "$parent_dir" == "." ]]; then
- cp "${local_root_dir}/${rel_filepath}" "${PACKAGE_SOURCE_DIR}/${package_dest_dir}"
- else
- cp "${local_root_dir}/${rel_filepath}" "${PACKAGE_SOURCE_DIR}/${package_dest_dir}/${parent_dir}"
- fi
-
- done
-}
-
-# Usage: _get_files_in_dir_tree {path of directory}
-_get_files_in_dir_tree(){
-
- root_dir=$1
-
- # Use Globstar expansion to enumerate all directories and files in the tree
- shopt -s globstar
- shopt -s dotglob
- dir_tree_list=( "${root_dir}/"** )
-
- # Build a new array with only the Files contained in $dir_tree_list
- local index=0
- for file_path in "${dir_tree_list[@]}"
- do
- if [ -f $file_path ]; then
- dir_tree_file_list[${index}]=$file_path
- index=$(($index+1))
- fi
- done
-
- # Remove $root_dir prefix from each path in dir_tree_file_list
- # This is confusing syntax, so here's a reference link (Substring Removal)
- # http://wiki.bash-hackers.org/syntax/pe
- dir_tree_file_list=( "${dir_tree_file_list[@]#${root_dir}/}" )
-
- # Echo is the return mechanism
- echo "${dir_tree_file_list[@]}"
-}
-
diff --git a/src/Installers/Debian/tools/scripts/extract_json_value.py b/src/Installers/Debian/tools/scripts/extract_json_value.py
deleted file mode 100755
index 45f26833f5bb..000000000000
--- a/src/Installers/Debian/tools/scripts/extract_json_value.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/python3
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-# Extract Json Value
-#
-# Very simple tool to ease extracting json values from the cmd line.
-import os
-import sys
-import json
-
-def print_usage():
- print("""
- Usage: extract_json_value.py [json file path] [key of value to extract]
- For nested keys, use . separator
- """)
-
-def help_and_exit(msg=None):
- print(msg)
- print_usage()
- sys.exit(1)
-
-def parse_and_validate_args():
-
- if len(sys.argv) < 3:
- help_and_exit(msg="Error: Invalid Args")
-
- json_path = sys.argv[1]
- json_key = sys.argv[2]
-
- if not os.path.isfile(json_path):
- help_and_exit("Error: Invalid json file path")
-
- return json_path, json_key
-
-def extract_key(json_path, json_key):
- json_data = None
-
- with open(json_path, 'r') as json_file:
- json_data = json.load(json_file)
-
- nested_keys = json_key.split('.')
- json_context = json_data
-
- for key in nested_keys:
- json_context = json_context.get(key, None)
-
- if json_context is None:
- help_and_exit("Error: Invalid json key")
-
- return str(json_context)
-
-def execute():
- json_path, json_key = parse_and_validate_args()
-
- value = extract_key(json_path, json_key)
-
- return value
-
-if __name__ == "__main__":
- print(execute())
-
diff --git a/src/Installers/Debian/tools/scripts/manpage_generator.py b/src/Installers/Debian/tools/scripts/manpage_generator.py
deleted file mode 100755
index 56a2c2a1e1d0..000000000000
--- a/src/Installers/Debian/tools/scripts/manpage_generator.py
+++ /dev/null
@@ -1,303 +0,0 @@
-#!/usr/bin/python3
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-# manpage_generator
-# Converts top level docs.json format command info to
-# nroff manpage format. Done in python for easy json parsing.
-#
-# Usage: argv[1] = path to docs.json; argv[2] = output path
-
-import sys
-import os
-import json
-import datetime
-
-SECTION_SEPARATOR = "\n.P \n"
-MANPAGE_EXTENSION = ".1"
-
-# For now this is a magic number
-# See https://www.debian.org/doc/manuals/maint-guide/dother.en.html#manpage
-SECTION_NUMBER = 1
-
-def generate_man_pages(doc_path, output_dir):
-
- with open(doc_path) as doc_file:
- doc_json = None
- try:
- doc_json = json.load(doc_file)
- except:
- raise Exception("Failed to load json file. Check formatting.")
-
- tools = doc_json.get("tools", None)
-
- if tools is None:
- raise Exception("No tool sections in doc.json")
-
- for tool_name in tools:
- tool_data = tools[tool_name]
-
- man_page_content = generate_man_page(tool_name, tool_data)
- man_page_path = get_output_path(tool_name, output_dir)
-
- write_man_page(man_page_path, man_page_content)
-
-def get_output_path(toolname, output_dir):
- out_filename = toolname + MANPAGE_EXTENSION
-
- return os.path.join(output_dir, out_filename)
-
-def write_man_page(path, content):
- with open(path, 'w') as man_file:
- man_file.write(content)
-
- #Build Fails without a final newline
- man_file.write('\n')
-
-def generate_man_page(tool_name, tool_data):
-
- sections = [
- generate_header_section(tool_name, tool_data),
- generate_name_section(tool_name, tool_data),
- generate_synopsis_section(tool_name, tool_data),
- generate_description_section(tool_name, tool_data),
- generate_options_section(tool_name, tool_data),
- generate_author_section(tool_name, tool_data),
- generate_copyright_section(tool_name, tool_data)
- ]
-
- return SECTION_SEPARATOR.join(sections)
-
-def generate_header_section(tool_name, tool_data):#
- roff_text_builder = []
-
- header_format = ".TH {program_name} {section_number} {center_footer} {left_footer} {center_header}"
-
- today = datetime.date.today()
- today_string = today.strftime("%B %d, %Y")
-
- format_args = {
- "program_name" : tool_name,
- "section_number" : SECTION_NUMBER,
- "center_footer" : "", # Omitted
- "left_footer" : "", # Omitted
- "center_header" : "" # Omitted
- }
-
- roff_text_builder.append(header_format.format(**format_args))
-
- return SECTION_SEPARATOR.join(roff_text_builder)
-
-def generate_name_section(tool_name, tool_data):#
- roff_text_builder = []
- roff_text_builder.append(".SH NAME")
-
- tool_short_description = tool_data.get("short_description", "")
- name_format = ".B {program_name} - {short_description}"
-
- name_format_args = {
- "program_name": tool_name,
- "short_description" : tool_short_description
- }
-
- roff_text_builder.append(name_format.format(**name_format_args))
-
- return SECTION_SEPARATOR.join(roff_text_builder)
-
-def generate_synopsis_section(tool_name, tool_data):#
- roff_text_builder = []
- roff_text_builder.append(".SH SYNOPSIS")
-
- synopsis_format = '.B {program_name} {command_name} \n.RI {options} " "\n.I "{argument_list_name}"'
-
- tool_commands = tool_data.get("commands", [])
- for command_name in tool_commands:
- command_data = tool_commands[command_name]
-
- # Default options to empty list so the loop doesn't blow up
- options = command_data.get("options", [])
- argument_list = command_data.get("argumentlist", None)
-
- # Construct Option Strings
- option_string_list = []
- argument_list_name = ""
-
- for option_name in options:
- option_data = options[option_name]
-
- specifier_short = option_data.get("short", None)
- specifier_long = option_data.get("long", None)
- parameter = option_data.get("parameter", None)
-
- option_string = _option_string_helper(specifier_short, specifier_long, parameter)
-
- option_string_list.append(option_string)
-
- # Populate Argument List Name
- if argument_list:
- argument_list_name = argument_list.get("name", "")
-
- cmd_format_args = {
- 'program_name' : tool_name,
- 'command_name' : command_name,
- 'options' : '" "'.join(option_string_list),
- 'argument_list_name' : argument_list_name
- }
-
- cmd_string = synopsis_format.format(**cmd_format_args)
-
- roff_text_builder.append(cmd_string)
-
- return SECTION_SEPARATOR.join(roff_text_builder)
-
-def generate_description_section(tool_name, tool_data):#
- roff_text_builder = []
- roff_text_builder.append(".SH DESCRIPTION")
-
- # Tool Description
- long_description = tool_data.get("long_description", "")
- roff_text_builder.append(".PP {0}".format(long_description))
-
- # Command Descriptions
- cmd_description_format = ".B {program_name} {command_name}\n{command_description}"
-
- tool_commands = tool_data.get("commands", [])
- for command_name in tool_commands:
- command_data = tool_commands[command_name]
-
- command_description = command_data.get("description", "")
-
- format_args = {
- "program_name" : tool_name,
- "command_name" : command_name,
- "command_description" : command_description
- }
-
- cmd_string = cmd_description_format.format(**format_args)
-
- roff_text_builder.append(cmd_string)
-
- return SECTION_SEPARATOR.join(roff_text_builder)
-
-def generate_options_section(tool_name, tool_data):#
- roff_text_builder = []
- roff_text_builder.append(".SH OPTIONS")
-
- options_format = '.TP\n.B {option_specifiers}\n{option_description}'
-
- tool_commands = tool_data.get("commands", [])
- for command_name in tool_commands:
- command_data = tool_commands[command_name]
-
- # Default to empty list so the loop doesn't blow up
- options = command_data.get("options", [])
-
- for option_name in options:
- option_data = options[option_name]
-
- specifier_short = option_data.get("short", None)
- specifier_long = option_data.get("long", None)
- parameter = option_data.get("parameter", None)
- description = option_data.get("description", "")
-
- option_specifiers_string = _option_string_helper(specifier_short,
- specifier_long,
- parameter,
- include_brackets = False,
- delimiter=' ", " ')
-
- format_args = {
- "option_specifiers": option_specifiers_string,
- "option_description" : description
- }
-
- roff_text_builder.append(options_format.format(**format_args))
-
- return SECTION_SEPARATOR.join(roff_text_builder)
-
-def generate_author_section(tool_name, tool_data):#
- roff_text_builder = []
- roff_text_builder.append(".SH AUTHOR")
-
- author_format = '.B "{author_name}" " " \n.RI ( "{author_email}" )'
-
- author_name = tool_data.get("author", "")
- author_email = tool_data.get("author_email", "")
-
- format_args = {
- "author_name" : author_name,
- "author_email" : author_email
- }
-
- roff_text_builder.append(author_format.format(**format_args))
-
- return SECTION_SEPARATOR.join(roff_text_builder)
-
-def generate_copyright_section(tool_name, tool_data):#
- roff_text_builder = []
- roff_text_builder.append(".SH COPYRIGHT")
-
- copyright_data = tool_data.get("copyright")
-
- roff_text_builder.append('.B "{0}"'.format(copyright_data))
-
- return SECTION_SEPARATOR.join(roff_text_builder)
-
-def _option_string_helper(specifier_short, specifier_long, parameter, include_brackets = True, delimiter = " | "):
- option_string = ""
-
- if include_brackets:
- option_string = " [ "
-
- if specifier_short:
- option_string += ' "{0}" '.format(specifier_short)
-
- if specifier_short and specifier_long:
- option_string += delimiter
-
- if specifier_long:
- option_string += ' "{0}" '.format(specifier_long)
-
- if parameter:
- option_string += ' " " '
- option_string += ' "{0}" '.format(parameter)
-
- if include_brackets:
- option_string += " ] "
-
- return option_string
-
-
-def print_usage():
- print("Usage: argv[1] = path to docs.json; argv[2] = output path")
- print("Example: manpage_generator.py ../docs.json ./dotnet-1.0/debian")
-
-def parse_args():
- doc_path = sys.argv[1]
- output_dir = sys.argv[2]
-
- return (doc_path, output_dir)
-
-def validate_args(doc_path, output_dir):
- if not os.path.isfile(doc_path):
- raise Exception("Docs.json path is not valid.")
-
- if not os.path.isdir(output_dir):
- raise Exception("Output Directory Path is not valid.")
-
-def execute_command_line():
- try:
- doc_path, output_dir = parse_args()
-
- validate_args(doc_path, output_dir)
-
- generate_man_pages(doc_path, output_dir)
-
- except Exception as exc:
- print("Error: ", exc)
- print_usage()
-
-if __name__ == "__main__":
- execute_command_line()
diff --git a/src/Installers/Debian/tools/setup/build_setup.sh b/src/Installers/Debian/tools/setup/build_setup.sh
deleted file mode 100755
index 269aff50ef7d..000000000000
--- a/src/Installers/Debian/tools/setup/build_setup.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-install_dependencies(){
- # Add LLdb 3.6 package source
- echo "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.6 main" | tee /etc/apt/sources.list.d/llvm.list
- wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add -
-
- #Install Deps
- apt-get update
- apt-get install -y debhelper build-essential devscripts git liblttng-ust-dev lldb-3.6-dev
-}
-
-setup(){
- install_dependencies
-}
-
-setup
\ No newline at end of file
diff --git a/src/Installers/Debian/tools/setup/test_setup.sh b/src/Installers/Debian/tools/setup/test_setup.sh
deleted file mode 100755
index 47442fd60356..000000000000
--- a/src/Installers/Debian/tools/setup/test_setup.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-install_dependencies(){
- # Add LLdb 3.6 package source
- echo "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.6 main" | tee /etc/apt/sources.list.d/llvm.list
- wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add -
-
- #Install Deps
- apt-get update
- apt-get install -y debhelper build-essential devscripts git liblttng-ust-dev lldb-3.6-dev
-}
-
-install_bats(){
- git clone https://github.com/sstephenson/bats.git
- cd bats
- ./install.sh /usr/local
-}
-
-setup(){
- install_dependencies
- install_bats
-}
-
-setup
\ No newline at end of file
diff --git a/src/Installers/Debian/tools/templates/debian/changelog b/src/Installers/Debian/tools/templates/debian/changelog
deleted file mode 100644
index 8eccaab397c6..000000000000
--- a/src/Installers/Debian/tools/templates/debian/changelog
+++ /dev/null
@@ -1,5 +0,0 @@
-{PACKAGE_NAME} ({PACKAGE_VERSION}-{PACKAGE_REVISION}) unstable; urgency={URGENCY}
-
- * {CHANGELOG_MESSAGE}
-
- -- {MAINTAINER_NAME} <{MAINTAINER_EMAIL}> {DATE}
diff --git a/src/Installers/Debian/tools/templates/debian/control b/src/Installers/Debian/tools/templates/debian/control
deleted file mode 100644
index 739c37b4ed5c..000000000000
--- a/src/Installers/Debian/tools/templates/debian/control
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-Source: {PACKAGE_NAME}
-Maintainer: {MAINTAINER_NAME} <{MAINTAINER_EMAIL}>
-Section: {SECTION}
-Priority: {PRIORITY}
-Standards-Version: 3.9.2
-Build-Depends: debhelper (>=9)
-Homepage: {HOMEPAGE}
-
-Package: {PACKAGE_NAME}
-Architecture: {ARCH}
-Depends: ${{misc:Depends}}{DEPENDENT_PACKAGES}
-Conflicts: {CONFLICT_PACKAGES}
-Description: {SHORT_DESCRIPTION}
- {LONG_DESCRIPTION}
diff --git a/src/Installers/Debian/tools/templates/debian/copyright b/src/Installers/Debian/tools/templates/debian/copyright
deleted file mode 100644
index 1fe22df1b722..000000000000
--- a/src/Installers/Debian/tools/templates/debian/copyright
+++ /dev/null
@@ -1,10 +0,0 @@
-Comment: Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-
-Files: *
-Copyright: {COPYRIGHT_TEXT}
-License: {LICENSE_NAME}
-
-License: {LICENSE_NAME}
- {LICENSE_TEXT}
\ No newline at end of file
diff --git a/src/Installers/Debian/tools/templates/debian/rules b/src/Installers/Debian/tools/templates/debian/rules
deleted file mode 100644
index 6f32006c48a5..000000000000
--- a/src/Installers/Debian/tools/templates/debian/rules
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/make -f
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-{overrides}
-
-override_dh_builddeb:
- dh_builddeb -- -Zxz
-
-%:
- dh $@
-
diff --git a/src/Installers/Debian/tools/test.sh b/src/Installers/Debian/tools/test.sh
deleted file mode 100755
index 9adde436f4dc..000000000000
--- a/src/Installers/Debian/tools/test.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-current_user=$(whoami)
-if [ $current_user != "root" ]; then
- echo "test.sh requires superuser privileges to run"
- exit 1
-fi
-
-run_unit_tests(){
- bats $DIR/test/unit_tests/test_debian_build_lib.bats
- bats $DIR/test/unit_tests/test_scripts.bats
-}
-
-run_integration_tests(){
- input_dir=$DIR/test/test_assets/test_package_layout
- output_dir=$DIR/bin
-
- # Create output dir
- mkdir -p $output_dir
-
- # Build the actual package
- $DIR/package_tool -i $input_dir -o $output_dir
-
- # Integration Test Entrypoint placed by package_tool
- bats $output_dir/test_package.bats
-
- # Cleanup output dir
- rm -rf $DIR/test/test_assets/test_package_output
-}
-
-run_all(){
- run_unit_tests
- run_integration_tests
-}
-
-run_all
diff --git a/src/Installers/Debian/tools/test/integration_tests/test_package.bats b/src/Installers/Debian/tools/test/integration_tests/test_package.bats
deleted file mode 100755
index 8f4c7505388b..000000000000
--- a/src/Installers/Debian/tools/test/integration_tests/test_package.bats
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-# This script is used to test the debian package after it's creation.
-# The package tool will drop it next to the .deb file it creates.
-# Environment Variables:
-# LAST_VERSION_URL: Url for last version .deb (to test upgrades) [required for upgrade test]
-
-#Ensure running with superuser privileges
-current_user=$(whoami)
-if [ $current_user != "root" ]; then
- echo "WARNING: test_package.bats requires superuser privileges to run, trying sudo..."
- SUDO_PREFIX="sudo"
-fi
-
-setup(){
- DIR="$BATS_TEST_DIRNAME"
-
- PACKAGE_FILENAME="$(ls $DIR | grep .deb -m 1)"
- PACKAGE_PATH="$DIR/*.deb"
-
- # Get Package name from package path,
- PACKAGE_NAME=${PACKAGE_FILENAME%%_*}
-}
-
-install_package(){
- $SUDO_PREFIX dpkg -i $PACKAGE_PATH
-}
-
-remove_package(){
- $SUDO_PREFIX dpkg -r $PACKAGE_NAME
-}
-
-purge_package(){
- $SUDO_PREFIX dpkg -P $PACKAGE_NAME
-}
-
-install_last_version(){
- $SUDO_PREFIX dpkg -i "$DIR/last_version.deb"
-}
-
-download_and_install_last_version(){
- curl "$LAST_VERSION_URL" -o "$DIR/last_version.deb"
-
- install_last_version
-}
-
-delete_last_version(){
- rm -f "$DIR/last_version.deb"
-}
-
-teardown(){
- delete_last_version
-}
-
-@test "package install + removal test" {
- install_package
- remove_package
-}
-
-@test "package install + purge test" {
- install_package
- purge_package
-}
-
-# Ultimate Package Test
-# https://www.debian.org/doc/manuals/maint-guide/checkit.en.html#pmaintscripts
-@test "package install + upgrade + purge + install + remove + install + purge test" {
- if [ ! -z "$LAST_VERSION_URL" ]; then
- download_and_install_last_version
- install_package
- purge_package
- install_package
- remove_package
- install_package
- purge_package
- fi
-}
diff --git a/src/Installers/Debian/tools/test/test_assets/lkgtestman.1 b/src/Installers/Debian/tools/test/test_assets/lkgtestman.1
deleted file mode 100644
index 57915b0a615f..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/lkgtestman.1
+++ /dev/null
@@ -1,99 +0,0 @@
-.TH tool1 1
-.P
-.SH NAME
-.P
-.B tool1 - A tool to Vestibulum lacinia arcu eget nulla.
-.P
-.SH SYNOPSIS
-.P
-.B tool1 noOptionsCommand
-.RI " "
-.I "argument list stuff"
-.P
-.B tool1 noArgumentListFullOptions
-.RI [ "-t" | "--target" " " "TARGET" ] " " [ "--noshortparam" ] " " [ "-l" ] " " [ "-p" | "--noparam" ] " " [ "-n" " " "NOLONG" ] " " [ "--noshort" " " "NOSHORT" ] " " [ "-a" | "--another" " " "ANOTHER" ] " "
-.I ""
-.P
-.B tool1 fullcommand1
-.RI [ "-t" | "--target" " " "TARGET" ] " " [ "--noshortparam" ] " " [ "-l" ] " " [ "-p" | "--noparam" ] " " [ "-n" " " "NOLONG" ] " " [ "--noshort" " " "NOSHORT" ] " " [ "-a" | "--another" " " "ANOTHER" ] " "
-.I "argument list stuff"
-.P
-.SH DESCRIPTION
-.P
-.PP Tool1 is a really great Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.
-.P
-.B tool1 noOptionsCommand
-builds a native executable from specified source files
-.P
-.B tool1 noArgumentListFullOptions
-builds a native executable from specified source files
-.P
-.B tool1 fullcommand1
-builds a native executable from specified source files
-.P
-.SH OPTIONS
-.P
-.TP
-.B "-t" ", " "--target" " " "TARGET"
-Specifies target binary output type. EXE or DLL
-.P
-.TP
-.B "--noshortparam"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.TP
-.B "-l"
-Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet
-.P
-.TP
-.B "-p" ", " "--noparam"
-Specifies noparam metus vitae pharetra auctor, sem
-.P
-.TP
-.B "-n" " " "NOLONG"
-Specifies nolong Nunc feugiat mi a tellus consequat
-.P
-.TP
-.B "--noshort" " " "NOSHORT"
-Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt
-.P
-.TP
-.B "-a" ", " "--another" " " "ANOTHER"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.TP
-.B "-t" ", " "--target" " " "TARGET"
-Specifies target binary output type. EXE or DLL
-.P
-.TP
-.B "--noshortparam"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.TP
-.B "-l"
-Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet
-.P
-.TP
-.B "-p" ", " "--noparam"
-Specifies noparam metus vitae pharetra auctor, sem
-.P
-.TP
-.B "-n" " " "NOLONG"
-Specifies nolong Nunc feugiat mi a tellus consequat
-.P
-.TP
-.B "--noshort" " " "NOSHORT"
-Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt
-.P
-.TP
-.B "-a" ", " "--another" " " "ANOTHER"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.SH AUTHOR
-.P
-.B "Test Author" " "
-.RI ( "testing@testing.com" )
-.P
-.SH COPYRIGHT
-.P
-.B "This is the copyright of tool1."
diff --git a/src/Installers/Debian/tools/test/test_assets/test_package_layout/debian_config.json b/src/Installers/Debian/tools/test/test_assets/test_package_layout/debian_config.json
deleted file mode 100644
index 2150baab15d7..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/test_package_layout/debian_config.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "maintainer_name":"Microsoft",
- "maintainer_email": "optimus@service.microsoft.com",
-
- "package_name": "packagetooltest",
-
- "short_description": "This is a test package",
- "long_description": "This is a longer description of the test package",
- "homepage": "http://testpackage.com",
-
- "release":{
- "package_version":"0.1",
- "package_revision":"1",
- "urgency" : "low",
- "changelog_message" : "some stuff here"
- },
-
- "control": {
- "priority":"standard",
- "section":"devel",
- "architecture":"any"
- },
-
- "copyright": "2015 Microsoft",
- "license": {
- "type": "some_license",
- "full_text": "full license text here"
- },
-
- "debian_dependencies" : {
- "curl": {
- "package_version" : "0.5.3"
- },
- "python3":{}
- },
-
- "symlinks": {
- "path_relative_to_package_root/test_exe.sh" : "usr/bin/test_exe.sh"
- }
-}
\ No newline at end of file
diff --git a/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs.json b/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs.json
deleted file mode 100644
index e35fdb3bfd78..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "tools": {
- "tool1": {
- "copyright": "This is the copyright of tool1.",
- "license" : "This is the license of tool1",
- "author":"Test Author",
- "author_email":"testing@testing.com",
- "short_description":"A tool to Vestibulum lacinia arcu eget nulla.",
- "long_description":"Tool1 is a really great Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh. ",
- "commands": {
- "fullcommand1":{
- "description":"builds a native executable from specified source files",
- "options" : {
- "target": {
- "short": "-t",
- "long":"--target",
- "description":"Specifies target binary output type. EXE or DLL",
- "parameter":"TARGET"
- },
- "target2": {
- "short": "-a",
- "long":"--another",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra",
- "parameter":"ANOTHER"
- },
- "noshort": {
- "long":"--noshort",
- "description":"Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt",
- "parameter":"NOSHORT"
- },
- "nolong": {
- "short": "-n",
- "description":"Specifies nolong Nunc feugiat mi a tellus consequat ",
- "parameter":"NOLONG"
- },
- "noparam": {
- "short": "-p",
- "long":"--noparam",
- "description":"Specifies noparam metus vitae pharetra auctor, sem"
- },
- "noParamNoShort": {
- "long":"--noshortparam",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra"
- },
- "noParamNoLong": {
- "short": "-l",
- "description":"Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet"
- }
- },
- "argumentlist" : {
- "name":"argument list stuff",
- "description":"ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;"
- }
-
- },
- "noOptionsCommand":{
- "description":"builds a native executable from specified source files",
- "argumentlist" : {
- "name":"argument list stuff",
- "description":"ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;"
- }
-
- },
- "noArgumentListFullOptions":{
- "description":"builds a native executable from specified source files",
- "options" : {
- "target": {
- "short": "-t",
- "long":"--target",
- "description":"Specifies target binary output type. EXE or DLL",
- "parameter":"TARGET"
- },
- "target2": {
- "short": "-a",
- "long":"--another",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra",
- "parameter":"ANOTHER"
- },
- "noshort": {
- "long":"--noshort",
- "description":"Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt",
- "parameter":"NOSHORT"
- },
- "nolong": {
- "short": "-n",
- "description":"Specifies nolong Nunc feugiat mi a tellus consequat ",
- "parameter":"NOLONG"
- },
- "noparam": {
- "short": "-p",
- "long":"--noparam",
- "description":"Specifies noparam metus vitae pharetra auctor, sem"
- },
- "noParamNoShort": {
- "long":"--noshortparam",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra"
- },
- "noParamNoLong": {
- "short": "-l",
- "description":"Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet"
- }
- }
- }
- }
-
- }
- }
-}
diff --git a/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs/testdocs.1 b/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs/testdocs.1
deleted file mode 100644
index 57915b0a615f..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs/testdocs.1
+++ /dev/null
@@ -1,99 +0,0 @@
-.TH tool1 1
-.P
-.SH NAME
-.P
-.B tool1 - A tool to Vestibulum lacinia arcu eget nulla.
-.P
-.SH SYNOPSIS
-.P
-.B tool1 noOptionsCommand
-.RI " "
-.I "argument list stuff"
-.P
-.B tool1 noArgumentListFullOptions
-.RI [ "-t" | "--target" " " "TARGET" ] " " [ "--noshortparam" ] " " [ "-l" ] " " [ "-p" | "--noparam" ] " " [ "-n" " " "NOLONG" ] " " [ "--noshort" " " "NOSHORT" ] " " [ "-a" | "--another" " " "ANOTHER" ] " "
-.I ""
-.P
-.B tool1 fullcommand1
-.RI [ "-t" | "--target" " " "TARGET" ] " " [ "--noshortparam" ] " " [ "-l" ] " " [ "-p" | "--noparam" ] " " [ "-n" " " "NOLONG" ] " " [ "--noshort" " " "NOSHORT" ] " " [ "-a" | "--another" " " "ANOTHER" ] " "
-.I "argument list stuff"
-.P
-.SH DESCRIPTION
-.P
-.PP Tool1 is a really great Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.
-.P
-.B tool1 noOptionsCommand
-builds a native executable from specified source files
-.P
-.B tool1 noArgumentListFullOptions
-builds a native executable from specified source files
-.P
-.B tool1 fullcommand1
-builds a native executable from specified source files
-.P
-.SH OPTIONS
-.P
-.TP
-.B "-t" ", " "--target" " " "TARGET"
-Specifies target binary output type. EXE or DLL
-.P
-.TP
-.B "--noshortparam"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.TP
-.B "-l"
-Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet
-.P
-.TP
-.B "-p" ", " "--noparam"
-Specifies noparam metus vitae pharetra auctor, sem
-.P
-.TP
-.B "-n" " " "NOLONG"
-Specifies nolong Nunc feugiat mi a tellus consequat
-.P
-.TP
-.B "--noshort" " " "NOSHORT"
-Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt
-.P
-.TP
-.B "-a" ", " "--another" " " "ANOTHER"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.TP
-.B "-t" ", " "--target" " " "TARGET"
-Specifies target binary output type. EXE or DLL
-.P
-.TP
-.B "--noshortparam"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.TP
-.B "-l"
-Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet
-.P
-.TP
-.B "-p" ", " "--noparam"
-Specifies noparam metus vitae pharetra auctor, sem
-.P
-.TP
-.B "-n" " " "NOLONG"
-Specifies nolong Nunc feugiat mi a tellus consequat
-.P
-.TP
-.B "--noshort" " " "NOSHORT"
-Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt
-.P
-.TP
-.B "-a" ", " "--another" " " "ANOTHER"
-Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra
-.P
-.SH AUTHOR
-.P
-.B "Test Author" " "
-.RI ( "testing@testing.com" )
-.P
-.SH COPYRIGHT
-.P
-.B "This is the copyright of tool1."
diff --git a/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh b/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh
deleted file mode 100755
index 370bc40f3a95..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-# Resolve symlinks until we have the parent dir of the actual file
-SOURCE="${BASH_SOURCE[0]}"
-while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
- DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
- SOURCE="$(readlink "$SOURCE")"
- [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
-done
-DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
-
-# This is how tools should be called
-exec bash $DIR/../test_called.sh
diff --git a/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/test_called.sh b/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/test_called.sh
deleted file mode 100755
index e14e427cf67f..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/test_called.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-echo "script called"
diff --git a/src/Installers/Debian/tools/test/test_assets/test_package_layout/samples/testsample.cs b/src/Installers/Debian/tools/test/test_assets/test_package_layout/samples/testsample.cs
deleted file mode 100644
index 086319c67a58..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/test_package_layout/samples/testsample.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using System;
-
-public class Program {
-
- public static void Main(){
- System.Console.WriteLine("Hello World");
- }
-
-}
\ No newline at end of file
diff --git a/src/Installers/Debian/tools/test/test_assets/testdocs.json b/src/Installers/Debian/tools/test/test_assets/testdocs.json
deleted file mode 100644
index e35fdb3bfd78..000000000000
--- a/src/Installers/Debian/tools/test/test_assets/testdocs.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "tools": {
- "tool1": {
- "copyright": "This is the copyright of tool1.",
- "license" : "This is the license of tool1",
- "author":"Test Author",
- "author_email":"testing@testing.com",
- "short_description":"A tool to Vestibulum lacinia arcu eget nulla.",
- "long_description":"Tool1 is a really great Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh. ",
- "commands": {
- "fullcommand1":{
- "description":"builds a native executable from specified source files",
- "options" : {
- "target": {
- "short": "-t",
- "long":"--target",
- "description":"Specifies target binary output type. EXE or DLL",
- "parameter":"TARGET"
- },
- "target2": {
- "short": "-a",
- "long":"--another",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra",
- "parameter":"ANOTHER"
- },
- "noshort": {
- "long":"--noshort",
- "description":"Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt",
- "parameter":"NOSHORT"
- },
- "nolong": {
- "short": "-n",
- "description":"Specifies nolong Nunc feugiat mi a tellus consequat ",
- "parameter":"NOLONG"
- },
- "noparam": {
- "short": "-p",
- "long":"--noparam",
- "description":"Specifies noparam metus vitae pharetra auctor, sem"
- },
- "noParamNoShort": {
- "long":"--noshortparam",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra"
- },
- "noParamNoLong": {
- "short": "-l",
- "description":"Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet"
- }
- },
- "argumentlist" : {
- "name":"argument list stuff",
- "description":"ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;"
- }
-
- },
- "noOptionsCommand":{
- "description":"builds a native executable from specified source files",
- "argumentlist" : {
- "name":"argument list stuff",
- "description":"ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;"
- }
-
- },
- "noArgumentListFullOptions":{
- "description":"builds a native executable from specified source files",
- "options" : {
- "target": {
- "short": "-t",
- "long":"--target",
- "description":"Specifies target binary output type. EXE or DLL",
- "parameter":"TARGET"
- },
- "target2": {
- "short": "-a",
- "long":"--another",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra",
- "parameter":"ANOTHER"
- },
- "noshort": {
- "long":"--noshort",
- "description":"Specifies noshortNam nec ante. Sed lacinia, urna non tincidunt",
- "parameter":"NOSHORT"
- },
- "nolong": {
- "short": "-n",
- "description":"Specifies nolong Nunc feugiat mi a tellus consequat ",
- "parameter":"NOLONG"
- },
- "noparam": {
- "short": "-p",
- "long":"--noparam",
- "description":"Specifies noparam metus vitae pharetra auctor, sem"
- },
- "noParamNoShort": {
- "long":"--noshortparam",
- "description":"Specifies another aptent taciti sociosqu ad litora torquent per conubia nostra"
- },
- "noParamNoLong": {
- "short": "-l",
- "description":"Specifies noparam nolong congue elementum. Morbi in ipsum sit amet pede facilisis laoreet"
- }
- }
- }
- }
-
- }
- }
-}
diff --git a/src/Installers/Debian/tools/test/unit_tests/test_debian_build_lib.bats b/src/Installers/Debian/tools/test/unit_tests/test_debian_build_lib.bats
deleted file mode 100755
index 193868f835f7..000000000000
--- a/src/Installers/Debian/tools/test/unit_tests/test_debian_build_lib.bats
+++ /dev/null
@@ -1,279 +0,0 @@
-#!/usr/bin/env bats
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-# Tests for debian_build_lib.sh
-
-setup(){
- DIR="$BATS_TEST_DIRNAME"
- PACKAGIFY_DIR="$(readlink -f $DIR/../../)"
-
- PACKAGE_DIR="$BATS_TMPDIR/test-package"
- PACKAGE_SOURCE_DIR="$BATS_TMPDIR/test-source-package"
- INSTALL_ROOT="test-install-root"
-
- # # Create Mock Package Directory
- mkdir -p $PACKAGE_SOURCE_DIR/debian
- mkdir $PACKAGE_DIR
-
- source $PACKAGIFY_DIR/scripts/debian_build_lib.sh
-
-}
-
-teardown(){
- # Remove Mock Package Directory
- rm -r $PACKAGE_DIR
- rm -r $PACKAGE_SOURCE_DIR
-}
-
-@test "add_system_file_placement populates placement array" {
-
- add_system_file_placement "testfile0" "testdir0"
- add_system_file_placement "testfile1" "testdir1"
-
- [ $placement_index -eq "2" ]
- [ "${install_placement[0]}" = "testfile0 testdir0" ]
- [ "${install_placement[1]}" = "testfile1 testdir1" ]
-}
-
-@test "add_system_dir_placement adds files in dir to placement array" {
- test_package_rel_dir="test-dir"
- abs_test_path="/abs/test/path"
-
- mkdir $PACKAGE_SOURCE_DIR/$test_package_rel_dir
- echo "file0 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/file0
- echo "file1 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/file1
- echo "file2 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/file2
-
- add_system_dir_placement $test_package_rel_dir $abs_test_path
-
- rm -r $PACKAGE_SOURCE_DIR/$test_package_rel_dir
-
- [ "$placement_index" -eq 3 ]
- [ "${install_placement[0]}" = "$test_package_rel_dir/file0 $abs_test_path" ]
- [ "${install_placement[1]}" = "$test_package_rel_dir/file1 $abs_test_path" ]
- [ "${install_placement[2]}" = "$test_package_rel_dir/file2 $abs_test_path" ]
-}
-
-@test "add_system_dir_placement adds all files in subdir to placement array" {
- test_package_rel_dir="test-dir"
- test_package_rel_subdir="test-subdir"
- abs_test_path="/abs/test/path"
-
- mkdir -p $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir
- echo "file0 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir/file0
- echo "file1 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir/file1
- echo "file2 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir/file2
-
- add_system_dir_placement $test_package_rel_dir $abs_test_path
-
- rm -r $PACKAGE_SOURCE_DIR/$test_package_rel_dir
-
- [ "$placement_index" -eq "3" ]
- [ "${install_placement[0]}" = "$test_package_rel_dir/$test_package_rel_subdir/file0 $abs_test_path/$test_package_rel_subdir" ]
- [ "${install_placement[1]}" = "$test_package_rel_dir/$test_package_rel_subdir/file1 $abs_test_path/$test_package_rel_subdir" ]
- [ "${install_placement[2]}" = "$test_package_rel_dir/$test_package_rel_subdir/file2 $abs_test_path/$test_package_rel_subdir" ]
-}
-
-@test "add_system_dir_placement adds all files in subdir and dir to placement array" {
- test_package_rel_dir="test-dir"
- test_package_rel_subdir="test-subdir"
- abs_test_path="/abs/test/path"
-
- mkdir -p $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir
- echo "file0 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/file0
- echo "file1 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/file1
- echo "file2 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/file2
- echo "file3 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir/file3
- echo "file4 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir/file4
- echo "file5 contents" > $PACKAGE_SOURCE_DIR/$test_package_rel_dir/$test_package_rel_subdir/file5
-
- add_system_dir_placement $test_package_rel_dir $abs_test_path
-
- rm -r $PACKAGE_SOURCE_DIR/$test_package_rel_dir
-
- [ "$placement_index" -eq "6" ]
- [ "${install_placement[0]}" = "$test_package_rel_dir/file0 $abs_test_path" ]
- [ "${install_placement[1]}" = "$test_package_rel_dir/file1 $abs_test_path" ]
- [ "${install_placement[2]}" = "$test_package_rel_dir/file2 $abs_test_path" ]
- [ "${install_placement[3]}" = "$test_package_rel_dir/$test_package_rel_subdir/file3 $abs_test_path/$test_package_rel_subdir" ]
- [ "${install_placement[4]}" = "$test_package_rel_dir/$test_package_rel_subdir/file4 $abs_test_path/$test_package_rel_subdir" ]
- [ "${install_placement[5]}" = "$test_package_rel_dir/$test_package_rel_subdir/file5 $abs_test_path/$test_package_rel_subdir" ]
-}
-
-@test "write_debian_install_file writes to debian/install" {
- add_system_file_placement "somefile" "/some/abs/path"
- write_debian_install_file
-
- [ -f "$PACKAGE_SOURCE_DIR/debian/install" ]
- [ "$(cat $PACKAGE_SOURCE_DIR/debian/install)" = "somefile /some/abs/path" ]
-}
-
-@test "add_file_to_install adds file to package_dest_dir" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- local_subdir="the/path/should/not/matter"
- package_test_dir="package-dir"
-
- mkdir $PACKAGE_SOURCE_DIR/$package_test_dir
- mkdir -p $local_test_dir/$local_subdir
- echo "file0 contents" > $local_test_dir/$local_subdir/file0
- echo "file1 contents" > $local_test_dir/$local_subdir/file1
- echo "file2 contents" > $local_test_dir/$local_subdir/file2
-
- add_file_to_install "$local_test_dir/$local_subdir/file0" "$package_test_dir"
- add_file_to_install "$local_test_dir/$local_subdir/file1" "$package_test_dir"
- add_file_to_install "$local_test_dir/$local_subdir/file2" "$package_test_dir"
-
- rm -r $local_test_dir
-
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file0" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file1" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file2" ]
-}
-
-@test "add_file_to_install added files written to install file after write_debian_install_file" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- local_subdir="the/path/should/not/matter"
- package_test_dir="package-dir"
-
- mkdir $PACKAGE_SOURCE_DIR/$package_test_dir
- mkdir -p $local_test_dir/$local_subdir
- echo "file0 contents" > $local_test_dir/$local_subdir/file0
-
- add_file_to_install "$local_test_dir/$local_subdir/file0" "$package_test_dir"
-
- rm -r $local_test_dir
-
- [ ! -e $PACKAGE_SOURCE_DIR/debian/install ]
- write_debian_install_file
- [ -f $PACKAGE_SOURCE_DIR/debian/install ]
- [ "$(cat $PACKAGE_SOURCE_DIR/debian/install)" = "$package_test_dir/file0 $INSTALL_ROOT/$package_test_dir" ]
-}
-
-@test "add_dir_to_install adds files in dir to package_dest_dir" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- package_test_dir="package-dir"
-
- mkdir $PACKAGE_SOURCE_DIR/$package_test_dir
- mkdir $local_test_dir
- echo "file0 contents" > $local_test_dir/file0
- echo "file1 contents" > $local_test_dir/file1
- echo "file2 contents" > $local_test_dir/file2
-
- add_dir_to_install "$local_test_dir" "$package_test_dir"
-
- rm -r $local_test_dir
-
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file0" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file1" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file2" ]
-}
-
-@test "add_dir_to_install adds files in subdirectory tree to package_dest_dir" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- local_test_subdir="local-subdir"
-
- package_test_dir="package-dir"
-
- mkdir $PACKAGE_SOURCE_DIR/$package_test_dir
- mkdir -p $local_test_dir/$local_test_subdir
- echo "file0 contents" > $local_test_dir/$local_test_subdir/file0
- echo "file1 contents" > $local_test_dir/$local_test_subdir/file1
- echo "file2 contents" > $local_test_dir/$local_test_subdir/file2
-
- add_dir_to_install "$local_test_dir" "$package_test_dir"
-
- rm -r $local_test_dir
-
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/$local_test_subdir/file0" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/$local_test_subdir/file1" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/$local_test_subdir/file2" ]
-}
-
-@test "add_dir_to_install adds files in directory and subdirectory tree to package_dest_dir" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- local_test_subdir="local-subdir"
-
- package_test_dir="package-dir"
-
- mkdir $PACKAGE_SOURCE_DIR/$package_test_dir
- mkdir -p $local_test_dir/$local_test_subdir
-
- echo "file0 contents" > $local_test_dir/file0
- echo "file1 contents" > $local_test_dir/file1
- echo "file2 contents" > $local_test_dir/file2
- echo "file3 contents" > $local_test_dir/$local_test_subdir/file3
- echo "file4 contents" > $local_test_dir/$local_test_subdir/file4
- echo "file5 contents" > $local_test_dir/$local_test_subdir/file5
-
- add_dir_to_install "$local_test_dir" "$package_test_dir"
-
- rm -r $local_test_dir
-
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file0" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file1" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/file2" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/$local_test_subdir/file3" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/$local_test_subdir/file4" ]
- [ -f "$PACKAGE_SOURCE_DIR/$package_test_dir/$local_test_subdir/file5" ]
-}
-
-@test "add_dir_to_install added files written to install file after write_debian_install_file" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- package_test_dir="package-dir"
-
- mkdir $PACKAGE_SOURCE_DIR/$package_test_dir
- mkdir -p $local_test_dir
-
- echo "file0 contents" > $local_test_dir/file0
-
- add_dir_to_install "$local_test_dir" "$package_test_dir"
-
- rm -r $local_test_dir
-
- [ ! -e $PACKAGE_SOURCE_DIR/debian/install ]
- write_debian_install_file
- [ -f $PACKAGE_SOURCE_DIR/debian/install ]
- [ "$(cat $PACKAGE_SOURCE_DIR/debian/install)" = "$package_test_dir/file0 $INSTALL_ROOT/$package_test_dir" ]
-}
-
-@test "add_dir_to_install with empty dest dir outputs to PACKAGE_SOURCE_DIR" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- mkdir -p $local_test_dir
-
- echo "file0 contents" > $local_test_dir/file0
-
- add_dir_to_install "$local_test_dir" ""
-
- rm -r $local_test_dir
-
- [ -f "$PACKAGE_SOURCE_DIR/file0" ]
-}
-
-
-@test "add_dir_to_install with empty dest dir adds files in directory and subdirectory tree to $PACKAGE_SOURCE_DIR" {
- local_test_dir="$BATS_TMPDIR/local-dir"
- local_test_subdir="local-subdir"
-
- mkdir -p $local_test_dir/$local_test_subdir
-
- echo "file0 contents" > $local_test_dir/file0
- echo "file1 contents" > $local_test_dir/file1
- echo "file2 contents" > $local_test_dir/file2
- echo "file3 contents" > $local_test_dir/$local_test_subdir/file3
- echo "file4 contents" > $local_test_dir/$local_test_subdir/file4
- echo "file5 contents" > $local_test_dir/$local_test_subdir/file5
-
- add_dir_to_install "$local_test_dir" ""
-
- rm -r $local_test_dir
-
- [ -f "$PACKAGE_SOURCE_DIR/file0" ]
- [ -f "$PACKAGE_SOURCE_DIR/file1" ]
- [ -f "$PACKAGE_SOURCE_DIR/file2" ]
- [ -f "$PACKAGE_SOURCE_DIR/$local_test_subdir/file3" ]
- [ -f "$PACKAGE_SOURCE_DIR/$local_test_subdir/file4" ]
- [ -f "$PACKAGE_SOURCE_DIR/$local_test_subdir/file5" ]
-}
diff --git a/src/Installers/Debian/tools/test/unit_tests/test_scripts.bats b/src/Installers/Debian/tools/test/unit_tests/test_scripts.bats
deleted file mode 100755
index 86f95b9ba52b..000000000000
--- a/src/Installers/Debian/tools/test/unit_tests/test_scripts.bats
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env bats
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-# Tests for debian_build_lib.sh
-
-setup(){
- DIR="$BATS_TEST_DIRNAME"
- PACKAGIFY_DIR="$(readlink -f $DIR/../../)"
-}
-
-@test "manpage generation is identical to lkg file" {
- # Output is file "tool1.1"
- # LKG file is "lkgtestman.1"
- python3 $PACKAGIFY_DIR/scripts/manpage_generator.py $PACKAGIFY_DIR/test/test_assets/testdocs.json $PACKAGIFY_DIR/test/test_assets
-
- # Test Output existence
- [ -f $PACKAGIFY_DIR/test/test_assets/tool1.1 ]
-
- # Test Output matches LKG
- # If this is failing double check line ending style
- [ -z "$(diff "$PACKAGIFY_DIR/test/test_assets/tool1.1" "$PACKAGIFY_DIR/test/test_assets/lkgtestman.1")" ]
-
- # Cleanup
- rm $PACKAGIFY_DIR/test/test_assets/tool1.1
-}
\ No newline at end of file
diff --git a/src/Installers/Rpm/Directory.Build.props b/src/Installers/Rpm/Directory.Build.props
deleted file mode 100644
index 252ab60311c5..000000000000
--- a/src/Installers/Rpm/Directory.Build.props
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
- $(IntermediateOutputPath)$(TargetRuntimeIdentifier)\
- $(InstallersOutputPath)
-
- -cm.1
- -cm.2
-
-
- true
- true
-
-
- x64
- aarch64
-
-
- false
-
-
diff --git a/src/Installers/Rpm/Directory.Build.targets b/src/Installers/Rpm/Directory.Build.targets
deleted file mode 100644
index 30d705abb1dc..000000000000
--- a/src/Installers/Rpm/Directory.Build.targets
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
-
-
- $(RpmPackageInstallRoot)/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(RpmBuildDependsOn);
- PrepareForBuild;
- ResolveProjectReferences;
- GetTargetPath;
-
-
-
-
-
-
-
-
- $(InstallersOutputPath)$(CblMarinerBaseName)$(CblMariner1VersionSuffix)$(CblMarinerExtension)
- $(InstallersOutputPath)$(CblMarinerBaseName)$(CblMariner2VersionSuffix)$(CblMarinerExtension)
-
-
-
-
- DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy))
- $(ChangeLogProps);MAINTAINER_NAME=$(Authors)
- $(ChangeLogProps);MAINTAINER_EMAIL=$(MaintainerEmail)
- $(ChangeLogProps);PACKAGE_VERSION=$(PackageVersion)
- $(ChangeLogProps);PACKAGE_REVISION=$(PackageRevision)
-
-
- x86_64
- aarch64
-
- $(IntermediateOutputPath)changelog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Installers/Rpm/Rpm.Runtime.Common.targets b/src/Installers/Rpm/Rpm.Runtime.Common.targets
deleted file mode 100644
index e679ff625e91..000000000000
--- a/src/Installers/Rpm/Rpm.Runtime.Common.targets
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
- $(RuntimeInstallerBaseName)-$(AspNetCoreMajorMinorVersion)
- $(AspNetCoreMajorMinorVersion).$(AspNetCorePatchVersion)
-
-
- 1
- 0.1.$(VersionSuffix.Replace('-', '_'))
-
- $(SharedFxProductName)
- $(SharedFxDescription)
-
- $(SharedFrameworkLayoutRoot)
-
- $(MicrosoftNETCoreAppRuntimeVersion.Split('.')[0]).$(MicrosoftNETCoreAppRuntimeVersion.Split('.')[1])
-
-
-
-
-
-
-
-
-
diff --git a/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj b/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj
deleted file mode 100644
index 5e0427aea7f8..000000000000
--- a/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- /usr/share/dotnet/
-
-
-
-
-
-
- $(RuntimeInstallerBaseName)-$(SharedFxVersion)-$(RpmArch).rpm
- $(InstallersOutputPath)$(TargetFileName)
- $(RuntimeInstallerBaseName)-$(SharedFxVersion)
- -$(RpmArch).rpm
-
-
diff --git a/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj b/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj
deleted file mode 100644
index a29db936bd79..000000000000
--- a/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- /usr/share/dotnet/
-
- $(TargetingPackLayoutRoot)
-
-
-
- $(TargetingPackInstallerBaseName)-$(AspNetCoreMajorMinorVersion)
-
- ASP.NET Core Targeting Pack
- Provides a default set of APIs for building an ASP.NET Core $(AspNetCoreMajorMinorVersion) application. Contains reference assemblies, documentation, and other design-time assets.
-
- $(MicrosoftNETCoreAppRefVersion.Split('.')[0]).$(MicrosoftNETCoreAppRefVersion.Split('.')[1])
-
-
-
-
-
-
-
-
-
-
-
-
- $(TargetingPackInstallerBaseName)-$(TargetingPackVersion)-$(RpmArch).rpm
- $(InstallersOutputPath)$(TargetFileName)
- $(TargetingPackInstallerBaseName)-$(TargetingPackVersion)
- -$(RpmArch).rpm
-
- $(TargetingPackVersionPrefix)
-
-
- 1
- 0.1.$(VersionSuffix.Replace('-', '_'))
-
-
diff --git a/src/Installers/Rpm/changelog.in b/src/Installers/Rpm/changelog.in
deleted file mode 100644
index 919601192419..000000000000
--- a/src/Installers/Rpm/changelog.in
+++ /dev/null
@@ -1,2 +0,0 @@
-* ${DATE} ${MAINTAINER_NAME} <${MAINTAINER_EMAIL}> - ${PACKAGE_VERSION}-${PACKAGE_REVISION}
--
\ No newline at end of file
diff --git a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj
index 92eeef609891..0235a8c37dd1 100644
--- a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj
+++ b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj
@@ -63,9 +63,9 @@
- $(InstallersOutputPath)
- $(InstallersOutputPath)
- $(InstallersOutputPath)
+ $(ArtifactsShippingPackagesDir)
+ $(ArtifactsShippingPackagesDir)
+ $(ArtifactsShippingPackagesDir)
$(SharedFrameworkArm64HarvestRootPath)aspnetcore-runtime-$(PackageVersion)-win-arm64.zip
$(SharedFrameworkX64HarvestRootPath)aspnetcore-runtime-$(PackageVersion)-win-x64.zip
$(SharedFrameworkX86HarvestRootPath)aspnetcore-runtime-$(PackageVersion)-win-x86.zip
diff --git a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj
index 4823d1c89f33..1c41fba0361d 100644
--- a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj
+++ b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj
@@ -63,7 +63,7 @@
- $(InstallersOutputPath)
+ $(ArtifactsShippingPackagesDir)
$(TargetingPackVersionPrefix)
$(TargetingPackZipVersion)-$(VersionSuffix)
$(TargetingPackHarvestRoot)aspnetcore-targeting-pack-$(TargetingPackZipVersion)-$(TargetRuntimeIdentifier).zip
diff --git a/src/ProjectTemplates/ProjectTemplates.slnf b/src/ProjectTemplates/ProjectTemplates.slnf
index a3e1d4b51627..06bf071ab30c 100644
--- a/src/ProjectTemplates/ProjectTemplates.slnf
+++ b/src/ProjectTemplates/ProjectTemplates.slnf
@@ -12,7 +12,7 @@
"src\\DataProtection\\Extensions\\src\\Microsoft.AspNetCore.DataProtection.Extensions.csproj",
"src\\DefaultBuilder\\src\\Microsoft.AspNetCore.csproj",
"src\\Extensions\\Features\\src\\Microsoft.Extensions.Features.csproj",
- "src\\Framework\\App.Runtime\\src\\Microsoft.AspNetCore.App.Runtime.csproj",
+ "src\\Framework\\App.Runtime\\src\\Microsoft.AspNetCore.App.Runtime.sfxproj",
"src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
"src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
"src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
@@ -95,4 +95,4 @@
"src\\SignalR\\server\\SignalR\\src\\Microsoft.AspNetCore.SignalR.csproj"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj b/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj
index 933f42dd9423..cfd8616293b2 100644
--- a/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj
@@ -54,7 +54,7 @@
-
diff --git a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj
index 3d0831a1001a..74bfd58798ba 100644
--- a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj
@@ -44,7 +44,7 @@
-
diff --git a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj
index b42866c3a78f..59acba6a0d9e 100644
--- a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj
@@ -43,7 +43,7 @@
-
diff --git a/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj b/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj
index 8d2e818fea7b..3640c3ce1f52 100644
--- a/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj
@@ -53,7 +53,7 @@
-
diff --git a/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj b/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj
index a22f7fdea519..59c79fcb5ace 100644
--- a/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj
@@ -47,7 +47,7 @@
-
diff --git a/src/SiteExtensions/LoggingBranch/LB.csproj b/src/SiteExtensions/LoggingBranch/LB.csproj
index 7832725de868..68b1439ef2b6 100644
--- a/src/SiteExtensions/LoggingBranch/LB.csproj
+++ b/src/SiteExtensions/LoggingBranch/LB.csproj
@@ -24,7 +24,7 @@
-
diff --git a/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj b/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj
index bd67ff01be5c..e204031389b5 100644
--- a/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj
+++ b/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj
@@ -34,7 +34,7 @@
SkipGetTargetFrameworkProperties="true" />
-