Merge branch 'release/2.2'

This commit is contained in:
Nate McMaster 2018-11-02 10:10:49 -07:00
commit cb85ffa8f6
No known key found for this signature in database
GPG Key ID: A778D9601BD78810
33 changed files with 423 additions and 797 deletions

View File

@ -207,13 +207,6 @@ phases:
/p:SharedFxRID=linux-musl-x64
/p:BuildNumber=$(Build.BuildNumber)
displayName: Build linux-musl-x64 runtime
# TODO: configure installers to run in one build.sh invocation
- script: >
./build.sh
--ci
/t:BuildInstallers
/p:_SharedFxSourceDir=$(Build.SourcesDirectory)/artifacts/runtime/
displayName: Build linux installers
- task: PublishTestResults@2
displayName: Publish test results
condition: always()

4
.gitmodules vendored
View File

@ -30,10 +30,6 @@
path = modules/CORS
url = https://github.com/aspnet/CORS.git
branch = master
[submodule "modules/DependencyInjection"]
path = modules/DependencyInjection
url = https://github.com/aspnet/DependencyInjection.git
branch = master
[submodule "modules/Diagnostics"]
path = modules/Diagnostics
url = https://github.com/aspnet/Diagnostics.git

View File

@ -6,15 +6,21 @@
<Authors>Microsoft</Authors>
<Company>Microsoft Corporation.</Company>
<RpmPackageVendor>.NET Foundation</RpmPackageVendor>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<NeutralLanguage>en-US</NeutralLanguage>
<PackageLicenseUrl>https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt</PackageLicenseUrl>
<!-- The SPDX name for the source license. See https://spdx.org/licenses/. -->
<PackageLicenseType>Apache-2.0</PackageLicenseType>
<!--
Suppress a warning about upcoming deprecation of PackageLicenseUrl. When embedding licenses are supported,
replace PackageLicenseUrl with PackageLicenseExpression.
-->
<NoWarn>$(NoWarn);NU5125</NoWarn>
<!-- Contact email address for NuGet packages and Linux installers. -->
<MaintainerEmail>nugetaspnet@microsoft.com</MaintainerEmail>
<PackageIconUrl>https://go.microsoft.com/fwlink/?LinkID=288859</PackageIconUrl>
<PackageProjectUrl>https://asp.net</PackageProjectUrl>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
@ -24,6 +30,12 @@
<RepositoryUrl>https://github.com/aspnet/AspNetCore</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<SharedFxProductName>$(Product) $(PackageVersion) Shared Framework</SharedFxProductName>
<SharedFxDescription>Shared Framework for hosting of Microsoft ASP.NET Core applications. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub ($(RepositoryUrl)). We happily accept issues and PRs.</SharedFxDescription>
</PropertyGroup>
<!-- Compilation options -->
<PropertyGroup>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)eng\AspNetCore.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
@ -40,6 +52,7 @@
<Import Project="build\external-dependencies.props" />
<Import Project="build\sources.props" />
<!-- Folder layout -->
<PropertyGroup>
<ArtifactsDir Condition="'$(ArtifactsDir)' == ''">$(RepositoryRoot)artifacts\</ArtifactsDir>
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
@ -48,25 +61,9 @@
<ArtifactsBinDir>$(ArtifactsConfigurationDir)bin\</ArtifactsBinDir>
<InstallersOutputPath>$(ArtifactsConfigurationDir)installers\</InstallersOutputPath>
<PackageOutputPath>$(ArtifactsDir)build\</PackageOutputPath>
<!-- Defines the default RID of the platform currently running the build. -->
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win-x64</HostRid>
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</HostRid>
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux-x64</HostRid>
<!-- This defines the list of RIDs supported by the ASP.NET Core shared framework. -->
<SupportedRuntimeIdentifiers>
win-x64;
win-x86;
win-arm;
osx-x64;
linux-musl-x64;
linux-x64;
linux-arm;
linux-arm64
</SupportedRuntimeIdentifiers>
</PropertyGroup>
<Import Project="eng\targets\RuntimeIdentifiers.props" />
<Import Project="eng\targets\Cpp.Common.props" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'" />
<Import Project="eng\targets\SharedFx.Common.props" Condition="'$(MSBuildProjectExtension)' == '.shfxproj'" />
<Import Project="eng\targets\Wix.Common.props" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />

View File

@ -1,7 +1,7 @@
<Project>
<ItemGroup>
<!-- Third-party components in Microsoft.AspNetCore.All/App which should be signed. -->
<!-- Third-party components in Microsoft.AspNetCore.App which should be signed. -->
<!-- Microsoft.AspNetCore.App -->
<FilesToSign Include="Newtonsoft.Json.dll" Certificate="$(AssemblySigning3rdPartyCertName)" Container="Microsoft.AspNetCore.App" />
<FilesToSign Include="Remotion.Linq.dll" Certificate="$(AssemblySigning3rdPartyCertName)" Container="Microsoft.AspNetCore.App" />

View File

@ -48,7 +48,8 @@
Overwrite="true" />
<ItemGroup>
<SharedFxVersionBadge Include="$(IntermediateDir)$(SharedFxInstallerName)-%(AllSharedFxRIDs.Identity)-version-badge.svg" />
<_AllSharedFxRIDs Include="$(SupportedRuntimeIdentifiers)" />
<SharedFxVersionBadge Include="$(IntermediateDir)aspnetcore-runtime-%(AllSharedFxRIDs.Identity)-version-badge.svg" />
</ItemGroup>
<GenerateSvgBadge

View File

@ -1,76 +0,0 @@
<Project>
<PropertyGroup>
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win-x64</SharedFxRid>
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</SharedFxRid>
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux-x64</SharedFxRid>
<!-- directories -->
<_WorkRoot>$(RepositoryRoot).w\$(SharedFxRID)\</_WorkRoot>
<_WorkLayoutDir>$(_WorkRoot).l\</_WorkLayoutDir>
<_WorkOutputDir>$(_WorkRoot).o\</_WorkOutputDir>
<_MetapackageSrcRoot>$(RepositoryRoot)src\Packages\</_MetapackageSrcRoot>
<_TemplatesDir>$(MSBuildThisFileDirectory)tools\templates\</_TemplatesDir>
<_DockerDir>$(MSBuildThisFileDirectory)tools\docker\</_DockerDir>
<_PackagingDir>$(MSBuildThisFileDirectory)tools\packaging\</_PackagingDir>
<_SharedFxSourceDir>$(RepositoryRoot).deps\Signed\SharedFx\</_SharedFxSourceDir>
<_InstallerSourceDir>$(RepositoryRoot).deps\Installers\</_InstallerSourceDir>
<_SymbolsSourceDir>$(RepositoryRoot).deps\symbols\</_SymbolsSourceDir>
<_DockerRootDir>/opt/code/</_DockerRootDir>
<_InstallersOutputDir>$(ArtifactsDir)installers\</_InstallersOutputDir>
<ArchiveExtension>.tar.gz</ArchiveExtension>
<ArchiveExtension Condition="$(SharedFxRID.StartsWith('win'))">.zip</ArchiveExtension>
<SharedFrameworkTargetFramework>netcoreapp3.0</SharedFrameworkTargetFramework>
<!-- installers -->
<SharedFxInstallerName>aspnetcore-runtime</SharedFxInstallerName>
<!--
This is named aspnetcore-runtime-internal because it only includes Microsoft.AspNetCore.App and is an intermediate file passed off to signing, installer generation, etc.
Subsequent build steps will combine this with Microsoft.NETCore.App and produce final tarballs/zips.
-->
<SharedFxIntermediateArchiveBaseName>$(SharedFxInstallerName)-internal</SharedFxIntermediateArchiveBaseName>
<DebConfigInFile>$(_PackagingDir)debian_config.json.in</DebConfigInFile>
<PublicCoreFeedPrefix>https://dotnetcli.blob.core.windows.net/dotnet/</PublicCoreFeedPrefix>
<!-- In an orchestrated build, this may be overriden to other Azure feeds. -->
<DotNetAssetRootUrl Condition="'$(DotNetAssetRootUrl)'==''">$(PublicCoreFeedPrefix)</DotNetAssetRootUrl>
<DotnetRuntimeFileNamePrefix>dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)</DotnetRuntimeFileNamePrefix>
<RuntimeArchiveLinkPrefix>$(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreAppPackageVersion)/$(DotnetRuntimeFileNamePrefix)</RuntimeArchiveLinkPrefix>
<SharedFxIntermediateArchiveFilePrefix>$(_SharedFxSourceDir)$(SharedFxIntermediateArchiveBaseName)-$(PackageVersion)</SharedFxIntermediateArchiveFilePrefix>
<!-- installer versions -->
<!-- CLI would take a dependency such as 'aspnetcore-runtime-M.N >= M.N.P'. Here M.N is the InstallerIdVersion and M.N.P is the InstallerPackageVersion -->
<InstallerIdVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</InstallerIdVersion>
<InstallerPackageVersion>$(InstallerIdVersion).$(AspNetCorePatchVersion)</InstallerPackageVersion>
<!-- Deb installers are versioned as M.N.P~Build following the core-setup convention -->
<DebInstallerPackageVersion>$(InstallerPackageVersion)</DebInstallerPackageVersion>
<DebInstallerPackageVersion Condition="'$(PackageVersionSuffix)' != ''">$(DebInstallerPackageVersion)~$(PackageVersionSuffix)</DebInstallerPackageVersion>
<PackageRevision>1</PackageRevision>
<!-- While the revision number of Debian installers must stay at 1, the RPM installers will include the build number in the revision if available -->
<RpmPackageRevision>$(PackageRevision)</RpmPackageRevision>
<RpmPackageRevision Condition="'$(PackageVersionSuffix)' != ''">0.1.$(PackageVersionSuffix)</RpmPackageRevision>
<RpmPackageRevision>$([System.String]::Copy('$(RpmPackageRevision)').Replace('-', '_'))</RpmPackageRevision>
<!-- installer metadata -->
<MaintainerName>Microsoft</MaintainerName>
<MaintainerEmail>nugetaspnet@microsoft.com</MaintainerEmail>
<Homepage>https://www.asp.net/</Homepage>
<InstallRoot>/usr/share/dotnet</InstallRoot>
<LicenseType>Apache-2.0</LicenseType>
<SharedFxSummary>Microsoft ASP.NET Core $(PackageVersion) Shared Framework</SharedFxSummary>
<SharedFxDescription>Shared Framework for hosting of Microsoft ASP.NET Core applications. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/aspnet/home). We happily accept issues and PRs.</SharedFxDescription>
</PropertyGroup>
<ItemGroup>
<WindowsSharedFxRIDs Include="win-x64;win-x86;win-arm"/>
<NonWindowsSharedFxRIDs Include="osx-x64" CrossgenSymbols="false" />
<NonWindowsSharedFxRIDs Include="linux-musl-x64" />
<NonWindowsSharedFxRIDs Include="linux-x64" />
<NonWindowsSharedFxRIDs Include="linux-arm" CrossGen="false" />
<NonWindowsSharedFxRIDs Include="linux-arm64" CrossGen="false" />
<AllSharedFxRIDs Include="@(WindowsSharedFxRIDs);@(NonWindowsSharedFxRIDs)"/>
</ItemGroup>
</Project>

