Update the artifacts directory organization and simplify publishing targets (#5701)

This simplifies the way that we publish files to our network drop share.

Changes:
* Instead of explicitly listing every file that needs to publish, use directories to classify packages and artifacts into different categories.
* Add documentation for the expected layout of artifacts/
* Remove the need for static analysis to determine which packages go to which project
* Add the MSBuild property "IsProductPackage" to .csproj files which ship as a package to NuGet.org.
This commit is contained in:
Nate McMaster 2018-12-18 11:40:13 -08:00 committed by GitHub
parent ceb1c8e562
commit 335c9be7b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
110 changed files with 478 additions and 269 deletions

View File

@ -76,12 +76,14 @@
<Import Project="build\external-dependencies.props" />
<Import Project="build\sources.props" />
<!-- Artfacts layout -->
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)artifacts\</ArtifactsDir>
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<PackageOutputPath>$(ArtifactsDir)build\</PackageOutputPath>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
<InstallersOutputPath>$(ArtifactsConfigurationDir)installers\</InstallersOutputPath>
</PropertyGroup>

View File

@ -1,5 +1,17 @@
<Project>
<!-- Properties which should be set after the project has been evaluated -->
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(MSBuildProjectExtension)' == '.csproj' ">
<PackageId Condition=" '$(PackageId)' == '' ">$(AssemblyName)</PackageId>
<IsPackable Condition="'$(IsPackable)' == '' AND ( '$(IsTestProject)' == 'true' OR '$(IsTestAssetProject)' == 'true' OR '$(IsBenchmarkProject)' == 'true' OR '$(IsSampleProject)' == 'true' ) ">false</IsPackable>
@ -45,9 +57,6 @@
<IsPackable Condition="'$(IsPackable)' == '' AND '$(IsImplementationProject)' == 'true' ">true</IsPackable>
<IsPackable Condition="'$(IsPackable)' == '' ">false</IsPackable>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">$(MicrosoftNETCoreApp20PackageVersion)</RuntimeFrameworkVersion>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">$(MicrosoftNETCoreApp21PackageVersion)</RuntimeFrameworkVersion>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.2' ">$(MicrosoftNETCoreApp22PackageVersion)</RuntimeFrameworkVersion>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreApp30PackageVersion)</RuntimeFrameworkVersion>
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
</PropertyGroup>

View File

@ -25,7 +25,7 @@
<AzureIntegrationArtifacts Include="$(AzureIntegrationProjectRoot)artifacts\build\*" />
</ItemGroup>
<Copy SourceFiles="@(AzureIntegrationArtifacts)" DestinationFolder="$(BuildDir)" />
<Copy SourceFiles="@(AzureIntegrationArtifacts)" DestinationFolder="$(ProductPackageOutputPath)" />
</Target>
</Project>

View File

@ -28,8 +28,7 @@
PackageSigningCertName=$(PackageSigningCertName);
VsixSigningCertName=$(VsixSigningCertName);
JarSigningCertName=$(JarSigningCertName);
ArtifactsDir=$(ArtifactsDir);
BuildDir=$(BuildDir)
ArtifactsDir=$(ArtifactsDir)
</GetFileSignInfoProps>
</PropertyGroup>

View File

@ -13,7 +13,6 @@
<ArchiveBuildProps>
DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);
DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);
OutputPath=$(ArtifactsDir)lzma\;
_BuildToolsAssembly=$(_BuildToolsAssembly)
</ArchiveBuildProps>
</PropertyGroup>

View File