View File

@ -1,6 +1,4 @@
<Project>
<Import Project="SharedFx.props" />
<PropertyGroup>
<UnitTestFxProject>$(RepositoryRoot)src\Framework\Framework.UnitTests\Framework.UnitTests.csproj</UnitTestFxProject>
<UnitTestFxProject>$([MSBuild]::NormalizePath($(UnitTestFxProject)))</UnitTestFxProject>
@ -14,8 +12,9 @@
<ProjectToBuild Include="$(RepositoryRoot)src\Framework\**\*.pkgproj" />
<ProjectToBuild Include="$(RepositoryRoot)src\Framework\**\*.shfxproj" />
<ProjectToBuild Include="$(UnitTestFxProject)" />
<ProjectToBuild Include="$(RepositoryRoot)src\Installers\Archive.Internal\*.*proj" />
<ProjectToBuild Include="$(RepositoryRoot)src\Installers\Archive.Redist\*.*proj" />
<ProjectToBuild Condition=" '$(BuildRuntimeArchive)' != 'false' " Include="$(RepositoryRoot)src\Installers\Archive\*.*proj" />
<ProjectToBuild Condition=" '$(SharedFxRid)' == 'linux-x64' AND '$(LinuxInstallerType)' == 'deb' " Include="$(RepositoryRoot)src\Installers\Debian\*.*proj" />
<ProjectToBuild Condition=" '$(SharedFxRid)' == 'linux-x64' AND '$(LinuxInstallerType)' == 'rpm' " Include="$(RepositoryRoot)src\Installers\Rpm\*.*proj" />
</ItemGroup>
<Target Name="BuildSharedFx" DependsOnTargets="$(BuildSharedFxDependsOn)" />
@ -66,8 +65,8 @@
</Target>
<Target Name="TestSharedFx" DependsOnTargets="GeneratePropsFiles;InstallDotNet">
<PropertyGroup>
<PropertyGroup>
<!-- The file path to the log file, from within the container -->
<UnitTestFxTrxLogFile>$(LogOutputDir)SharedFx-UnitTests-$(Version).trx</UnitTestFxTrxLogFile>
<!-- The trx file path from the perspective of the TeamCity agent -->

View File