@ -1,19 +1,8 @@
<Project>
<PropertyGroup>
<DependencyAssetsDir>$(RepositoryRoot).deps\assets\</DependencyAssetsDir>
<DependencyPackagesDir>$(RepositoryRoot).deps\packages\</DependencyPackagesDir>
<!-- This file is used by the dotnet/cli to determine if our shared framework aligns with the version they pull. -->
<BaseRuntimeVersionFileName>aspnetcore_base_runtime.version</BaseRuntimeVersionFileName>
<BaseRuntimeVersionFile>$(IntermediateDir)$(BaseRuntimeVersionFileName)</BaseRuntimeVersionFile>
<LatestRuntimeVersionFileName>latest.version</LatestRuntimeVersionFileName>
<LatestRuntimeVersionFile>$(IntermediateDir)$(LatestRuntimeVersionFileName)</LatestRuntimeVersionFile>
<PublishDependsOn>
ResolveCommitHash;
PrepareOutputPaths;
GetFilesToPublish;
PublishToLocalFolder;
PublishToAzureFeed;
PublishToMyGet;
</PublishDependsOn>
@ -21,167 +10,70 @@
<Target Name="Publish" DependsOnTargets="$(PublishDependsOn)" />
<Target Name="GeneratePublishFiles" DependsOnTargets="ResolveCommitHash">
<MakeDir Directories="$(IntermediateDir)" />
<!--
Used by the dotnet/cli build to determine which version of Microsoft.NETCore.App is used.
-->
<WriteLinesToFile File="$(BaseRuntimeVersionFile)" Lines="$(MicrosoftNETCoreApp30PackageVersion)" Overwrite="true" />
<!--
Used by the downloader scripts when pulling from a 'channel' instead of a specific version.
The second line must be the package version.
See dotnet-install.ps1/sh.
-->
<WriteLinesToFile
File="$(LatestRuntimeVersionFile)"
Lines="$(CommitHash);$(PackageVersion)"
Overwrite="true" />
<ItemGroup>
<_AllSharedFxRIDs Include="$(SupportedRuntimeIdentifiers)" />
<SharedFxVersionBadge Include="$(IntermediateDir)aspnetcore-runtime-%(AllSharedFxRIDs.Identity)-version-badge.svg" />
</ItemGroup>
<GenerateSvgBadge
OutputPath="%(SharedFxVersionBadge.Identity)"
Label="version"
Value="$(PackageVersion)" />
</Target>
<Target Name="GetFilesToPublish" DependsOnTargets="GetArtifactInfo;GeneratePublishFiles">
<Target Name="GetFilesToPublish" DependsOnTargets="GetArtifactInfo">
<PropertyGroup>
<BlobBasePath>aspnetcore/Runtime/$(PackageVersion)/</BlobBasePath>
<NpmBlobBasePath>aspnetcore/npm/</NpmBlobBasePath>
<JarBlobBasePath>aspnetcore/jar/</JarBlobBasePath>
<AliasBlobBasePath>aspnetcore/Runtime/$(SharedFxCliBlobChannel)/</AliasBlobBasePath>
<InstallerBaseFileName>aspnetcore-runtime-$(PackageVersion)</InstallerBaseFileName>
<InstallerAliasBaseFileName>aspnetcore-runtime-latest</InstallerAliasBaseFileName>
<IntermediateInstallerBaseFileName>aspnetcore-runtime-internal-$(PackageVersion)</IntermediateInstallerBaseFileName>
<WindowsHostingBundleInstallerFileName>dotnet-hosting-$(PackageVersion)-win.exe</WindowsHostingBundleInstallerFileName>
<NpmBlobBasePath>aspnetcore/npm/$(PackageVersion)/</NpmBlobBasePath>
<JarBlobBasePath>aspnetcore/jar/$(PackageVersion)/</JarBlobBasePath>
</PropertyGroup>
<ItemGroup>
<!-- Windows Server hosting bundle -->
<FilesToPublish Include="$(DependencyAssetsDir)$(WindowsHostingBundleInstallerFileName)">
<RelativeBlobPath>$(BlobBasePath)$(WindowsHostingBundleInstallerFileName)</RelativeBlobPath>
</FilesToPublish>
<!-- Package archives -->
<FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-$(PackageVersion).zip" >
<RelativeBlobPath>$(BlobBasePath)nuGetPackagesArchive-ci-server-$(PackageVersion).zip</RelativeBlobPath>
</FilesToPublish>
<!-- This file is conditionally included because it may not exist in servicing builds -->
<FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-$(PackageVersion).patch.zip"
Condition="Exists('$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-$(PackageVersion).patch.zip')" >
<RelativeBlobPath>$(BlobBasePath)nuGetPackagesArchive-ci-server-$(PackageVersion).patch.zip</RelativeBlobPath>
</FilesToPublish>
<!-- This file is conditionally included because it may not exist in servicing builds -->
<FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-compat-$(PackageVersion).patch.zip"
Condition="Exists('$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-compat-$(PackageVersion).patch.zip')">
<RelativeBlobPath>$(BlobBasePath)nuGetPackagesArchive-ci-server-compat-$(PackageVersion).patch.zip</RelativeBlobPath>
</FilesToPublish>
<!-- Intermediate files passed on to the dotnet-CLI. -->
<FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-$(PackageVersion).lzma" >
<RelativeBlobPath>$(BlobBasePath)nuGetPackagesArchive-$(PackageVersion).lzma</RelativeBlobPath>
</FilesToPublish>
<FilesToPublish Include="$(DependencyAssetsDir)$(IntermediateInstallerBaseFileName)-%(IntermediateInstaller.Identity)%(IntermediateInstaller.FileExt)" Condition=" '%(IntermediateInstaller.Identity)' != '' ">
<RelativeBlobPath>$(BlobBasePath)$(IntermediateInstallerBaseFileName)-%(IntermediateInstaller.Identity)%(IntermediateInstaller.FileExt)</RelativeBlobPath>
</FilesToPublish>
<FilesToPublish Include="$(BaseRuntimeVersionFile)">
<RelativeBlobPath>$(BlobBasePath)$(BaseRuntimeVersionFileName)</RelativeBlobPath>
<!-- Installer output files with specific metadata. -->
<FilesToPublish Include="$(InstallersOutputPath)*.txt">
<RelativeBlobPath>$(BlobBasePath)%(FileName)%(Extension)</RelativeBlobPath>
<ContentType>text/plain</ContentType>
</FilesToPublish>
<!-- Archive installers -->
<FilesToPublish Include="$(DependencyAssetsDir)$(InstallerBaseFileName)-%(NativeInstaller.Identity)%(NativeInstaller.FileExt)" Condition=" '%(NativeInstaller.FileExt)' != '' ">
<RelativeBlobPath>$(BlobBasePath)$(InstallerBaseFileName)-%(NativeInstaller.Identity)%(NativeInstaller.FileExt)</RelativeBlobPath>
</FilesToPublish>
<!-- Support for README badges and dotnet-install.ps1/sh -->
<FilesToPublish Include="$(DependencyAssetsDir)$(InstallerBaseFileName)-%(NativeInstaller.Identity)%(NativeInstaller.FileExt)" Condition=" '%(NativeInstaller.FileExt)' != '' ">
<RelativeBlobPath>$(AliasBlobBasePath)$(InstallerAliasBaseFileName)-%(NativeInstaller.Identity)%(NativeInstaller.FileExt)</RelativeBlobPath>
<FilesToPublish Include="$(InstallersOutputPath)*.version">
<RelativeBlobPath>$(BlobBasePath)%(FileName)%(Extension)</RelativeBlobPath>
<ContentType>text/plain</ContentType>
<CacheControl>no-cache, no-store, must-revalidate</CacheControl>
<Overwrite>true</Overwrite>
<!-- These uploads duplicate the same blob in a separate location for README download links and to make dotnet-install.ps1/sh work when specifying -Channel. -->
<IsDuplicateUpload>true</IsDuplicateUpload>
</FilesToPublish>
<FilesToPublish Include="@(SharedFxVersionBadge)">
<RelativeBlobPath>$(AliasBlobBasePath)%(SharedFxVersionBadge.FileName)%(SharedFxVersionBadge.Extension)</RelativeBlobPath>
<FilesToPublish Include="$(InstallersOutputPath)*.svg">
<RelativeBlobPath>$(BlobBasePath)%(FileName)%(Extension)</RelativeBlobPath>
<CacheControl>no-cache, no-store, must-revalidate</CacheControl>
<ContentType>image/svg+xml</ContentType>
<Overwrite>true</Overwrite>
</FilesToPublish>
<FilesToPublish Include="$(LatestRuntimeVersionFile)">
<RelativeBlobPath>$(AliasBlobBasePath)$(LatestRuntimeVersionFileName)</RelativeBlobPath>
<CacheControl>no-cache, no-store, must-revalidate</CacheControl>
<ContentType>text/plain</ContentType>
<Overwrite>true</Overwrite>
<!-- All other installer files. -->
<FilesToPublish Include="$(InstallerOutputPath)*" Exclude="@(FilesToPublish)">
<RelativeBlobPath>$(BlobBasePath)%(FileName)%(Extension)</RelativeBlobPath>
</FilesToPublish>
<!-- Packages -->
<_PackageArtifactInfo
Include="@(ArtifactInfo)"
ArtifactPath="$(DependencyPackagesDir)%(ArtifactInfo.PackageId).%(ArtifactInfo.Version).nupkg"
Condition="'%(ArtifactInfo.ArtifactType)' == 'NuGetPackage'" />
<_SymbolsPackageArtifactInfo
Include="@(ArtifactInfo)"
ArtifactPath="$(DependencyPackagesDir)%(ArtifactInfo.PackageId).%(ArtifactInfo.Version).symbols.nupkg"
Condition="'%(ArtifactInfo.ArtifactType)' == 'NuGetSymbolsPackage'" />
<FilesToPublish Include="$(DependencyPackagesDir)%(ArtifactInfo.FileName)%(ArtifactInfo.Extension)" Condition="'%(ArtifactInfo.ArtifactType)' == 'JavaJar'">
<RelativeBlobPath>$(JarBlobBasePath)%(ArtifactInfo.FileName)%(ArtifactInfo.Extension)</RelativeBlobPath>
<!-- Java packages -->
<FilesToPublish Include="$(ProductPackageOutputPath)*.jar">
<RelativeBlobPath>$(JarBlobBasePath)%(FileName)%(Extension)</RelativeBlobPath>
</FilesToPublish>
<FilesToPublish Include="$(DependencyAssetsDir)%(ArtifactInfo.FileName)%(ArtifactInfo.Extension)" Condition="'%(ArtifactInfo.ArtifactType)' == 'MavenPOM'">
<RelativeBlobPath>$(JarBlobBasePath)%(ArtifactInfo.FileName)%(ArtifactInfo.Extension)</RelativeBlobPath>
<FilesToPublish Include="$(ProductPackageOutputPath)*.pom">
<RelativeBlobPath>$(JarBlobBasePath)%(FileName)%(Extension)</RelativeBlobPath>
</FilesToPublish>
<NpmPackageToPublish Include="$(DependencyAssetsDir)%(ArtifactInfo.FileName)%(ArtifactInfo.Extension)" Condition="'%(ArtifactInfo.ArtifactType)' == 'NpmPackage'">
<RelativeBlobPath>$(NpmBlobBasePath)%(ArtifactInfo.PackageId)/%(ArtifactInfo.FileName)%(ArtifactInfo.Extension)</RelativeBlobPath>
<!-- NPM packages -->
<NpmPackagesToPublish Include="$(ProductPackageOutputPath)*.tgz">
<RelativeBlobPath>$(NpmBlobBasePath)%(FileName)%(Extension)</RelativeBlobPath>
<ContentType>application/tar+gzip</ContentType>
</NpmPackageToPublish>
</NpmPackagesToPublish>
<PackagesToPublish Include="$(ProductPackageOutputPath)*.symbols.nupkg" IsSymbolsPackage="true" />
<PackagesToPublish Include="$(ProductPackageOutputPath)*.nupkg" Exclude="@(PackagesToPublish)" />
</ItemGroup>
<!-- Join required because shipping category is stored in universe (PackageArtifact), but information about package ID and version comes from repos (ArtifactInfo). -->
<RepoTasks.JoinItems
Left="@(_PackageArtifactInfo->WithMetadataValue('Category',''))" LeftKey="PackageId" LeftMetadata="*" LeftItemSpec="Identity"
Right="@(PackageArtifact)" RightMetadata="Category">
<Output TaskParameter="JoinResult" ItemName="_PackageArtifactInfoWithCategory" />
</RepoTasks.JoinItems>
<ItemGroup>
<_RidSpecificPackages Include="$(SupportedRuntimeIdentifiers)" Exclude="$(SharedFxRid)" />
<PackageToPublish Include="$(DependencyPackagesDir)runtime.%(_RidSpecificPackages.Identity).Microsoft.AspNetCore.App.$(SharedFxVersion).nupkg" Category="ship" />
<!--
'Internal' packages are used to transfer bits to partner teams, and should not be used by customers.
Publishing these can be disabled.
-->
<ItemGroup Condition=" '$(PublishInternalPackages)' != 'false' ">
<PackagesToPublish Include="$(InternalPackageOutputPath)*.symbols.nupkg" IsSymbolsPackage="true">
<ManifestArtifactData>NonShipping=true</ManifestArtifactData>
</PackagesToPublish>
<PackagesToPublish Include="$(InternalPackageOutputPath)*.nupkg" Exclude="@(PackagesToPublish)">
<ManifestArtifactData>NonShipping=true</ManifestArtifactData>
</PackagesToPublish>
</ItemGroup>
<ItemGroup>
<PackageToPublish Include="%(_PackageArtifactInfoWithCategory.ArtifactPath)" Category="%(_PackageArtifactInfoWithCategory.Category)" />
<PackageToPublish Include="%(_PackageArtifactInfo.ArtifactPath)" Category="%(_PackageArtifactInfo.Category)" Condition="'%(_PackageArtifactInfo.Category)' != ''" />
<PackageToPublish Include="%(_SymbolsPackageArtifactInfo.ArtifactPath)" Category="symbols" IsSymbolsPackage="true" />
</ItemGroup>
<ItemGroup>
<_MissingArtifactFile Include="@(FilesToPublish)" Condition="!Exists(%(FilesToPublish.Identity))" />
<_MissingArtifactFile Include="@(NpmPackageToPublish)" Condition="!Exists(%(NpmPackageToPublish.Identity))" />
<_MissingArtifactFile Include="@(PackageToPublish)" Condition="!Exists(%(PackageToPublish.Identity))" />
</ItemGroup>
<Error Text="Missing expected files:%0A - @(_MissingArtifactFile, '%0A - ')" Condition="@(_MissingArtifactFile->Count()) != 0" />
</Target>
<Target Name="PublishToLocalFolder" DependsOnTargets="GetFilesToPublish">
<Copy SourceFiles="%(FilesToPublish.Identity)" DestinationFiles="$(ArtifactsDir)%(FilesToPublish.RelativeBlobPath)" Condition="'%(FilesToPublish.RelativeBlobPath)' != ''" />
<Copy SourceFiles="%(NpmPackageToPublish.Identity)" DestinationFolder="$(ArtifactsDir)npm\" />
<Copy SourceFiles="%(PackageToPublish.Identity)" DestinationFolder="$(ArtifactsDir)packages\%(PackageToPublish.Category)\" />
</Target>
<Target Name="PublishToMyGet"
@ -238,18 +130,6 @@
DependsOnTargets="GetFilesToPublish"
Condition="'$(PublishToAzureFeed)' == 'true'">
<PropertyGroup>
<!--
Allow setting AzureBlobRelativePathBase to control the base path of all uploaded blobs.
AzureBlobRelativePathBase should end in a slash.
-->
<AzureBlobRelativePathBase Condition="'$(AzureBlobRelativePathBase)' != '' AND !HasTrailingSlash('$(AzureBlobRelativePathBase)')">$(AzureBlobRelativePathBase)/</AzureBlobRelativePathBase>
</PropertyGroup>
<ItemGroup Condition=" '$(AzureBlobRelativePathBase)' != '' ">
<FilesToPublish Update="@(FilesToPublish)" RelativeBlobPath="$(AzureBlobRelativePathBase)%(FilesToPublish.RelativeBlobPath)" />
</ItemGroup>
<RepoTasks.PublishToAzureBlob
AccountName="$(AzureAccountName)"
SharedAccessToken="$(AzureSharedAccessToken)"