@ -1,189 +0,0 @@
<Project>
<Target Name="BuildInstallers" DependsOnTargets="GenerateRpms;GenerateDebs" />
<Target Name="_EnsureInstallerPrerequisites">
<MakeDir Directories="$(_InstallersOutputDir)" />
<!-- Check Docker server OS -->
<Exec Command="docker version -f &quot;{{.Server.Os}}&quot;" StandardOutputImportance="Normal" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="DockerHostOS" />
</Exec>
<Error
Text="Docker host must be using Linux containers."
Condition="'$(DockerHostOS)' != 'linux'"/>
<Error
Text="Expected archive missing at $(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz."
Condition="!Exists('$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz')" />
</Target>
<Target Name="_BuildDockerImage">
<Exec Command="docker build --build-arg USER_ID=%24(id -u) -t docker-image-$(Image) $(Image)" WorkingDirectory="$(_DockerDir)" />
</Target>
<Target Name="_RemoveDockerImage">
<Exec Command="docker rmi docker-image-$(Image)" />
</Target>
<Target Name="_GenerateRpm">
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Extract archive if given -->
<MakeDir Directories="$(_WorkRoot)package_root\" />
<Exec Command="tar -xzf $(SharedFxArchive) -C $(_WorkRoot)package_root\" Condition="'$(SharedFxArchive)'!=''" />
<!-- Create layout: Create changelog -->
<PropertyGroup>
<ChangeLogProps>DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy))</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);MAINTAINER_NAME=$(RpmMaintainerName)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);MAINTAINER_EMAIL=$(RpmMaintainerEmail)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);PACKAGE_VERSION=$(RpmPackageVersion)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);PACKAGE_REVISION=$(RpmRevision)</ChangeLogProps>
</PropertyGroup>
<GenerateFileFromTemplate TemplateFile="$(_PackagingDir)changelog.in" OutputPath="$(_WorkRoot)templates/changelog" Properties="$(ChangeLogProps)" />
<!-- Run fpm -->
<!-- Retry added due to fpm/docker race where .w/package_root directory cannot be resolved -->
<Run
FileName="docker"
Command="run --rm -v $(RepositoryRoot):$(_DockerRootDir) docker-image-$(Image) fpm --verbose -s dir -t rpm -n $(RpmName)-$(RpmIdVersion) -p $(_DockerRootDir)artifacts/installers/$(RpmName)-$(RpmFileVersion)-$(RpmFileSuffix) -v $(RpmPackageVersion) --iteration $(RpmRevision) -a amd64 $(RpmArguments) --rpm-changelog $(_DockerRootDir).w/$(SharedFxRid)/templates/changelog --rpm-summary &quot;$(RpmMSummary)&quot; --description &quot;$(RpmDescription)&quot; --maintainer &quot;$(RpmMaintainerName) &lt;$(RpmMaintainerEmail)&gt;&quot; --vendor &quot;$(RpmVendor)&quot; --license &quot;$(RpmLicense)&quot; --url &quot;$(RpmHomepage)&quot; $(_DockerRootDir).w/$(SharedFxRid)/package_root/=&quot;$(RpmInstallRoot)/&quot;"
MaxRetries="5"/>
</Target>
<Target Name="GenerateRpms" DependsOnTargets="_EnsureInstallerPrerequisites">
<PropertyGroup>
<Image>rhel.7</Image>
<RpmVendor>.NET Foundation</RpmVendor>
<RHInstallRoot>/opt/rh/rh-dotnet20/root/usr/lib64/dotnet</RHInstallRoot>
<Rpm_DotnetRuntimeDependencyId>dotnet-runtime-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</Rpm_DotnetRuntimeDependencyId>
<Rpm_DotnetRuntimeDependencyVersion>$(MicrosoftNETCoreAppPackageVersion.Split('-')[0])</Rpm_DotnetRuntimeDependencyVersion>
</PropertyGroup>
<!-- Build Docker Image -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildDockerImage" Properties="Image=$(Image)" />
<ItemGroup>
<RpmSharedFxDependencies Include="$(Rpm_DotnetRuntimeDependencyId)" Version="$(Rpm_DotnetRuntimeDependencyVersion)" />
<RpmRHSharedFxDirectories Include="$(RHInstallRoot)/shared" />
<RpmGenericSharedFxDirectories Include="$(InstallRoot)/shared" />
</ItemGroup>
<PropertyGroup>
<RpmSharedFxArguments>@(RpmSharedFxDependencies->' -d &quot;%(Identity) &gt;= %(Version)&quot;', ' ')</RpmSharedFxArguments>
<RpmRHSharedFxArguments>$(RpmSharedFxArguments) @(RpmRHSharedFxDirectories->' --directories &quot;%(FullPath)&quot;', ' ')</RpmRHSharedFxArguments>
<RpmGenericSharedFxArguments>$(RpmSharedFxArguments) @(RpmGenericSharedFxDirectories->' --directories &quot;%(FullPath)&quot;', ' ')</RpmGenericSharedFxArguments>
<RpmCommonProps>Image=$(Image);RpmVendor=$(RpmVendor);RpmName=$(SharedFxInstallerName)</RpmCommonProps>
<RpmCommonProps>$(RpmCommonProps);RpmMaintainerName=$(MaintainerName);RpmMaintainerEmail=$(MaintainerEmail)</RpmCommonProps>
<RpmCommonProps>$(RpmCommonProps);RpmHomepage=$(Homepage);RpmRevision=$(RpmPackageRevision)</RpmCommonProps>
<RpmCommonProps>$(RpmCommonProps);RpmLicense=$(LicenseType)</RpmCommonProps>
<RpmCommonProps>$(RpmCommonProps);SharedFxArchive=$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz</RpmCommonProps>
<RpmCommonProps>$(RpmCommonProps);RpmMSummary=$(SharedFxSummary);RpmDescription=$(SharedFxDescription)</RpmCommonProps>
<RpmGenericProps>RpmInstallRoot=$(InstallRoot)</RpmGenericProps>
<RpmRHProps>RpmInstallRoot=$(RHInstallRoot)</RpmRHProps>
<RpmProps>RpmIdVersion=$(InstallerIdVersion);RpmPackageVersion=$(InstallerPackageVersion);RpmFileVersion=$(PackageVersion)</RpmProps>
<RpmSharedFxProps>$(RpmCommonProps);$(RpmGenericProps);$(RpmProps);RpmArguments=$(RpmGenericSharedFxArguments);RpmFileSuffix=x64.rpm</RpmSharedFxProps>
<RpmRHSharedFxProps>$(RpmCommonProps);$(RpmRHProps);$(RpmProps);RpmArguments=$(RpmRHSharedFxArguments);RpmFileSuffix=rh.rhel.7-x64.rpm</RpmRHSharedFxProps>
</PropertyGroup>
<!-- Generic installer-->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RpmSharedFxProps)" />
<!-- RH installer-->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RpmRHSharedFxProps)" />
<!-- Remove Docker Image to save disk space -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_RemoveDockerImage" Properties="Image=$(Image)" />
</Target>
<Target Name="RunDebTool">
<PropertyGroup>
<BuildDebInstallerScript>$(RepositoryRoot)src/Installers/Debian/build.sh</BuildDebInstallerScript>
</PropertyGroup>
<!-- Build deb package -->
<Exec Command="$(BuildDebInstallerScript) -i $(_WorkLayoutDir) -o $(_WorkOutputDir) -n $(INSTALLER_NAME) -v $(INSTALLER_VERSION)" />
</Target>
<Target Name="_GenerateDeb">
<!-- Create layout: Clear work directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Extract archive if given -->
<MakeDir Directories="$(_WorkLayoutDir)package_root\" />
<Exec Command="tar -xzf $(SharedFxArchive) -C $(_WorkLayoutDir)package_root/" Condition="'$(SharedFxArchive)'!=''" />
<!-- Create layout: Generate and Place debian_config.json -->
<PropertyGroup>
<DebConfigProps>MAINTAINER_NAME=$(MaintainerName)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);MAINTAINER_EMAIL=$(MaintainerEmail)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);HOMEPAGE=$(Homepage)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);INSTALL_ROOT=$(InstallRoot)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);PACKAGE_NAME=$(DebPrefix)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);PACKAGE_REVISION=$(PackageRevision)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);LICENSE_TYPE=$(LicenseType)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);SHORT_DESCRIPTION=$(DebSummary)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);LONG_DESCRIPTION=$(DebDescription)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);DEBIAN_DEPENDENCIES=$(DebDependencies)</DebConfigProps>
</PropertyGroup>
<GenerateFileFromTemplate TemplateFile="$(DebConfigInFile)" OutputPath="$(_WorkLayoutDir)debian_config.json" Properties="$(DebConfigProps)" />
<!-- Build SharedFx Bundle Deb package -->
<Exec Command="docker run --rm -v $(RepositoryRoot):$(_DockerRootDir) -e DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -e INSTALLER_NAME=$(DebPrefix)-$(DebIdVersion) -e INSTALLER_VERSION=$(DebPackageVersion) docker-image-$(Image) ./build.sh /t:RunDebTool"
ContinueOnError="WarnAndContinue" />
<!-- Copy SharedFx packages to output -->
<ItemGroup>
<GeneratedDebFiles Include="$(_WorkOutputDir)/*.deb" />
</ItemGroup>
<Error Text="@(GeneratedDebFiles->Count()) deb installer files generated." Condition="'@(GeneratedDebFiles->Count())' != 1" />
<Copy
DestinationFiles="$(_InstallersOutputDir)$(DebPrefix)-$(DebFileVersion)-x64.deb"
SourceFiles="@(GeneratedDebFiles)"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
</Target>
<Target Name="GenerateDebs" DependsOnTargets="_EnsureInstallerPrerequisites">
<PropertyGroup>
<Deb_DotnetRuntimeDependencyId>dotnet-runtime-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</Deb_DotnetRuntimeDependencyId>
<Deb_DotnetRuntimeDependencyVersion>$(MicrosoftNETCoreAppPackageVersion)</Deb_DotnetRuntimeDependencyVersion>
<!-- Needed some creativity to convert the PackageVersion M.N.P-Build to the installer version M.N.P~Build, The conditional handles stabilized builds -->
<Deb_DotnetRuntimeDependencyVersion Condition="$(Deb_DotnetRuntimeDependencyVersion.Contains('-'))">$(Deb_DotnetRuntimeDependencyVersion.Substring(0, $(Deb_DotnetRuntimeDependencyVersion.IndexOf('-'))))~$(Deb_DotnetRuntimeDependencyVersion.Substring($([MSBuild]::Add($(Deb_DotnetRuntimeDependencyVersion.IndexOf('-')), 1))))</Deb_DotnetRuntimeDependencyVersion>
</PropertyGroup>
<ItemGroup>
<_DebSharedFxDependencies Include="$(Deb_DotnetRuntimeDependencyId)" Version="$(Deb_DotnetRuntimeDependencyVersion)"/>
</ItemGroup>
<PropertyGroup>
<Image>ubuntu.14.04</Image>
<DebSharedFxDependencies>@(_DebSharedFxDependencies->'"%(Identity)": { "package_version": "%(Version)" }', ', ')</DebSharedFxDependencies>
<DebCommonProps>Image=$(Image);DebPrefix=$(SharedFxInstallerName)</DebCommonProps>
<DebCommonProps>$(DebCommonProps);DebSummary=$(SharedFxSummary);DebDescription=$(SharedFxDescription)</DebCommonProps>
<DebCommonProps>$(DebCommonProps);SharedFxArchive=$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz</DebCommonProps>
<DebProps>DebIdVersion=$(InstallerIdVersion);DebPackageVersion=$(DebInstallerPackageVersion);DebFileVersion=$(PackageVersion);DebDependencies=$(DebSharedFxDependencies)</DebProps>
</PropertyGroup>
<!-- Build Docker Image -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildDockerImage" Properties="Image=$(Image)" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDeb" Properties="$(DebCommonProps);$(DebProps)" />
<!-- Remove Docker Image to save disk space -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_RemoveDockerImage" Properties="Image=$(Image)" />
</Target>
</Project>

View File

@ -178,7 +178,6 @@
<PackageArtifact Include="Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite" Category="ship" />
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Tools" Category="ship" />
<PackageArtifact Include="Microsoft.EntityFrameworkCore" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.ActivatorUtilities.Sources" Category="noship" />
<PackageArtifact Include="Microsoft.Extensions.ApiDescription.Design" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.ApplicationModelDetection" Category="noship" />
<PackageArtifact Include="Microsoft.Extensions.Buffers.MemoryPool.Sources" Category="noship" />
@ -199,9 +198,6 @@
<PackageArtifact Include="Microsoft.Extensions.Configuration.UserSecrets" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.Configuration.Xml" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.Configuration" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Abstractions" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks" Category="ship" />
@ -232,7 +228,6 @@
<PackageArtifact Include="Microsoft.Extensions.Options.ConfigurationExtensions" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.Options.DataAnnotations" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.Options" Category="ship" />
<PackageArtifact Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Category="noship" />
<PackageArtifact Include="Microsoft.Extensions.WebEncoders" Category="ship" />
<PackageArtifact Include="Microsoft.Net.Http.Headers" Category="ship" />
<PackageArtifact Include="Microsoft.NET.Sdk.Razor" Category="ship" />

View File

@ -7,7 +7,6 @@
</ItemDefinitionGroup>
<ItemGroup>
<RepositoryBuildOrder Include="DependencyInjection" Order="2" />
<RepositoryBuildOrder Include="FileSystem" Order="2" />
<RepositoryBuildOrder Include="JsonPatch" Order="2" />
<RepositoryBuildOrder Include="Configuration" Order="3" />

View File