View File

@ -120,9 +120,7 @@
<PropertyGroup>
<BuildArguments>/t:CleanArtifacts /t:Build /p:SkipTests=true $(RepositoryBuildArguments)</BuildArguments>
<BuildArguments Condition="'$(ProduceRepoBinLog)' == 'true'">$(BuildArguments) /bl:$(LogOutputDir)$(RepositoryToBuild).build.binlog</BuildArguments>
<RepositoryArtifactsRoot>$(BuildRepositoryRoot)artifacts\</RepositoryArtifactsRoot>
<RepositoryArtifactsBuildDirectory>$(RepositoryArtifactsRoot)build\</RepositoryArtifactsBuildDirectory>
<RepositoryArtifactsMSBuildDirectory>$(RepositoryArtifactsRoot)msbuild\</RepositoryArtifactsMSBuildDirectory>
<RepositoryArtifactsMSBuildDirectory>$(BuildRepositoryRoot)artifacts\msbuild\</RepositoryArtifactsMSBuildDirectory>
</PropertyGroup>
<Message Text="============ Building $(RepositoryToBuild) ============" Importance="High" />
@ -142,14 +140,9 @@
<Error Text="Building $(RepositoryToBuild) failed: $(_BuildScriptToExecute) exited code $(BuildExitCode)" Condition=" '$(BuildExitCode)' != '0' " />
<ItemGroup>
<RepositoryArtifacts Include="$(RepositoryArtifactsBuildDirectory)*" />
<RepositoryMSBuildArtifacts Include="$(RepositoryArtifactsMSBuildDirectory)**\*" />
</ItemGroup>
<Copy
SourceFiles="@(RepositoryArtifacts)"
DestinationFolder="$(BuildDir)" />
<Move
SourceFiles="@(RepositoryMSBuildArtifacts)"
DestinationFolder="$(ArtifactsDir)msbuild\$(RepositoryToBuild)\%(RecursiveDir)" />

View File

@ -24,12 +24,12 @@
<Target Name="GetSharedFxFilesToSign">
<ItemGroup>
<FilesToSign Include="$(ArtifactsDir)$(Configuration)\installers\aspnetcore-runtime-$(PackageVersion)-$(SharedFxRid).zip" Certificate="None" />
<FilesToSign Include="$(ArtifactsDir)$(Configuration)\installers\aspnetcore-runtime-internal-$(PackageVersion)-$(SharedFxRid).zip" Certificate="None" />
<FilesToSign Include="$(BuildDir)Microsoft.AspNetCore.App.$(PackageVersion).nupkg" Certificate="$(PackageSigningCertName)" />
<FilesToSign Include="$(BuildDir)runtime.$(SharedFxRid).Microsoft.AspNetCore.App.$(PackageVersion).nupkg" Certificate="$(PackageSigningCertName)" />
<FilesToSign Include="$(BuildDir)runtime.$(SharedFxRid).Microsoft.AspNetCore.App.$(PackageVersion).symbols.nupkg" Certificate="$(PackageSigningCertName)" />
<FilesToSign Include="$(BuildDir)AspNetCoreRuntime.3.0.$(SharedFxArchitecture).$(PackageVersion).nupkg" Condition=" '$(BuildRuntimeSiteExtension)' == 'true' " Certificate="$(PackageSigningCertName)" />
<FilesToSign Include="$(InstallersOutputPath)aspnetcore-runtime-$(PackageVersion)-$(SharedFxRid).zip" Certificate="None" />
<FilesToSign Include="$(InstallersOutputPath)aspnetcore-runtime-internal-$(PackageVersion)-$(SharedFxRid).zip" Certificate="None" />
<FilesToSign Include="$(ProductPackageOutputPath)Microsoft.AspNetCore.App.$(PackageVersion).nupkg" Certificate="$(PackageSigningCertName)" />
<FilesToSign Include="$(ProductPackageOutputPath)runtime.$(SharedFxRid).Microsoft.AspNetCore.App.$(PackageVersion).nupkg" Certificate="$(PackageSigningCertName)" />
<FilesToSign Include="$(ProductPackageOutputPath)runtime.$(SharedFxRid).Microsoft.AspNetCore.App.$(PackageVersion).symbols.nupkg" Certificate="$(PackageSigningCertName)" />
<FilesToSign Include="$(ProductPackageOutputPath)AspNetCoreRuntime.3.0.$(SharedFxArchitecture).$(PackageVersion).nupkg" Condition=" '$(BuildRuntimeSiteExtension)' == 'true' " Certificate="$(PackageSigningCertName)" />
</ItemGroup>
<!-- These files should already be signed by the .NET Core team. They have to be listed again here because we recreate a redistributable which includes the Microsoft.NETCore.App runtime. -->

View File

@ -1,3 +1,7 @@
<!--
TODO: remove this file completely and make the .csproj the final arbiter of which 'shipping' category the package belongs in.
This can be done once #4246 is complete, and done in conjunction with converting our projects to build with FrameworkReference (https://github.com/aspnet/AspNetCore/issues/4257)
-->
<Project>
<ItemDefinitionGroup>

View File

@ -8,14 +8,18 @@
<DisableDefaultItems>true</DisableDefaultItems>
<BuildSolutions>false</BuildSolutions>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
<SkipTests>false</SkipTests>
<SkipTests Condition="'$(CompileOnly)' == 'true'">true</SkipTests>
<IsFinalBuild Condition="'$(IsFinalBuild)' == ''">false</IsFinalBuild>
<SubmoduleRoot>$(RepositoryRoot)src\</SubmoduleRoot>
<DependencyPackageDir>$(RepositoryRoot).deps\build\</DependencyPackageDir>
<SignedDependencyPackageDir>$(RepositoryRoot).deps\Signed\Packages\</SignedDependencyPackageDir>
<ProductPackageOutputPath>$(ArtifactsDir)$(Configuration)\packages\product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(ArtifactsDir)$(Configuration)\packages\internal\</InternalPackageOutputPath>
<InstallersOutputPath>$(ArtifactsDir)$(Configuration)\installers\</InstallersOutputPath>
<SignCheckExclusionsFile>$(RepositoryRoot)eng\signcheck.exclusions.txt</SignCheckExclusionsFile>
<!-- Disable the check which asserts that all managed .NET binaries we distribute are strong-named signed. Workaround for https://github.com/aspnet/AspNetCore-Internal/issues/1501 -->
@ -28,35 +32,6 @@
<SharedSourceDirectories Include="$(SharedSourcesFolder)Hosting.WebHostBuilderFactory\" />
</ItemGroup>
<ItemGroup>
<IntermediateInstaller Include="win-x86" FileExt=".zip" />
<IntermediateInstaller Include="win-x86" FileExt=".wixlib" />
<IntermediateInstaller Include="win-x64" FileExt=".zip" />
<IntermediateInstaller Include="win-x64" FileExt=".wixlib" />
<IntermediateInstaller Include="win-arm" FileExt=".zip" />
<IntermediateInstaller Include="osx-x64" FileExt=".tar.gz" />
<IntermediateInstaller Include="linux-x64" FileExt=".tar.gz" />
<IntermediateInstaller Include="linux-arm" FileExt=".tar.gz" />
<IntermediateInstaller Include="linux-arm64" FileExt=".tar.gz" />
<IntermediateInstaller Include="linux-musl-x64" FileExt=".tar.gz" />
<NativeInstaller Include="win-x86" FileExt=".exe" />
<NativeInstaller Include="win-x86" FileExt=".zip" />
<NativeInstaller Include="win-x64" FileExt=".exe" />
<NativeInstaller Include="win-x64" FileExt=".zip" />
<NativeInstaller Include="win-arm" FileExt=".zip" />
<NativeInstaller Include="osx-x64" FileExt=".tar.gz" />
<NativeInstaller Include="linux-x64" FileExt=".tar.gz" />
<NativeInstaller Include="linux-arm" FileExt=".tar.gz" />
<NativeInstaller Include="linux-arm64" FileExt=".tar.gz" />
<NativeInstaller Include="linux-musl-x64" FileExt=".tar.gz" />
<NativeInstaller Include="x64" FileExt=".deb" />
<NativeInstaller Include="x64" FileExt=".rpm" />
<NativeInstaller Include="rh.rhel.7-x64" FileExt=".rpm" />
<SharedFrameworkName Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<SamplesProject Include="$(RepositoryRoot)src\**\samples\**\*.csproj;"/>
@ -104,14 +79,6 @@
$(RepositoryRoot)**\obj\**\*;" />
</ItemGroup>
<!-- Properties for publishing -->
<PropertyGroup>
<!-- myget = non-orchestrated builds -->
<PublishToMyGet Condition=" $(PublishType.Contains('myget')) ">true</PublishToMyGet>
<!-- azure = non-orchestrated builds -->
<PublishToAzureFeed Condition="$(PublishType.Contains('azure'))">true</PublishToAzureFeed>
</PropertyGroup>
<Import Project="runtimes.props" />
<Import Project="sources.props" />
<Import Project="external-dependencies.props" />

View File