@ -31,29 +31,34 @@
<SystemThreadingTasksExtensionsPackageVersion>4.6.0-preview1-26907-04</SystemThreadingTasksExtensionsPackageVersion>
<SystemValueTuplePackageVersion>4.6.0-preview1-26829-04</SystemValueTuplePackageVersion>
<!-- Packages from aspnet/Extensions -->
<InternalAspNetCoreAnalyzersPackageVersion>3.0.0-alpha1-10657</InternalAspNetCoreAnalyzersPackageVersion>
<MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-alpha1-10657</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
<MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
<MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>
<MicrosoftAspNetCoreTestingPackageVersion>3.0.0-alpha1-10657</MicrosoftAspNetCoreTestingPackageVersion>
<MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion>
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
<MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion>
<MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
<MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
<MicrosoftExtensionsNonCapturingTimerSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsNonCapturingTimerSourcesPackageVersion>
<MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion>
<MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsObjectPoolPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsProcessSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsProcessSourcesPackageVersion>
<MicrosoftExtensionsPropertyActivatorSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsPropertyActivatorSourcesPackageVersion>
<MicrosoftExtensionsPropertyHelperSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsPropertyHelperSourcesPackageVersion>
<MicrosoftExtensionsRazorViewsSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsRazorViewsSourcesPackageVersion>
<MicrosoftExtensionsSecurityHelperSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsSecurityHelperSourcesPackageVersion>
<MicrosoftExtensionsStackTraceSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsStackTraceSourcesPackageVersion>
<MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
<MicrosoftExtensionsWebEncodersSourcesPackageVersion>3.0.0-alpha1-10657</MicrosoftExtensionsWebEncodersSourcesPackageVersion>
<InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview-181102-05</InternalAspNetCoreAnalyzersPackageVersion>
<MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview-181102-05</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
<MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
<MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>
<MicrosoftAspNetCoreTestingPackageVersion>3.0.0-preview-181102-05</MicrosoftAspNetCoreTestingPackageVersion>
<MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
<MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion>
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
<MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion>
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
<MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsDependencyInjectionPackageVersion>
<MicrosoftExtensionsDependencyInjectionSpecificationTestsPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsDependencyInjectionSpecificationTestsPackageVersion>
<MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
<MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
<MicrosoftExtensionsNonCapturingTimerSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsNonCapturingTimerSourcesPackageVersion>
<MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion>
<MicrosoftExtensionsObjectPoolPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsObjectPoolPackageVersion>
<MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
<MicrosoftExtensionsPrimitivesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftExtensionsProcessSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsProcessSourcesPackageVersion>
<MicrosoftExtensionsPropertyActivatorSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsPropertyActivatorSourcesPackageVersion>
<MicrosoftExtensionsPropertyHelperSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsPropertyHelperSourcesPackageVersion>
<MicrosoftExtensionsRazorViewsSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsRazorViewsSourcesPackageVersion>
<MicrosoftExtensionsSecurityHelperSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsSecurityHelperSourcesPackageVersion>
<MicrosoftExtensionsStackTraceSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsStackTraceSourcesPackageVersion>
<MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
<MicrosoftExtensionsWebEncodersSourcesPackageVersion>3.0.0-preview-181102-05</MicrosoftExtensionsWebEncodersSourcesPackageVersion>
</PropertyGroup>
<Import Project="$(DotNetPackageVersionPropsPath)" Condition="'$(DotNetPackageVersionPropsPath)' != ''" />

View File