@ -46,7 +46,7 @@
</Target>
<Target Name="PrepareOutputPaths">
<MakeDir Directories="$(ArtifactsDir);$(BuildDir)" />
<MakeDir Directories="$(ArtifactsDir);$(ProductPackageOutputPath);$(InternalPackageOutputPath)" />
</Target>
<Target Name="GenerateProjectList" DependsOnTargets="ResolveProjects">
@ -195,9 +195,8 @@
<_LineupPackages Include="@(ExternalDependency)" />
<_LineupPackages Include="%(ArtifactInfo.PackageId)" Version="%(ArtifactInfo.Version)" Condition=" '%(ArtifactInfo.ArtifactType)' == 'NuGetPackage' " />
<_RestoreSources Include="$(DependencyPackageDir)" Condition="'$(DependencyPackageDir)' != '' AND Exists('$(DependencyPackageDir)')" />
<_RestoreSources Include="$(SignedDependencyPackageDir)" Condition="'$(SignedDependencyPackageDir)' != '' AND Exists('$(SignedDependencyPackageDir)')" />
<_RestoreSources Include="$(BuildDir)" />
<_RestoreSources Include="$(ProductPackageOutputPath)" />
<_RestoreSources Include="$(InternalPackageOutputPath)" />
<_RestoreSources Include="$(RestoreSources)" />
</ItemGroup>
@ -263,7 +262,7 @@
<!-- This is temporary until we can use FrameworkReference to build our own packages. -->
<Target Name="RemoveSharedFrameworkOnlyRefsFromNuspec">
<ItemGroup>
<_BuildOutput Include="$(BuildDir)%(PackageArtifact.Identity).*.nupkg"
<_BuildOutput Include="$(ProductPackageOutputPath)%(PackageArtifact.Identity).*.nupkg"
Condition=" '%(PackageArtifact.Category)' == 'ship' " />
<SharedFxPackageRefToHide Include="@(SharedFrameworkOnlyPackage)" Exclude="@(ExternalDependency)" />

20
docs/Artifacts.md Normal file
View File

@ -0,0 +1,20 @@
Artifacts
=========
Building this repo produces build artifacts in the directory structure described below. Build outputs are organized into logical groups based on artifact type and the intended usage of the artifacts.
```
artifacts/
$(Configuration)/
installers/
*.msi = Windows installers
*.deb, *.rpm = Linux installers
*.zip, *.tar.gz = archives versions of installers
packages/
product/ = Packages which are intended for use by customers. These, along with installers, represent the 'product'.
*.nupkg = NuGet packages which ship to nuget.org
*.jar = Java packages which ship to Maven Central and others
*.tgz = NPM packages which ship to npmjs.org
internal/
*.nupkg = NuGet packages for internal use only. Used to hand off bits to Microsoft partner teams. Not intended for use by customers.
```

View File