@ -0,0 +1,34 @@
FROM microsoft/dotnet:2.1-runtime-deps-bionic
ARG USER
ARG USER_ID
ARG GROUP_ID
WORKDIR /code/build
RUN mkdir -p "/home/$USER" && chown "${USER_ID}:${GROUP_ID}" "/home/$USER"
ENV HOME "/home/$USER"
RUN apt-get update && \
apt-get -qqy install --no-install-recommends \
jq \
wget \
locales \
python \
fakeroot \
debhelper \
build-essential \
devscripts \
unzip && \
rm -rf /var/lib/apt/lists/*
# Resolves warnings about locale in the perl scripts for building debian installers
RUN locale-gen en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8 \
LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8
# Set the user to non-root
USER $USER_ID:$GROUP_ID
# Skip package initilization
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1

View File

@ -1,15 +1,15 @@
#
# Copyright (c) .NET Foundation. All rights reserved.
# Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
#
# Dockerfile that creates a container suitable to build dotnet-cli
FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-e1b4a89-20175311035359
# Setup User to match Host User, and give superuser permissions
ARG USER_ID=0
RUN useradd -m code_executor -u ${USER_ID} -g root
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
ARG USER
ARG USER_ID
ARG GROUP_ID
WORKDIR /code/build
RUN useradd -m ${USER} --uid ${USER_ID} -g root
RUN echo '${USER} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# With the User Change, we need to change permssions on these directories
RUN chmod -R a+rwx /usr/local
@ -17,7 +17,7 @@ RUN chmod -R a+rwx /home
RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
# Set user to the one we just created
USER ${USER_ID}
USER $USER_ID
# Set working directory
WORKDIR /opt/code
# Skip package initilization
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1

View File

@ -15,15 +15,20 @@
<ExternalDependency Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.AspNetCore.Certificates.Generation.Sources" Version="$(MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.ActivatorUtilities.Sources" Version="$(MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.CommandLineUtils.Sources" Version="$(MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Version="$(MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="$(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Version="$(MicrosoftExtensionsDependencyInjectionSpecificationTestsPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.DependencyInjection" Version="$(MicrosoftExtensionsDependencyInjectionPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.DiagnosticAdapter" Version="$(MicrosoftExtensionsDiagnosticAdapterPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.HashCodeCombiner.Sources" Version="$(MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.NonCapturingTimer.Sources" Version="$(MicrosoftExtensionsNonCapturingTimerSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.ObjectMethodExecutor.Sources" Version="$(MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.ObjectPool" Version="$(MicrosoftExtensionsObjectPoolPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="$(MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.Process.Sources" Version="$(MicrosoftExtensionsProcessSourcesPackageVersion)" />
<ExternalDependency Include="Microsoft.Extensions.PropertyActivator.Sources" Version="$(MicrosoftExtensionsPropertyActivatorSourcesPackageVersion)" />

View File

@ -1,4 +1,6 @@
<Project>
<Import Project="..\eng\targets\RuntimeIdentifiers.props" />
<PropertyGroup>
<!-- This repo does not have solutions to build -->
<DisableDefaultTargets>true</DisableDefaultTargets>

View File

@ -3,12 +3,14 @@
<Import Project="PackageArchive.targets" />
<Import Project="AzureIntegration.targets" />
<Import Project="SharedFx.targets" />
<Import Project="SharedFxInstaller.targets" />
<Import Project="CodeSign.targets" />
<Import Project="Publish.targets" />
<Import Project="buildorder.props" />
<PropertyGroup>
<!-- Some projects need access to tasks bundled in KoreBuild. -->
<BuildProperties>$(BuildProperties);BuildToolsTaskAssembly=$(_BuildToolsAssembly)</BuildProperties>
<GeneratedPackageVersionPropsPath>$(IntermediateDir)dependencies.g.props</GeneratedPackageVersionPropsPath>
<GeneratedRestoreSourcesPropsPath>$(IntermediateDir)sources.g.props</GeneratedRestoreSourcesPropsPath>
<GeneratedBrandingPropsPath>$(IntermediateDir)branding.g.props</GeneratedBrandingPropsPath>
@ -29,7 +31,7 @@
<Target Name="ResolveRepoInfo" DependsOnTargets="_PrepareRepositories;GetLineupPackageInfo">
<!-- We need to pass the NETCoreApp package versions to msbuild so that it doesn't complain about us using a different one than it was restored against. -->
<PropertyGroup>
<DesignTimeBuildProps>MicrosoftNETCoreAppPackageVersion=$(MicrosoftNETCoreAppPackageVersion);</DesignTimeBuildProps>
<DesignTimeBuildProps>$(BuildProperties);MicrosoftNETCoreAppPackageVersion=$(MicrosoftNETCoreAppPackageVersion);</DesignTimeBuildProps>
<DesignTimeBuildProps>$(DesignTimeBuildProps);MicrosoftNETCoreApp30PackageVersion=$(MicrosoftNETCoreApp30PackageVersion);</DesignTimeBuildProps>
<DesignTimeBuildProps>$(DesignTimeBuildProps);MicrosoftNETCoreApp22PackageVersion=$(MicrosoftNETCoreApp22PackageVersion);</DesignTimeBuildProps>
<DesignTimeBuildProps>$(DesignTimeBuildProps);MicrosoftNETCoreApp21PackageVersion=$(MicrosoftNETCoreApp21PackageVersion);</DesignTimeBuildProps>

View File

@ -44,7 +44,6 @@
<Repository Include="Configuration" />
<Repository Include="CORS" />
<Repository Include="DataProtection" RootPath="$(RepositoryRoot)src\DataProtection\" />
<Repository Include="DependencyInjection" />
<Repository Include="Diagnostics" />
<Repository Include="DotNetTools" />
<Repository Include="EntityFrameworkCore" />

View File

@ -1,52 +0,0 @@
#
# Copyright (c) .NET Foundation. All rights reserved.
# Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
#
# Dockerfile that creates a container suitable to build dotnet-cli
FROM ubuntu:14.04
# Misc Dependencies for build
RUN apt-get update && \
apt-get -qqy install \
curl \
unzip \
gettext \
sudo \
libunwind8 \
libkrb5-3 \
libicu52 \
liblttng-ust0 \
libssl1.0.0 \
zlib1g \
libuuid1 \
debhelper \
build-essential \
devscripts \
git \
cmake \
clang-3.5 \
lldb-3.6 \
wget && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Use clang as c++ compiler
RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100
RUN update-alternatives --set c++ /usr/bin/clang++-3.5
# Setup User to match Host User, and give superuser permissions
ARG USER_ID=0
RUN useradd -m code_executor -u ${USER_ID} -g sudo
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# With the User Change, we need to change permissions on these directories
RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home
RUN chmod -R 755 /usr/lib/sudo
# Set user to the one we just created
USER ${USER_ID}
# Set working directory
WORKDIR /opt/code

View File

@ -1,34 +0,0 @@
{
"maintainer_name": "${MAINTAINER_NAME}",
"maintainer_email": "${MAINTAINER_EMAIL}",
"package_name": "${PACKAGE_NAME}",
"install_root": "${INSTALL_ROOT}",
"short_description": "${SHORT_DESCRIPTION}",
"long_description": "${LONG_DESCRIPTION}",
"homepage": "${HOMEPAGE}",
"release":{
"package_version":"0.0.0.0",
"package_revision":"${PACKAGE_REVISION}",
"urgency" : "low",
"changelog_message" : ""
},
"control": {
"priority":"standard",
"section":"devel",
"architecture":"any"
},
"copyright": "Microsoft",
"license": {
"type": "${LICENSE_TYPE}",
"full_text": "Copyright (c) .NET Foundation. All rights reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthese files except in compliance with the License. You may obtain a copy of the\nLicense at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License."
},
"debian_dependencies": {
${DEBIAN_DEPENDENCIES}
}
}

View File

@ -87,6 +87,12 @@ if ! __machine_has docker; then
exit 1
fi
commit_hash="$(git rev-parse HEAD || true)"
if [ ! -z "$commit_hash" ]; then
build_args[${#build_args[*]}]="-p:RepositoryCommit=$commit_hash"
fi
dockerfile="$DIR/build/docker/$image.Dockerfile"
tagname="aspnetcore-build-$image"

View File

@ -0,0 +1,26 @@
<Project>
<!-- Runtime identifiers -->
<PropertyGroup>
<!-- Defines the runtime identifier of the shared framework -->
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win-x64</SharedFxRid>
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</SharedFxRid>
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux-x64</SharedFxRid>
<!-- Defines the default RID of the platform currently running the build. -->
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win-x64</HostRid>
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</HostRid>
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux-x64</HostRid>
<!-- This defines the list of RIDs supported by the ASP.NET Core shared framework. -->
<SupportedRuntimeIdentifiers>
win-x64;
win-x86;
win-arm;
osx-x64;
linux-musl-x64;
linux-x64;
linux-arm;
linux-arm64
</SupportedRuntimeIdentifiers>
</PropertyGroup>
</Project>

@ -1 +0,0 @@
Subproject commit d77b090567a1e6ad9a5bb5fd05f4bdcf281d4185

View File

@ -1,366 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="http://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="AADIntegration" Label="AADIntegration" />
<Node Id="Antiforgery" Label="Antiforgery" />
<Node Id="AuthSamples" Label="AuthSamples" />
<Node Id="AzureIntegration" Label="AzureIntegration" />
<Node Id="BasicMiddleware" Label="BasicMiddleware" />
<Node Id="Caching" Label="Caching" />
<Node Id="Common" Label="Common" />
<Node Id="Configuration" Label="Configuration" />
<Node Id="CORS" Label="CORS" />
<Node Id="DataProtection" Label="DataProtection" />
<Node Id="DependencyInjection" Label="DependencyInjection" />
<Node Id="Diagnostics" Label="Diagnostics" />
<Node Id="DotNetTools" Label="DotNetTools" />
<Node Id="EntityFrameworkCore" Label="EntityFrameworkCore" />
<Node Id="EventNotification" Label="EventNotification" />
<Node Id="FileSystem" Label="FileSystem" />
<Node Id="Hosting" Label="Hosting" />
<Node Id="HtmlAbstractions" Label="HtmlAbstractions" />
<Node Id="HttpAbstractions" Label="HttpAbstractions" />
<Node Id="HttpClientFactory" Label="HttpClientFactory" />
<Node Id="HttpSysServer" Label="HttpSysServer" />
<Node Id="Identity" Label="Identity" />
<Node Id="IISIntegration" Label="IISIntegration" />
<Node Id="JavaScriptServices" Label="JavaScriptServices" />
<Node Id="JsonPatch" Label="JsonPatch" />
<Node Id="KestrelHttpServer" Label="KestrelHttpServer" />
<Node Id="Localization" Label="Localization" />
<Node Id="Logging" Label="Logging" />
<Node Id="MetaPackages" Label="MetaPackages" />
<Node Id="Microsoft.Data.Sqlite" Label="Microsoft.Data.Sqlite" />
<Node Id="MusicStore" Label="MusicStore" />
<Node Id="Mvc" Label="Mvc" />
<Node Id="Options" Label="Options" />
<Node Id="Proxy" Label="Proxy" />
<Node Id="Razor" Label="Razor" />
<Node Id="ResponseCaching" Label="ResponseCaching" />
<Node Id="Routing" Label="Routing" />
<Node Id="Security" Label="Security" />
<Node Id="ServerTests" Label="ServerTests" />
<Node Id="Session" Label="Session" />
<Node Id="SignalR" Label="SignalR" />
<Node Id="StaticFiles" Label="StaticFiles" />
<Node Id="WebSockets" Label="WebSockets" />
</Nodes>
<Links>
<Link Source="AADIntegration" Target="BasicMiddleware" />
<Link Source="AADIntegration" Target="Configuration" />
<Link Source="AADIntegration" Target="DataProtection" />
<Link Source="AADIntegration" Target="Hosting" />
<Link Source="AADIntegration" Target="IISIntegration" />
<Link Source="AADIntegration" Target="KestrelHttpServer" />
<Link Source="AADIntegration" Target="Logging" />
<Link Source="AADIntegration" Target="Mvc" />
<Link Source="AADIntegration" Target="Razor" />
<Link Source="AADIntegration" Target="Security" />
<Link Source="AADIntegration" Target="StaticFiles" />
<Link Source="Antiforgery" Target="Common" />
<Link Source="Antiforgery" Target="DataProtection" />
<Link Source="Antiforgery" Target="DependencyInjection" />
<Link Source="Antiforgery" Target="HtmlAbstractions" />
<Link Source="Antiforgery" Target="HttpAbstractions" />
<Link Source="Antiforgery" Target="Logging" />
<Link Source="AuthSamples" Target="Common" />
<Link Source="AuthSamples" Target="Configuration" />
<Link Source="AuthSamples" Target="DataProtection" />
<Link Source="AuthSamples" Target="Diagnostics" />
<Link Source="AuthSamples" Target="EntityFrameworkCore" />
<Link Source="AuthSamples" Target="Hosting" />
<Link Source="AuthSamples" Target="Identity" />
<Link Source="AuthSamples" Target="IISIntegration" />
<Link Source="AuthSamples" Target="KestrelHttpServer" />
<Link Source="AuthSamples" Target="Logging" />
<Link Source="AuthSamples" Target="MetaPackages" />
<Link Source="AuthSamples" Target="Mvc" />
<Link Source="AuthSamples" Target="Razor" />
<Link Source="AuthSamples" Target="Security" />
<Link Source="AuthSamples" Target="StaticFiles" />
<Link Source="AzureIntegration" Target="Common" />
<Link Source="AzureIntegration" Target="Configuration" />
<Link Source="AzureIntegration" Target="EventNotification" />
<Link Source="AzureIntegration" Target="Hosting" />
<Link Source="AzureIntegration" Target="IISIntegration" />
<Link Source="AzureIntegration" Target="KestrelHttpServer" />
<Link Source="AzureIntegration" Target="Logging" />
<Link Source="AzureIntegration" Target="Mvc" />
<Link Source="AzureIntegration" Target="Razor" />
<Link Source="BasicMiddleware" Target="Configuration" />
<Link Source="BasicMiddleware" Target="FileSystem" />
<Link Source="BasicMiddleware" Target="Hosting" />
<Link Source="BasicMiddleware" Target="HttpAbstractions" />
<Link Source="BasicMiddleware" Target="KestrelHttpServer" />
<Link Source="BasicMiddleware" Target="Logging" />
<Link Source="BasicMiddleware" Target="Options" />
<Link Source="Caching" Target="Common" />
<Link Source="Caching" Target="Configuration" />
<Link Source="Caching" Target="DependencyInjection" />
<Link Source="Caching" Target="FileSystem" />
<Link Source="Caching" Target="Options" />
<Link Source="Configuration" Target="Common" />
<Link Source="Configuration" Target="FileSystem" />
<Link Source="CORS" Target="Configuration" />
<Link Source="CORS" Target="DependencyInjection" />
<Link Source="CORS" Target="Hosting" />
<Link Source="CORS" Target="HttpAbstractions" />
<Link Source="CORS" Target="IISIntegration" />
<Link Source="CORS" Target="KestrelHttpServer" />
<Link Source="CORS" Target="Logging" />
<Link Source="CORS" Target="Options" />
<Link Source="DataProtection" Target="Common" />
<Link Source="DataProtection" Target="Configuration" />
<Link Source="DataProtection" Target="DependencyInjection" />
<Link Source="DataProtection" Target="Hosting" />
<Link Source="DataProtection" Target="Logging" />
<Link Source="DataProtection" Target="Options" />
<Link Source="DependencyInjection" Target="Common" />
<Link Source="Diagnostics" Target="Common" />
<Link Source="Diagnostics" Target="DependencyInjection" />
<Link Source="Diagnostics" Target="EntityFrameworkCore" />
<Link Source="Diagnostics" Target="EventNotification" />
<Link Source="Diagnostics" Target="FileSystem" />
<Link Source="Diagnostics" Target="Hosting" />
<Link Source="Diagnostics" Target="HttpAbstractions" />
<Link Source="Diagnostics" Target="IISIntegration" />
<Link Source="Diagnostics" Target="KestrelHttpServer" />
<Link Source="Diagnostics" Target="Logging" />
<Link Source="Diagnostics" Target="Options" />
<Link Source="Diagnostics" Target="StaticFiles" />
<Link Source="DotNetTools" Target="Common" />
<Link Source="DotNetTools" Target="Configuration" />
<Link Source="EntityFrameworkCore" Target="Caching" />
<Link Source="EntityFrameworkCore" Target="Configuration" />
<Link Source="EntityFrameworkCore" Target="DependencyInjection" />
<Link Source="EntityFrameworkCore" Target="Hosting" />
<Link Source="EntityFrameworkCore" Target="Logging" />
<Link Source="EntityFrameworkCore" Target="Microsoft.Data.Sqlite" />
<Link Source="EventNotification" Target="Common" />
<Link Source="FileSystem" Target="Common" />
<Link Source="Hosting" Target="Common" />
<Link Source="Hosting" Target="Configuration" />
<Link Source="Hosting" Target="DependencyInjection" />
<Link Source="Hosting" Target="EventNotification" />
<Link Source="Hosting" Target="FileSystem" />
<Link Source="Hosting" Target="HttpAbstractions" />
<Link Source="Hosting" Target="Logging" />
<Link Source="Hosting" Target="Options" />
<Link Source="HtmlAbstractions" Target="Common" />
<Link Source="HtmlAbstractions" Target="DependencyInjection" />
<Link Source="HtmlAbstractions" Target="Options" />
<Link Source="HttpAbstractions" Target="Common" />
<Link Source="HttpAbstractions" Target="DependencyInjection" />
<Link Source="HttpAbstractions" Target="FileSystem" />
<Link Source="HttpAbstractions" Target="Logging" />
<Link Source="HttpAbstractions" Target="Options" />
<Link Source="HttpClientFactory" Target="Common" />
<Link Source="HttpClientFactory" Target="DependencyInjection" />
<Link Source="HttpClientFactory" Target="Logging" />
<Link Source="HttpClientFactory" Target="Options" />
<Link Source="HttpSysServer" Target="Common" />
<Link Source="HttpSysServer" Target="Hosting" />
<Link Source="HttpSysServer" Target="HttpAbstractions" />
<Link Source="HttpSysServer" Target="Logging" />
<Link Source="Identity" Target="BasicMiddleware" />
<Link Source="Identity" Target="Common" />
<Link Source="Identity" Target="Configuration" />
<Link Source="Identity" Target="DataProtection" />
<Link Source="Identity" Target="DependencyInjection" />
<Link Source="Identity" Target="Diagnostics" />
<Link Source="Identity" Target="EntityFrameworkCore" />
<Link Source="Identity" Target="FileSystem" />
<Link Source="Identity" Target="Hosting" />
<Link Source="Identity" Target="HttpAbstractions" />
<Link Source="Identity" Target="IISIntegration" />
<Link Source="Identity" Target="KestrelHttpServer" />
<Link Source="Identity" Target="Logging" />
<Link Source="Identity" Target="Mvc" />
<Link Source="Identity" Target="Options" />
<Link Source="Identity" Target="Razor" />
<Link Source="Identity" Target="Security" />
<Link Source="Identity" Target="StaticFiles" />
<Link Source="IISIntegration" Target="BasicMiddleware" />
<Link Source="IISIntegration" Target="Common" />
<Link Source="IISIntegration" Target="Hosting" />
<Link Source="IISIntegration" Target="HttpAbstractions" />
<Link Source="IISIntegration" Target="HttpSysServer" />
<Link Source="IISIntegration" Target="KestrelHttpServer" />
<Link Source="IISIntegration" Target="Logging" />
<Link Source="IISIntegration" Target="Options" />
<Link Source="JavaScriptServices" Target="DependencyInjection" />
<Link Source="JavaScriptServices" Target="Diagnostics" />
<Link Source="JavaScriptServices" Target="FileSystem" />
<Link Source="JavaScriptServices" Target="Hosting" />
<Link Source="JavaScriptServices" Target="IISIntegration" />
<Link Source="JavaScriptServices" Target="KestrelHttpServer" />
<Link Source="JavaScriptServices" Target="Logging" />
<Link Source="JavaScriptServices" Target="Mvc" />
<Link Source="JavaScriptServices" Target="StaticFiles" />
<Link Source="JavaScriptServices" Target="WebSockets" />
<Link Source="JsonPatch" Target="Common" />
<Link Source="KestrelHttpServer" Target="Common" />
<Link Source="KestrelHttpServer" Target="Configuration" />
<Link Source="KestrelHttpServer" Target="DependencyInjection" />
<Link Source="KestrelHttpServer" Target="Hosting" />
<Link Source="KestrelHttpServer" Target="HttpAbstractions" />
<Link Source="KestrelHttpServer" Target="Logging" />
<Link Source="KestrelHttpServer" Target="Options" />
<Link Source="Localization" Target="Common" />
<Link Source="Localization" Target="Configuration" />
<Link Source="Localization" Target="DependencyInjection" />
<Link Source="Localization" Target="Hosting" />
<Link Source="Localization" Target="HttpAbstractions" />
<Link Source="Localization" Target="IISIntegration" />
<Link Source="Localization" Target="KestrelHttpServer" />
<Link Source="Localization" Target="Logging" />
<Link Source="Localization" Target="Options" />
<Link Source="Localization" Target="Routing" />
<Link Source="Logging" Target="Common" />
<Link Source="Logging" Target="Configuration" />
<Link Source="Logging" Target="DependencyInjection" />
<Link Source="Logging" Target="FileSystem" />
<Link Source="Logging" Target="Options" />
<Link Source="MetaPackages" Target="BasicMiddleware" />
<Link Source="MetaPackages" Target="Configuration" />
<Link Source="MetaPackages" Target="Diagnostics" />
<Link Source="MetaPackages" Target="Hosting" />
<Link Source="MetaPackages" Target="IISIntegration" />
<Link Source="MetaPackages" Target="KestrelHttpServer" />
<Link Source="MetaPackages" Target="Logging" />
<Link Source="MetaPackages" Target="Routing" />
<Link Source="MetaPackages" Target="StaticFiles" />
<Link Source="MusicStore" Target="Common" />
<Link Source="MusicStore" Target="Configuration" />
<Link Source="MusicStore" Target="Diagnostics" />
<Link Source="MusicStore" Target="EntityFrameworkCore" />
<Link Source="MusicStore" Target="Hosting" />
<Link Source="MusicStore" Target="HttpAbstractions" />
<Link Source="MusicStore" Target="HttpSysServer" />
<Link Source="MusicStore" Target="Identity" />
<Link Source="MusicStore" Target="Logging" />
<Link Source="MusicStore" Target="MetaPackages" />
<Link Source="MusicStore" Target="Mvc" />
<Link Source="MusicStore" Target="Razor" />
<Link Source="MusicStore" Target="Security" />
<Link Source="MusicStore" Target="Session" />
<Link Source="MusicStore" Target="StaticFiles" />
<Link Source="Mvc" Target="Antiforgery" />
<Link Source="Mvc" Target="Caching" />
<Link Source="Mvc" Target="Common" />
<Link Source="Mvc" Target="Configuration" />
<Link Source="Mvc" Target="CORS" />
<Link Source="Mvc" Target="DependencyInjection" />
<Link Source="Mvc" Target="Diagnostics" />
<Link Source="Mvc" Target="EventNotification" />
<Link Source="Mvc" Target="FileSystem" />
<Link Source="Mvc" Target="Hosting" />
<Link Source="Mvc" Target="HtmlAbstractions" />
<Link Source="Mvc" Target="HttpAbstractions" />
<Link Source="Mvc" Target="IISIntegration" />
<Link Source="Mvc" Target="JsonPatch" />
<Link Source="Mvc" Target="KestrelHttpServer" />
<Link Source="Mvc" Target="Localization" />
<Link Source="Mvc" Target="Logging" />
<Link Source="Mvc" Target="Options" />
<Link Source="Mvc" Target="Razor" />
<Link Source="Mvc" Target="ResponseCaching" />
<Link Source="Mvc" Target="Routing" />
<Link Source="Mvc" Target="Security" />
<Link Source="Mvc" Target="Session" />
<Link Source="Mvc" Target="StaticFiles" />
<Link Source="Options" Target="Common" />
<Link Source="Options" Target="Configuration" />
<Link Source="Options" Target="DependencyInjection" />
<Link Source="Proxy" Target="Common" />
<Link Source="Proxy" Target="Hosting" />
<Link Source="Proxy" Target="IISIntegration" />
<Link Source="Proxy" Target="KestrelHttpServer" />
<Link Source="Proxy" Target="Options" />
<Link Source="Proxy" Target="WebSockets" />
<Link Source="Razor" Target="Common" />
<Link Source="Razor" Target="HtmlAbstractions" />
<Link Source="ResponseCaching" Target="Caching" />
<Link Source="ResponseCaching" Target="Common" />
<Link Source="ResponseCaching" Target="Hosting" />
<Link Source="ResponseCaching" Target="HttpAbstractions" />
<Link Source="ResponseCaching" Target="IISIntegration" />
<Link Source="ResponseCaching" Target="KestrelHttpServer" />
<Link Source="ResponseCaching" Target="Logging" />
<Link Source="Routing" Target="Common" />
<Link Source="Routing" Target="DependencyInjection" />
<Link Source="Routing" Target="Hosting" />
<Link Source="Routing" Target="HtmlAbstractions" />
<Link Source="Routing" Target="HttpAbstractions" />
<Link Source="Routing" Target="IISIntegration" />
<Link Source="Routing" Target="KestrelHttpServer" />
<Link Source="Routing" Target="Logging" />
<Link Source="Routing" Target="Options" />
<Link Source="Security" Target="Caching" />
<Link Source="Security" Target="Common" />
<Link Source="Security" Target="Configuration" />
<Link Source="Security" Target="DataProtection" />
<Link Source="Security" Target="DependencyInjection" />
<Link Source="Security" Target="Diagnostics" />
<Link Source="Security" Target="FileSystem" />
<Link Source="Security" Target="Hosting" />
<Link Source="Security" Target="HtmlAbstractions" />
<Link Source="Security" Target="HttpAbstractions" />
<Link Source="Security" Target="IISIntegration" />
<Link Source="Security" Target="KestrelHttpServer" />
<Link Source="Security" Target="Logging" />
<Link Source="Security" Target="Options" />
<Link Source="Security" Target="StaticFiles" />
<Link Source="ServerTests" Target="BasicMiddleware" />
<Link Source="ServerTests" Target="Configuration" />
<Link Source="ServerTests" Target="Hosting" />
<Link Source="ServerTests" Target="HttpAbstractions" />
<Link Source="ServerTests" Target="HttpSysServer" />
<Link Source="ServerTests" Target="IISIntegration" />
<Link Source="ServerTests" Target="KestrelHttpServer" />
<Link Source="ServerTests" Target="Logging" />
<Link Source="Session" Target="Caching" />
<Link Source="Session" Target="DataProtection" />
<Link Source="Session" Target="Hosting" />
<Link Source="Session" Target="HttpAbstractions" />
<Link Source="Session" Target="IISIntegration" />
<Link Source="Session" Target="KestrelHttpServer" />
<Link Source="Session" Target="Logging" />
<Link Source="Session" Target="Options" />
<Link Source="SignalR" Target="Common" />
<Link Source="SignalR" Target="Configuration" />
<Link Source="SignalR" Target="CORS" />
<Link Source="SignalR" Target="DependencyInjection" />
<Link Source="SignalR" Target="Diagnostics" />
<Link Source="SignalR" Target="Hosting" />
<Link Source="SignalR" Target="HttpAbstractions" />
<Link Source="SignalR" Target="IISIntegration" />
<Link Source="SignalR" Target="KestrelHttpServer" />
<Link Source="SignalR" Target="Logging" />
<Link Source="SignalR" Target="Options" />
<Link Source="SignalR" Target="Routing" />
<Link Source="SignalR" Target="Security" />
<Link Source="SignalR" Target="StaticFiles" />
<Link Source="SignalR" Target="WebSockets" />
<Link Source="StaticFiles" Target="Common" />
<Link Source="StaticFiles" Target="FileSystem" />
<Link Source="StaticFiles" Target="Hosting" />
<Link Source="StaticFiles" Target="HtmlAbstractions" />
<Link Source="StaticFiles" Target="HttpAbstractions" />
<Link Source="StaticFiles" Target="HttpSysServer" />
<Link Source="StaticFiles" Target="IISIntegration" />
<Link Source="StaticFiles" Target="KestrelHttpServer" />
<Link Source="StaticFiles" Target="Logging" />
<Link Source="WebSockets" Target="Common" />
<Link Source="WebSockets" Target="Configuration" />
<Link Source="WebSockets" Target="Diagnostics" />
<Link Source="WebSockets" Target="Hosting" />
<Link Source="WebSockets" Target="HttpAbstractions" />
<Link Source="WebSockets" Target="HttpSysServer" />
<Link Source="WebSockets" Target="IISIntegration" />
<Link Source="WebSockets" Target="KestrelHttpServer" />
<Link Source="WebSockets" Target="Logging" />
<Link Source="WebSockets" Target="Options" />
<Link Source="WebSockets" Target="StaticFiles" />
</Links>
</DirectedGraph>

View File

@ -16,7 +16,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Framework\*\src\*.shfxproj">
<ProjectReference Include="..\..\Framework\**\*.shfxproj">
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
<OutputItemType>_ResolvedFxProjects</OutputItemType>
</ProjectReference>

View File

@ -0,0 +1,106 @@
<!--
This project produces a debian installer for Linux x64 platforms only.
-->
<Project DefaultTargets="Build">
<UsingTask Condition=" '$(BuildToolsTaskAssembly)' != '' AND Exists('$(BuildToolsTaskAssembly)') " TaskName="Microsoft.AspNetCore.BuildTools.GenerateFileFromTemplate" AssemblyFile="$(BuildToolsTaskAssembly)" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
<!-- Output paths -->
<PropertyGroup>
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\Debian\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(SharedFxRid)\</IntermediateOutputPath>
<!-- Must be named "package_root/". This is expected by the build.sh script in this project. -->
<IntermediatePackageRoot>$(IntermediateOutputPath)package_root\</IntermediatePackageRoot>
<OutputFileName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.deb</OutputFileName>
<OutputPath>$(InstallersOutputPath)</OutputPath>
<TargetPath>$(InstallersOutputPath)$(OutputFileName)</TargetPath>
</PropertyGroup>
<!-- Installer settings -->
<PropertyGroup>
<DebianPackageInstallRoot>/usr/share/dotnet</DebianPackageInstallRoot>
</PropertyGroup>
<!-- Installer versions -->
<PropertyGroup>
<!-- CLI would take a dependency such as 'aspnetcore-runtime-M.N >= M.N.P'. Here M.N is part of the id and M.N.P is the PackageVersion -->
<PackageId>$(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</PackageId>
<!-- PackageVersion does not match the ASP.NET Core runtime verison. -->
<PackageVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion)</PackageVersion>
<!-- Deb installers are versioned as M.N.P~Build following the core-setup convention -->
<PackageVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">$(PackageVersion)~$(BuildNumber)</PackageVersion>
<PackageRevision>1</PackageRevision>
<!-- Needed some creativity to convert the PackageVersion M.N.P-Build to the installer version M.N.P~Build, The conditional handles stabilized builds -->
<DotnetRuntimeDependencyVersion>$(MicrosoftNETCoreAppPackageVersion)</DotnetRuntimeDependencyVersion>
<DotnetRuntimeDependencyVersion Condition="$(DotnetRuntimeDependencyVersion.Contains('-'))">$(DotnetRuntimeDependencyVersion.Substring(0, $(DotnetRuntimeDependencyVersion.IndexOf('-'))))~$(DotnetRuntimeDependencyVersion.Substring($([MSBuild]::Add($(DotnetRuntimeDependencyVersion.IndexOf('-')), 1))))</DotnetRuntimeDependencyVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Framework\**\Microsoft.AspNetCore.App.shfxproj">
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
<OutputItemType>_ResolvedFxProjects</OutputItemType>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
<Target Name="GetTargetPath" Returns="$(TargetPath)" />
<Target Name="PrepareForBuild">
<Error Text="Currently only linux-x64 is supported by Debian installers." Condition=" '$(SharedFxRid)' != 'linux-x64' " />
<MakeDir Directories="$(IntermediateOutputPath);$(IntermediatePackageRoot);$(OutputPath)" />
</Target>
<Target Name="Build" DependsOnTargets="PrepareForBuild;ResolveProjectReferences;GetTargetPath">
<!-- Layout files in package_root/ for the build.sh script. -->
<ItemGroup>
<SharedFxAssetFolder Include="%(_ResolvedFxProjects.InstallerAssetPaths)" SharedFxName="%(_ResolvedFxProjects.SharedFxName)" />
<PackageFiles Include="%(SharedFxAssetFolder.Identity)\**\*">
<DestinationDir>$(IntermediatePackageRoot)shared\%(SharedFxAssetFolder.SharedFxName)\$(SharedFxVersion)\</DestinationDir>
</PackageFiles>
</ItemGroup>
<Copy SourceFiles="@(PackageFiles)" DestinationFiles="@(PackageFiles->'%(DestinationDir)%(RecursiveDir)%(FileName)%(Extension)')" />
<!-- Generate debian_config.json. We can't simply use WriteLinesToFile because of https://github.com/Microsoft/msbuild/issues/1622. Use our custom GenerateFileFromTemplate task instead -->
<PropertyGroup>
<DebianConfigProperties>
AspNetCoreMajorVersion=$(AspNetCoreMajorVersion);
AspNetCoreMinorVersion=$(AspNetCoreMinorVersion);
Authors=$(Authors);
DebianPackageInstallRoot=$(DebianPackageInstallRoot);
DotnetRuntimeDependencyVersion=$(DotnetRuntimeDependencyVersion);
MaintainerEmail=$(MaintainerEmail);
PackageId=$(PackageId);
PackageLicenseType=$(PackageLicenseType);
PackageProjectUrl=$(PackageProjectUrl);
PackageRevision=$(PackageRevision);
PackageVersion=$(PackageVersion);
SharedFxDescription=$(SharedFxDescription);
SharedFxProductName=$(SharedFxProductName);
</DebianConfigProperties>
</PropertyGroup>
<GenerateFileFromTemplate TemplateFile="debian_config.json.in"
Properties="$(DebianConfigProperties)"
OutputPath="$(IntermediateOutputPath)debian_config.json" />
<!-- Build SharedFx Bundle Deb package -->
<Exec Command="./build.sh -i '$(IntermediateOutputPath)' -o '$(IntermediateOutputPath)out/'" />
<PropertyGroup>
<!-- Map our RIDs to the arch names used by debuild. -->
<DebArch Condition=" '$(SharedFxRid)' == 'linux-x64' ">amd64</DebArch>
<BuildScriptOutputFileName>$(PackageId)_$(PackageVersion)-$(PackageRevision)_$(DebArch).deb</BuildScriptOutputFileName>
</PropertyGroup>
<Copy SourceFiles="$(IntermediateOutputPath)out/$(BuildScriptOutputFileName)" DestinationFiles="$(TargetPath)" />
</Target>
</Project>

View File

@ -0,0 +1,36 @@
{
"maintainer_name": "${Authors}",
"maintainer_email": "${MaintainerEmail}",
"package_name": "${PackageId}",
"install_root": "${DebianPackageInstallRoot}",
"short_description": "${SharedFxProductName}",
"long_description": "${SharedFxDescription}",
"homepage": "${PackageProjectUrl}",
"release":{
"package_version":"${PackageVersion}",
"package_revision":"${PackageRevision}",
"urgency" : "low",
"changelog_message" : ""
},
"control": {
"priority":"standard",
"section":"devel",
"architecture":"any"
},
"copyright": "Microsoft",
"license": {
"type": "${PackageLicenseType}",
"full_text": "Copyright (c) .NET Foundation. All rights reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthese files except in compliance with the License. You may obtain a copy of the\nLicense at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License."
},
"debian_dependencies": {
"dotnet-runtime-${AspNetCoreMajorVersion}.${AspNetCoreMinorVersion}": {
"package_version": "${DotnetRuntimeDependencyVersion}"
}
}
}

View File

@ -0,0 +1,37 @@
<!--
Common properties for building RPM installers.
-->
<Project>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
<!-- Output paths -->
<PropertyGroup>
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\Rpm\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(SharedFxRid)\</IntermediateOutputPath>
<IntermediatePackageRoot>$([MSBuild]::NormalizeDirectory('$(IntermediateOutputPath)content/'))</IntermediatePackageRoot>
<OutputPath>$(InstallersOutputPath)</OutputPath>
</PropertyGroup>
<PropertyGroup>
<!-- installer versions -->
<!-- CLI would take a dependency such as 'aspnetcore-runtime-M.N >= M.N.P'. Here M.N is the part of the id and M.N.P is the package version -->
<PackageId>$(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</PackageId>
<PackageVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion)</PackageVersion>
<!-- Set package revision to '1' for RTM releases, but include the build number in pre-releases -->
<PackageRevision Condition=" '$(IncludePreReleaseLabelInPackageVersion)' != 'true' ">1</PackageRevision>
<PackageRevision Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">0.1.$(PreReleaseLabel)_$(BuildNumber.Replace('-', '_'))</PackageRevision>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Framework\**\Microsoft.AspNetCore.App.shfxproj">
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
<OutputItemType>_ResolvedFxProjects</OutputItemType>
</ProjectReference>
<InstallerOwnedDirectory Include="$(RpmPackageInstallRoot)shared/Microsoft.AspNetCore.App" />
<RpmDependency Include="dotnet-runtime-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)" Version="$(MicrosoftNETCoreAppPackageVersion.Split('-')[0])" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,78 @@
<!--
Common targets for building RPM.
-->
<Project>
<UsingTask Condition=" '$(BuildToolsTaskAssembly)' != '' AND Exists('$(BuildToolsTaskAssembly)') " TaskName="Microsoft.AspNetCore.BuildTools.GenerateFileFromTemplate" AssemblyFile="$(BuildToolsTaskAssembly)" />
<UsingTask Condition=" '$(BuildToolsTaskAssembly)' != '' AND Exists('$(BuildToolsTaskAssembly)') " TaskName="Microsoft.AspNetCore.BuildTools.Run" AssemblyFile="$(BuildToolsTaskAssembly)" />
<!-- Output paths -->
<PropertyGroup>
<RpmPackageInstallRoot Condition="'$(RpmPackageInstallRoot)' != '' AND !HasTrailingSlash('$(RpmPackageInstallRoot)')">$(RpmPackageInstallRoot)/</RpmPackageInstallRoot>
<TargetPath>$(InstallersOutputPath)$(OutputFileName)</TargetPath>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
<Target Name="GetTargetPath" Returns="$(TargetPath)" />
<Target Name="PrepareForBuild">
<MakeDir Directories="$(IntermediateOutputPath);$(IntermediatePackageRoot)" />
<Error Text="Currently only linux-x64 is supported by Rpm installers." Condition=" '$(SharedFxRid)' != 'linux-x64' " />
<Error Text="Missing required property: RpmPackageInstallRoot" Condition=" '$(RpmPackageInstallRoot)' == '' " />
</Target>
<Target Name="Build" DependsOnTargets="PrepareForBuild;ResolveProjectReferences;GetTargetPath">
<!-- Layout files in package_root/ for the build.sh script. -->
<ItemGroup>
<SharedFxAssetFolder Include="%(_ResolvedFxProjects.InstallerAssetPaths)" SharedFxName="%(_ResolvedFxProjects.SharedFxName)" />
<PackageFiles Include="%(SharedFxAssetFolder.Identity)\**\*">
<DestinationDir>$(IntermediatePackageRoot)shared\%(SharedFxAssetFolder.SharedFxName)\$(SharedFxVersion)\</DestinationDir>
</PackageFiles>
</ItemGroup>
<Copy SourceFiles="@(PackageFiles)" DestinationFiles="@(PackageFiles->'%(DestinationDir)%(RecursiveDir)%(FileName)%(Extension)')" />
<!-- Create layout: Create changelog -->
<PropertyGroup>
<ChangeLogProps>DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy))</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);MAINTAINER_NAME=$(Authors)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);MAINTAINER_EMAIL=$(MaintainerEmail)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);PACKAGE_VERSION=$(PackageVersion)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);PACKAGE_REVISION=$(PackageRevision)</ChangeLogProps>
<GeneratedChangeLog>$(IntermediateOutputPath)changelog</GeneratedChangeLog>
</PropertyGroup>
<GenerateFileFromTemplate TemplateFile="$(MSBuildThisFileDirectory)changelog.in" OutputPath="$(GeneratedChangeLog)" Properties="$(ChangeLogProps)" />
<!-- Run fpm -->
<PropertyGroup>
<RpmArch Condition=" '$(SharedFxRid)' == 'linux-x64' ">amd64</RpmArch>
</PropertyGroup>
<ItemGroup>
<FpmArgs Include="--verbose" />
<FpmArgs Include="--input-type;dir" />
<FpmArgs Include="--output-type;rpm" />
<FpmArgs Include="--name;$(PackageId)" />
<FpmArgs Include="--package;$(TargetPath)" />
<FpmArgs Include="--version;$(PackageVersion)" />
<FpmArgs Include="--iteration;$(PackageRevision)" />
<FpmArgs Include="--architecture;$(RpmArch)" />
<FpmArgs Include="--depends;%(RpmDependency.Identity) &gt;= %(RpmDependency.Version)" Condition=" '%(RpmDependency.Identity)' != '' " />
<FpmArgs Include="--rpm-changelog;$(GeneratedChangeLog)" />
<FpmArgs Include="--rpm-summary;$(SharedFxProductName)" />
<FpmArgs Include="--description;$(SharedFxDescription)" />
<FpmArgs Include="--maintainer;$(Authors) &lt;$(MaintainerEmail)&gt;" />
<FpmArgs Include="--vendor;$(RpmPackageVendor)" />
<FpmArgs Include="--license;$(PackageLicenseType)" />
<FpmArgs Include="--url;$(PackageProjectUrl)" />
<FpmArgs Include="--directories;%(InstallerOwnedDirectory.Identity)" Condition=" '%(InstallerOwnedDirectory.Identity)' != '' " />
<FpmArgs Include="$(IntermediatePackageRoot)=$(RpmPackageInstallRoot)" />
</ItemGroup>
<Run FileName="fpm" Arguments="@(FpmArgs)" />
</Target>
</Project>

View File

@ -0,0 +1,13 @@
<!--
This project produces a generic RPM installer for Linux x64 platforms only.
-->
<Project DefaultTargets="Build">
<Import Project="Rpm.props" />
<PropertyGroup>
<RpmPackageInstallRoot>/usr/share/dotnet/</RpmPackageInstallRoot>
<OutputFileName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.rpm</OutputFileName>
</PropertyGroup>
<Import Project="Rpm.targets" />
</Project>

View File

@ -0,0 +1,13 @@
<!--
This project produces a RPM RHEL.7 installer for Linux x64 platforms only.
-->
<Project DefaultTargets="Build">
<Import Project="Rpm.props" />
<PropertyGroup>
<RpmPackageInstallRoot>/opt/rh/rh-dotnet20/root/usr/lib64/dotnet/</RpmPackageInstallRoot>
<OutputFileName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)-rh.rhel.7-x64.rpm</OutputFileName>
</PropertyGroup>
<Import Project="Rpm.targets" />
</Project>

View File

@ -24,6 +24,8 @@
<PackageVersion>$(VersionPrefix)</PackageVersion>
<PackageVersion Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(VersionPrefix)-$(VersionSuffix)</PackageVersion>
<SharedFxVersion>$(PackageVersion)</SharedFxVersion>
<!-- Experimental packages which are not truly supported yet. -->
<ExperimentalPackageVersion>$(ExperimentalVersionPrefix)</ExperimentalPackageVersion>
<ExperimentalPackageVersion Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(ExperimentalVersionPrefix)-$(VersionSuffix)</ExperimentalPackageVersion>