@ -156,6 +156,7 @@ NoBuild | `true` or `false`. Runs tests without rebuilding.
## Use the result of your build
After building ASP.NET Core from source, you will need to install and use your local version of ASP.NET Core.
See ["Artifacts"](./Artifacts.md) for more explanation of the different folders produced by a build.
- Run the installers produced in `artifacts/{Debug, Release}/installers/` for your platform.
- Add a NuGet.Config to your project directory with the following content:
@ -165,7 +166,7 @@ After building ASP.NET Core from source, you will need to install and use your l
<configuration>
<packageSources>
<clear />
<add key="MyBuildOfAspNetCore" value="C:\src\aspnet\AspNetCore\artifacts\build\" />
<add key="MyBuildOfAspNetCore" value="C:\src\aspnet\AspNetCore\artifacts\Debug\packages\product\" />
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
@ -180,6 +181,5 @@ After building ASP.NET Core from source, you will need to install and use your l
</ItemGroup>
```
Some features, such as new target frameworks, may require prerelease tooling builds for Visual Studio.
These are available in the [Visual Studio Preview](https://www.visualstudio.com/vs/preview/).

View File

@ -0,0 +1,8 @@
Project Properties
==================
In addition to the standard set of MSBuild properties supported by Microsoft.NET.Sdk, projects in this repo often use these additional properties.
Property name | Meaning
-------------------|--------------------------------------------------------------------------------------------
IsProductPackage | When set to `true`, the package produced by from project is intended for use by customers. Defaults to `false`, which means the package is intended for internal use only by Microsoft teams.

View File

@ -17,4 +17,13 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,17 @@
<Project>
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<ItemGroup>
<DotNetCoreRuntime Include="$(MicrosoftNETCoreAppPackageVersion)" />
</ItemGroup>

View File

@ -6,6 +6,7 @@
<TargetFramework>netcoreapp3.0</TargetFramework>
<PackageTags>aspnetcore;authentication;AzureAD</PackageTags>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<IsProductPackage>true</IsProductPackage>
<ProvideApplicationPartFactoryAttributeTypeName>Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core</ProvideApplicationPartFactoryAttributeTypeName>
<_EnableAllInclusiveRazorSdk>true</_EnableAllInclusiveRazorSdk>
@ -32,10 +33,10 @@
<_Parameter2>$(BuildNumber)</_Parameter2>
</RazorTargetAssemblyAttribute>
</ItemGroup>
<ItemGroup>
<RazorCompile Include="$(GeneratedCommitHashAttributeFile)" />
<RazorCompile Include="$(GeneratedInternalAspNetCoreAttributeFile)" />
</ItemGroup>
</Project>

View File

@ -6,6 +6,7 @@
<TargetFramework>netcoreapp3.0</TargetFramework>
<PackageTags>aspnetcore;authentication;AzureADB2C</PackageTags>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<IsProductPackage>true</IsProductPackage>
<ProvideApplicationPartFactoryAttributeTypeName>Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core</ProvideApplicationPartFactoryAttributeTypeName>
<_EnableAllInclusiveRazorSdk>true</_EnableAllInclusiveRazorSdk>
@ -32,10 +33,10 @@
<_Parameter2>$(BuildNumber)</_Parameter2>
</RazorTargetAssemblyAttribute>
</ItemGroup>
<ItemGroup>
<RazorCompile Include="$(GeneratedCommitHashAttributeFile)" />
<RazorCompile Include="$(GeneratedInternalAspNetCoreAttributeFile)" />
</ItemGroup>
</Project>

View File

@ -18,4 +18,13 @@
<SharedSourceRoot>$(MSBuildThisFileDirectory)..\Shared\</SharedSourceRoot>
</PropertyGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,17 @@
<Project>
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<PropertyGroup>
<FunctionalTestsProject>$(RepositoryRoot)test\Microsoft.AspNetCore.AzureAppServices.FunctionalTests\Microsoft.AspNetCore.AzureAppServices.FunctionalTests.csproj</FunctionalTestsProject>
</PropertyGroup>

View File

@ -6,6 +6,7 @@
<Description>This site extension installs Microsoft.AspNetCore.All, Microsoft.AspNetCore.App and Microsoft.NetCore.App shared runtimes.</Description>
<PackageTags>aspnetcore;AzureSiteExtension</PackageTags>
<PackageId>AspNetCoreRuntime.$(TrimmedVersion).$(RuntimeArch)</PackageId>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -7,6 +7,7 @@
<TargetFrameworks>netcoreapp3.0</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;azure;appservices</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -7,6 +7,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;azure;appservices</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -11,4 +11,4 @@
<PackageReference Include="Microsoft.Web.Xdt" Version="$(MicrosoftWebXdtPackageVersion)" />
</ItemGroup>
</Project>
</Project>

View File

@ -25,4 +25,13 @@
<PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
</ItemGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -2,4 +2,16 @@
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -5,6 +5,7 @@
<OutputType>Exe</OutputType>
<AssemblyName>dotnet-blazor</AssemblyName>
<PackageId>Microsoft.AspNetCore.Blazor.Cli</PackageId>
<IsProductPackage>true</IsProductPackage>
<StartupObject>Microsoft.AspNetCore.Blazor.Cli.Program</StartupObject>
<!-- Disabled because E2ETest.csproj needs to WebDriver which is not strong named signed, and InternalsVisibleTo must specify a strong-name token -->
<SignAssembly>false</SignAssembly>

View File

@ -1,4 +1,5 @@
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.targets))\Directory.Build.targets" />
<PropertyGroup>
<IncludeSource>false</IncludeSource>
<IncludeSymbols>false</IncludeSymbols>

View File

@ -1,7 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard20</TargetFramework>
<TargetFramework>netstandard2.0</TargetFramework>
<NuspecFile>Microsoft.AspNetCore.Blazor.Templates.nuspec</NuspecFile>
<IsProductPackage>true</IsProductPackage>
<EnableDefaultItems>False</EnableDefaultItems>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<IncludeBuildOutput>False</IncludeBuildOutput>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Description>Build client-side single-page applications (SPAs) with Razor Components running under WebAssembly.</Description>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -17,7 +17,6 @@ This files is a temporary while this project transitions to using arcade.
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<ArtifactsBinDir>$(ArtifactsConfigurationDir)bin\</ArtifactsBinDir>
<PackageOutputPath>$(ArtifactsDir)build\</PackageOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(DisableArcadeProjectLayout)' != 'true'">

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<!-- Properties to make KoreBuild more like dotnet/arcade. -->
<PropertyGroup>
<SkipArtifactVerification>true</SkipArtifactVerification>

View File

@ -6,6 +6,7 @@
<NoPackageAnalysis>true</NoPackageAnalysis>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<Description>Roslyn analyzers for ASP.NET Core Components.</Description>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Description>Support for rendering ASP.NET Core components in browsers.</Description>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -5,6 +5,7 @@
<Description>Build mechanism for ASP.NET Core Components.</Description>
<OutputType>Exe</OutputType>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<!-- Pack settings -->

View File

@ -25,16 +25,16 @@
<!-- This is used as a P2P when building the repo. Normal Blazor projects will get this as a reference through the Blazor.Build package -->
<ItemGroup>
<ProjectReference Include="$(MSBuildThisFileDirectory)..\Microsoft.AspNetCore.Components.TagHelperWorkaround\Microsoft.AspNetCore.Components.TagHelperWorkaround.csproj" PrivateAssets="all" />
</ItemGroup>
<Target
Name="BuildBlazorBuildBinary"
BeforeTargets="BlazorGenerateDeclaration">
<!-- Ensures these projects are built before the consuming project, but without
adding a runtime dependency on the .dll (to be equivalent to a <PackageDependency>
given that the packed version of this project wouldn't add a .dll reference) -->
<MSBuild Projects="$(MSBuildThisFileDirectory)Microsoft.AspNetCore.Components.Build.csproj" Targets="Build" />
</Target>
<ProjectReference Include="$(MSBuildThisFileDirectory)Microsoft.AspNetCore.Components.Build.csproj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<!-- Optimization. Do not require framework compatibility between these projects. -->
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
<UndefineProperties>TargetFramework</UndefineProperties>
</ProjectReference>
</ItemGroup>
<PropertyGroup>
<!-- When referencing from source, we need to disable VS's fast up-to-date check,

View File

@ -5,6 +5,7 @@
<TargetFrameworks Condition="'$(OS)' == 'Windows_NT'">$(TargetFrameworks);net461</TargetFrameworks>
<RootNamespace>Microsoft.AspNetCore.Components.Razor</RootNamespace>
<Description>Extensions to the Razor compiler to support building Razor Components.</Description>
<IsProductPackage>true</IsProductPackage>
<!-- Copy package references to output, needed so the build project can find them -->
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Description>Runtime server features for ASP.NET Core Components.</Description>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -4,6 +4,7 @@
<TargetFramework>netstandard2.0</TargetFramework>
<Description>Components feature for ASP.NET Core.</Description>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;dataprotection;azure;keyvault</PackageTags>
<EnableApiCheck>false</EnableApiCheck>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;dataprotection;azure;blob</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;dataprotection;entityframeworkcore</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;dataprotection;redis</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;json;jsonpatch</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -16,6 +16,7 @@
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
</PackageDescription>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -46,6 +46,7 @@
$(MSBuildProjectName) provides a default set of APIs for building an ASP.NET Core application.
</PackageDescription>
<IsProductPackage>true</IsProductPackage>
<IncludeSymbols>true</IncludeSymbols>
<NuspecFile>$(MSBuildThisFileDirectory)runtime.fx.nuspec</NuspecFile>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;hosting;testing</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;owin</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -20,4 +20,13 @@
<SharedSourceRoot>$(MSBuildThisFileDirectory)..\Shared\</SharedSourceRoot>
</PropertyGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,17 @@
<Project>
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<ItemGroup>
<DotNetCoreRuntime Include="$(MicrosoftNETCoreAppPackageVersion)" />
</ItemGroup>

View File

@ -5,6 +5,7 @@
<TargetFramework>netcoreapp3.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;entityframeworkcore;identity;membership</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -5,6 +5,7 @@
<TargetFramework>netcoreapp3.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;identity;membership</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -1,11 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<Description>ASP.NET Core Identity UI is the default Razor Pages built-in UI for the ASP.NET Core Identity framework.</Description>
<RazorAssemblyDescription>Compiled Razor views assembly for the ASP.NET Core Identity UI package.</RazorAssemblyDescription>
<TargetFramework>netcoreapp3.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;identity;membership;razorpages</PackageTags>
<IsProductPackage>true</IsProductPackage>
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
<ProvideApplicationPartFactoryAttributeTypeName>Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core</ProvideApplicationPartFactoryAttributeTypeName>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
@ -26,7 +27,7 @@
<Content Update="**\*.cshtml" Pack="false" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(MicrosoftAspNetCoreMvcPackageVersion)" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion)" />
@ -38,7 +39,7 @@
<ProjectReference Include="..\Identity\Microsoft.AspNetCore.Identity.csproj" />
<ProjectReference Include="..\Stores\Microsoft.Extensions.Identity.Stores.csproj" />
</ItemGroup>
<ItemGroup>
<RazorAssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" Condition="'$(BuildNumber)' != ''">

View File

@ -16,6 +16,12 @@
<DotNetRuntimeArchiveFileName>dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFxRid)$(ArchiveExtension)</DotNetRuntimeArchiveFileName>
<DotNetRuntimeDownloadUrl>$(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreAppPackageVersion)/$(DotNetRuntimeArchiveFileName)</DotNetRuntimeDownloadUrl>
<DotNetRuntimeArchive>$(BaseIntermediateOutputPath)$(DotNetRuntimeArchiveFileName)</DotNetRuntimeArchive>
<!-- This file is used by the dotnet/core-sdk to determine if our shared framework aligns with the version they pull. -->
<BaseRuntimeVersionFileName>aspnetcore_base_runtime.version</BaseRuntimeVersionFileName>
<BaseRuntimeVersionFileOutputPath>$(OutputPath)$(BaseRuntimeVersionFileName)</BaseRuntimeVersionFileOutputPath>
<!-- This file can be used in READMEs or other webpages -->
<SvgBadgeFileName>aspnetcore-runtime-$(SharedFxRid)-version-badge.svg</SvgBadgeFileName>
<SvgBadgeOutputPath>$(OutputPath)$(SvgBadgeFileName)</SvgBadgeOutputPath>
</PropertyGroup>
<ItemGroup>
@ -29,9 +35,43 @@
<Target Name="GetTargetPath" Returns="$(TargetPath)" />
<Target Name="Build" DependsOnTargets="ResolveProjectReferences;GetTargetPath">
<Target Name="PrepareForBuild">
<MakeDir Directories="$(OutputPath);$(IntermediateOutputPath)" />
</Target>
<Target Name="GenerateMetadataFiles" DependsOnTargets="PrepareForBuild">
<!--
Used by the dotnet/core-sdk build to determine which version of Microsoft.NETCore.App is used.
-->
<WriteLinesToFile File="$(BaseRuntimeVersionFileOutputPath)" Lines="$(MicrosoftNETCoreAppPackageVersion)" Overwrite="true" />
<PropertyGroup>
<SvgBadgeLabel>version</SvgBadgeLabel>
<SvgBadgeValue>$(PackageVersion)</SvgBadgeValue>
<SvgBadgeColor>#007EC6</SvgBadgeColor>
<SvgBadgeWidth>$([MSBuild]::Add(56, $([MSBuild]::Multiply($(PackageVersion.Length), 6.67))))</SvgBadgeWidth>
<SvgBadgeContent>
<![CDATA[
<svg xmlns="http://www.w3.org/2000/svg" width="$(SvgBadgeWidth)" height="20">
<g>
<rect width="$(SvgBadgeWidth)" height="20" rx="0" fill="#007EC6" />
<rect width="52" height="20" rx="0" fill="#555" />
</g>
<g fill="#fff" text-anchor="left" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="6" y="15" fill="#010101" fill-opacity=".3">$(SvgBadgeLabel)</text>
<text x="6" y="14">$(SvgBadgeLabel)</text>
<text x="60" y="15" fill="#010101" fill-opacity=".3">$(SvgBadgeValue)</text>
<text x="60" y="14">$(SvgBadgeValue)</text>
</g>
</svg>
]]>
</SvgBadgeContent>
</PropertyGroup>
<WriteLinesToFile File="$(SvgBadgeOutputPath)" Lines="$(SvgBadgeContent)" Overwrite="true" />
</Target>
<Target Name="Build" DependsOnTargets="PrepareForBuild;ResolveProjectReferences;GetTargetPath">
<DownloadFile Condition=" ! Exists('$(DotNetRuntimeArchive)')"
SourceUrl="$(DotNetRuntimeDownloadUrl)$(DotNetAssetRootAccessTokenSuffix)"
DestinationFolder="$(BaseIntermediateOutputPath)"

View File

@ -12,6 +12,7 @@
<PackageId>AspNetCoreRuntime.$(TrimmedVersion).$(SharedFxArchitecture)</PackageId>
<NoPackageAnalysis>true</NoPackageAnalysis>
<DotNetUnpackFolder>$(RepositoryRoot)obj\ar\$(SharedFxRid)\</DotNetUnpackFolder>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>
@ -48,4 +49,4 @@
<Target Name="CoreCompile" />
<Target Name="CreateManifestResourceNames" />
</Project>
</Project>

View File

@ -12,4 +12,14 @@
<SignAssembly>true</SignAssembly>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,17 @@
<Project>
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<ItemGroup>
<DotNetCoreRuntime Include="$(MicrosoftNETCoreAppPackageVersion)" />
</ItemGroup>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<Description>Invoke Node.js modules at runtime in ASP.NET Core applications.</Description>
<TargetFramework>netcoreapp3.0</TargetFramework>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<Description>Helpers for building single-page applications on ASP.NET MVC Core.</Description>
<TargetFramework>netcoreapp3.0</TargetFramework>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<Description>Helpers for building single-page applications on ASP.NET MVC Core.</Description>
<TargetFramework>netcoreapp3.0</TargetFramework>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;diagnostics;entityframeworkcore</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -8,6 +8,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>diagnostics;healthchecks;entityframeworkcore</PackageTags>
<IsProductPackage>true</IsProductPackage>
<BaseNamespace>Microsoft.Extensions.Diagnostics.HealthChecks</BaseNamespace>
</PropertyGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;diagnostics</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<ItemGroup>
<DotNetCoreRuntime Include="$(MicrosoftNETCoreApp30PackageVersion)" />
<DotNetCoreRuntime Condition="'$(OS)' == 'Windows_NT'" Include="$(MicrosoftNETCoreApp30PackageVersion)" Arch="x86" />

View File

@ -19,4 +19,13 @@
<SharedSourceRoot>$(MSBuildThisFileDirectory)..\Shared\</SharedSourceRoot>
</PropertyGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -2,4 +2,16 @@
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<PropertyGroup>
<EnableBenchmarkValidation>true</EnableBenchmarkValidation>
<VSTestVerboseOutput Condition="'$(CI)' == 'true'">true</VSTestVerboseOutput>

View File

@ -2,6 +2,7 @@
<PropertyGroup>
<Description>CSharp Analyzers for ASP.NET Core MVC.</Description>
<PackageTags>aspnetcore;aspnetcoremvc</PackageTags>
<IsProductPackage>true</IsProductPackage>
<TargetFramework>netstandard1.3</TargetFramework>
<IncludeBuildOutput>false</IncludeBuildOutput>

View File

@ -2,6 +2,7 @@
<PropertyGroup>
<Description>CSharp Analyzers for ASP.NET Core MVC.</Description>
<PackageTags>aspnetcore;aspnetcoremvc</PackageTags>
<IsProductPackage>true</IsProductPackage>
<TargetFramework>netstandard1.3</TargetFramework>
<IncludeBuildOutput>false</IncludeBuildOutput>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;aspnetcoremvc;aspnetcoremvctesting</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -15,6 +15,7 @@
<NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
<PackageId>$(MSBuildProjectName)</PackageId>
<PackageTags>Build Tasks;MSBuild;Swagger;Open API;code generation; Web API client</PackageTags>
<IsProductPackage>true</IsProductPackage>
<PackageVersion>$(ExperimentalPackageVersion)</PackageVersion>
<RootNamespace>$(AssemblyName)</RootNamespace>
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>

View File

@ -7,5 +7,7 @@
<PropertyGroup>
<!-- Required to make /t:Restore happy, but not really used for anything else. -->
<TargetFramework>netcoreapp3.0</TargetFramework>
<OutputPath>$(InstallersOutputPath)</OutputPath>
</PropertyGroup>
</Project>

View File

@ -23,4 +23,13 @@
<PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
</ItemGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,8 +1,17 @@
<Project>
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreApp30PackageVersion)</RuntimeFrameworkVersion>
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
<!-- aspnet/BuildTools#662 Don't police what version of NetCoreApp we use -->
<NETCoreAppMaximumVersion>99.9</NETCoreAppMaximumVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<ItemGroup>
<DotNetCoreRuntime Include="$(MicrosoftNETCoreApp30PackageVersion)" />
</ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -5,9 +5,9 @@
<TargetFramework>netcoreapp3.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore;authentication;security</PackageTags>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.AspNetCore.Authentication" />
<Reference Include="Microsoft.IdentityModel.Protocols.WsFederation" />

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<ItemGroup>
<DotNetCoreRuntime Include="$(MicrosoftNETCoreAppPackageVersion)" />
<DotNetCoreRuntime Condition="'$(OS)' == 'Windows_NT'" Include="$(MicrosoftNETCoreAppPackageVersion)" Arch="x86" />

View File

@ -6,6 +6,7 @@
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore</PackageTags>
<NoWarn>CS1591;$(NoWarn)</NoWarn>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -1,6 +1,11 @@
<Project>
<Import Project="..\..\..\build\dependencies.props" />
<Import Project="..\..\..\build\runtimes.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<PropertyGroup>
<!-- TODO: temporary while we reorganize source code and refactor dependency management -->
<DisablePackageReferenceRestrictions>true</DisablePackageReferenceRestrictions>

View File

@ -36,8 +36,8 @@
<Target Name="GetNativeArtifactsInfo">
<PropertyGroup>
<AncmPackageOutputPath>$(BuildDir)Microsoft.AspNetCore.AspNetCoreModule.$(PackageVersion).nupkg</AncmPackageOutputPath>
<AncmV2PackageOutputPath>$(BuildDir)Microsoft.AspNetCore.AspNetCoreModuleV2.$(PackageVersion).nupkg</AncmV2PackageOutputPath>
<AncmPackageOutputPath>$(ProductPackageOutputPath)Microsoft.AspNetCore.AspNetCoreModule.$(PackageVersion).nupkg</AncmPackageOutputPath>
<AncmV2PackageOutputPath>$(ProductPackageOutputPath)Microsoft.AspNetCore.AspNetCoreModuleV2.$(PackageVersion).nupkg</AncmV2PackageOutputPath>
</PropertyGroup>
<ItemGroup Condition=" '$(OS)' == 'Windows_NT' ">
@ -74,13 +74,13 @@
OutputPath="$(AspNetCoreModuleV2PropsOutputFile)" />
<PackNuspec NuspecPath="$(MSBuildThisFileDirectory)..\nuget\Microsoft.AspNetCore.AspNetCoreModule.nuspec"
DestinationFolder="$(BuildDir)"
DestinationFolder="$(ProductPackageOutputPath)"
Properties="version=$(PackageVersion);Configuration=$(Configuration)"
Overwrite="true"
BasePath="$(RepositoryRoot)" />
<PackNuspec NuspecPath="$(MSBuildThisFileDirectory)..\nuget\Microsoft.AspNetCore.AspNetCoreModuleV2.nuspec"
DestinationFolder="$(BuildDir)"
DestinationFolder="$(ProductPackageOutputPath)"
Properties="version=$(PackageVersion);Configuration=$(Configuration);AspNetCoreModuleOutOfProcessVersion=$(AspNetCoreModuleOutOfProcessVersion);AspNetCoreModuleV2Props=$(AspNetCoreModuleV2PropsOutputFile)"
Overwrite="true"
BasePath="$(RepositoryRoot)" />

View File

@ -7,6 +7,7 @@
<PackageTags>aspnetcore;kestrel</PackageTags>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>CS1591;$(NoWarn)</NoWarn>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -18,4 +18,14 @@
<LangVersion>latest</LangVersion>
<SharedSourceRoot>$(MSBuildThisFileDirectory)..\Shared\</SharedSourceRoot>
</PropertyGroup>
<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
<ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
<InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -2,4 +2,16 @@
<PropertyGroup>
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<!--
By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-->
<IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
<PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
</PropertyGroup>
</Project>

View File

@ -1,6 +1,10 @@
<Project>
<Import Project="dependencies.props" />
<PropertyGroup>
<OverridePackageOutputPath>false</OverridePackageOutputPath>
</PropertyGroup>
<PropertyGroup>
<EnableBenchmarkValidation>true</EnableBenchmarkValidation>
</PropertyGroup>

View File

@ -11,6 +11,8 @@
</ItemGroup>
<PropertyGroup>
<ProductPackageOutputPath>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)..\..\..\artifacts\$(Configuration)\packages\product\'))</ProductPackageOutputPath>
<!-- Pass the Java Package Version down to Gradle -->
<GradleOptions>-PpackageVersion="$(JavaPackageVersion)"</GradleOptions>
<!-- Disable gradle daemon on CI since the CI seems to try to wait for the daemon to shut down, which it doesn't do :) -->
@ -83,7 +85,7 @@
<NPMPackage Update="%(NPMPackage)">
<PackageJson>$([System.IO.Path]::Combine(%(NPMPackage.FullPath), 'package.json'))</PackageJson>
<OutputTar>$([System.IO.Path]::Combine(%(NPMPackage.FullPath), '%(NPMPackage.TarName)-$(PackageVersion).tgz'))</OutputTar>
<ArtifactPath>$([System.IO.Path]::Combine($(BuildDir), '%(NPMPackage.TarName)-$(PackageVersion).tgz'))</ArtifactPath>
<ArtifactPath>$([System.IO.Path]::Combine($(ProductPackageOutputPath), '%(NPMPackage.TarName)-$(PackageVersion).tgz'))</ArtifactPath>
</NPMPackage>
<ArtifactInfo Include="%(NPMPackage.ArtifactPath)">
@ -101,19 +103,19 @@
<Target Name="GetJavaArtifactInfo" DependsOnTargets="DetectJava" Condition=" '$(SkipJavaClient)' != 'true' ">
<ItemGroup Condition="'$(HasJava)' == 'true'">
<ArtifactInfo Include="$(BuildDir)\%(Jars.Identity)">
<ArtifactInfo Include="$(ProductPackageOutputPath)\%(Jars.Identity)">
<ArtifactType>JavaJar</ArtifactType>
<Version>$(JavaClientVersion)</Version>
<Category>ship</Category>
</ArtifactInfo>
<ArtifactInfo Include="$(BuildDir)\%(PomFile.Identity)">
<ArtifactInfo Include="$(ProductPackageOutputPath)\%(PomFile.Identity)">
<ArtifactType>MavenPOM</ArtifactType>
<Version>$(JavaClientVersion)</Version>
<Category>ship</Category>
</ArtifactInfo>
<FilesToSign Include="$(BuildDir)\%(Jars.Identity)" Certificate="$(JarSigningCertName)" />
<FilesToExcludeFromSigning Include="$(BuildDir)\%(PomFile.Identity)" />
<FilesToSign Include="$(ProductPackageOutputPath)\%(Jars.Identity)" Certificate="$(JarSigningCertName)" />
<FilesToExcludeFromSigning Include="$(ProductPackageOutputPath)\%(PomFile.Identity)" />
</ItemGroup>
</Target>
@ -174,7 +176,7 @@
<Message Text="Packing Java client" Importance="high" />
<Message Text="> gradlew $(GradleOptions) createPackage" Importance="high" />
<Exec Command="./gradlew $(GradleOptions) createPackage" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" />
<Copy SourceFiles="$(RepositoryRoot)clients/java/signalr\build\libs\%(JavaBuildFiles.Identity)" DestinationFolder="$(BuildDir)" />
<Copy SourceFiles="$(RepositoryRoot)clients/java/signalr\build\libs\%(JavaBuildFiles.Identity)" DestinationFolder="$(ProductPackageOutputPath)" />
</Target>
</Project>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<Description>Client for ASP.NET Core Connection Handlers</Description>
<TargetFrameworks>netstandard2.0;netcoreapp3.0</TargetFrameworks>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -4,6 +4,7 @@
<Description>Client for ASP.NET Core SignalR</Description>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>Microsoft.AspNetCore.SignalR.Client</RootNamespace>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -3,6 +3,7 @@
<PropertyGroup>
<Description>Client for ASP.NET Core SignalR</Description>
<TargetFramework>netstandard2.0</TargetFramework>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -5,6 +5,7 @@
<TargetFrameworks>netstandard2.0;netcoreapp3.0</TargetFrameworks>
<RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -5,6 +5,7 @@
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

View File

@ -5,6 +5,7 @@
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsProductPackage>true</IsProductPackage>
</PropertyGroup>
<ItemGroup>

Some files were not shown because too many files have changed in this diff Show More