Skip to content

Replace Internal.AspNetCore.Sdk with Microsoft.DotNet.Arcade.Sdk #10674

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 45 commits into from
Jun 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
6e733eb
Update build.cmd to install .NET Core into $repoRoot/.dotnet instead …
natemcmaster May 30, 2019
21e6e53
Move restore sources from build/sources.props into eng/Versions.props…
natemcmaster May 30, 2019
dd0837e
Remove usages of RuntimeFrameworkVersion in tests and build
natemcmaster May 30, 2019
4d8826b
Update Blazor VSIX to use Arcade VSIX tools
natemcmaster May 30, 2019
daba69b
Rename Common.Tests to IIS.Common.TestLib and make it a test asset
natemcmaster May 30, 2019
8f0e9f9
Remove custom versions props for ANCM installer code
natemcmaster May 30, 2019
f523e22
fixup! Update build.cmd to install .NET Core into $repoRoot/.dotnet i…
natemcmaster May 30, 2019
32f98b0
Remove duplicate references to xunit and remove usages of IsTestProject
natemcmaster May 30, 2019
d0ac2b5
Remove duplicate references to Internal.AspNetCore.Analyzers
natemcmaster May 30, 2019
ac47d18
Import Arcade.Sdk props and targets and remove custom versioning props
natemcmaster May 30, 2019
4d6ecd0
Remove references to Internal.AspNetCore.Sdk
natemcmaster May 30, 2019
5ba9bb4
Rename PackageLicenseType => PackageLicenseExpression
natemcmaster May 30, 2019
c6ef04c
Remove dependency on tasks in Internal.AspNetCore.Sdk, add ref to Int…
natemcmaster May 30, 2019
dac5076
Use Arcade's nuspec support
natemcmaster May 30, 2019
a5ddd7a
Reset DebugType
natemcmaster May 30, 2019
2630f62
Rename SignalR.Client.FunctionalTests to SignalR.Client.FunctionalTes…
natemcmaster May 30, 2019
7eca3f3
Add more workarounds for issues with Arcade
natemcmaster May 31, 2019
9565f1a
fixup! Update Blazor VSIX to use Arcade VSIX tools
natemcmaster May 31, 2019
586086c
fixup! Use Arcade's nuspec support
natemcmaster May 31, 2019
ccd642d
fixup! Use Arcade's nuspec support
natemcmaster May 31, 2019
d478f0c
fixup! Import Arcade.Sdk props and targets and remove custom versioni…
natemcmaster May 31, 2019
d092e03
Merge branch 'master' into namc/arcade
natemcmaster May 31, 2019
48a673d
fixup! Remove duplicate references to xunit and remove usages of IsTe…
natemcmaster May 31, 2019
58a57fe
Don't use PackageVersion for debproj - it messes up dotnet restore
natemcmaster May 31, 2019
7646aae
Override Arcade's default version of Microsoft.VSSDK.BuildTools and s…
natemcmaster May 31, 2019
89d267d
Revert unintention change to SignalR.sln
natemcmaster May 31, 2019
4548bfb
Fixes for changes to property evaluation order
natemcmaster May 31, 2019
b77b839
Update BaseLineGenerator to netcoreapp3.0
natemcmaster May 31, 2019
8292fa1
React to changes in evaluation order in RPM files and quirks in using…
natemcmaster May 31, 2019
3cdac55
Fixup VSIX versioning and use DeployProjectOutput instead of DeployEx…
natemcmaster May 31, 2019
bdc0611
Fix tests
natemcmaster May 31, 2019
fb786e2
Merge branch 'master' into namc/arcade
natemcmaster May 31, 2019
db331f3
Revert change to ci.yml and repotasks.csproj
natemcmaster May 31, 2019
af5d6f0
Merge branch 'master' into namc/arcade
natemcmaster May 21, 2019
b89b3a5
fixup! Import Arcade.Sdk props and targets and remove custom versioni…
natemcmaster Jun 5, 2019
42a934c
Fixup bad merge from master
natemcmaster Jun 5, 2019
136c7d5
Merge branch 'master' into namc/arcade
natemcmaster Jun 5, 2019
3b0bf08
Update Microsoft.Extensions.ApiDescription.Server to react to changes…
natemcmaster Jun 5, 2019
3cb421e
Undo rename
natemcmaster Jun 6, 2019
52b2583
Merge branch 'master' into namc/arcade
natemcmaster Jun 6, 2019
828e491
Fix wixproj
natemcmaster Jun 6, 2019
4f1371a
Fix wix installer
natemcmaster Jun 6, 2019
780f27e
Workaround the changes to evaluation order for the PackageVersion pro…
natemcmaster Jun 7, 2019
cdef6fd
workaround aspnet/AspNetCore#11009
natemcmaster Jun 7, 2019
03ac5a5
Fix package ID for blazor
natemcmaster Jun 8, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .azure/pipelines/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ jobs:
agentOs: Windows
steps:
- script: "echo ##vso[build.addbuildtag]daily-build"
condition: and(ne(variables['Build.Reason'], 'PullRequest'), ne(variables['IsFinalBuild'], 'true'))
condition: and(ne(variables['Build.Reason'], 'PullRequest'), notin(variables['DotNetFinalVersionKind'], 'release', 'prerelease'))
displayName: 'Set CI tags'
- script: "echo ##vso[build.addbuildtag]release-candidate"
condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['IsFinalBuild'], 'true'))
condition: and(ne(variables['Build.Reason'], 'PullRequest'), in(variables['DotNetFinalVersionKind'], 'release', 'prerelease'))
displayName: 'Set CI tags'
# !!! NOTE !!! Some of these steps have disabled code signing.
# This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even
Expand Down
140 changes: 43 additions & 97 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,65 +1,48 @@
<Project>
<Import Project="version.props" />

<!--
These imports look funny.
Eventually they will be replaced by a simplified import that brings in
the entire Arcade SDK. For now, we're moving onto Arcade one piece at a time.
-->
<Import Project="../tools/DefaultVersions.Generated.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="eng\Versions.props" />
<Import Project="../tools/Compiler.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(UsingToolMicrosoftNetCompilers)' == 'true'"/>

<!-- Defines project type conventions. -->
<PropertyGroup>
<Product>Microsoft ASP.NET Core</Product>
<RepoRelativeProjectDir>$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectDirectory)))</RepoRelativeProjectDir>

<IsReferenceAssemblyProject>false</IsReferenceAssemblyProject>
<IsReferenceAssemblyProject Condition="$(MSBuildProjectDirectory.EndsWith('ref'))">true</IsReferenceAssemblyProject>
<OutDirName Condition="'$(IsReferenceAssemblyProject)' == 'true'">$(MSBuildProjectName)-ref</OutDirName>

<IsBenchmarkProject Condition="$(MSBuildProjectName.EndsWith('.Performance')) OR $(RepoRelativeProjectDir.Contains('perf'))">true</IsBenchmarkProject>
<IsSpecificationTestProject Condition="$(MSBuildProjectName.EndsWith('.Specification.Tests'))">true</IsSpecificationTestProject>
<IsUnitTestProject>false</IsUnitTestProject>
<IsUnitTestProject Condition="'$(IsSpecificationTestProject)' != 'true' and ( $(MSBuildProjectName.EndsWith('Tests')) or $(MSBuildProjectName.EndsWith('.Test')) or $(MSBuildProjectName.EndsWith('.FunctionalTest')) )">true</IsUnitTestProject>
<IsTestAssetProject Condition="$(RepoRelativeProjectDir.Contains('testassets'))">true</IsTestAssetProject>
<IsSampleProject Condition="$(RepoRelativeProjectDir.Contains('sample'))">true</IsSampleProject>
<IsAnalyzersProject Condition="$(MSBuildProjectName.EndsWith('.Analyzers'))">true</IsAnalyzersProject>
<IsShipping Condition="'$(IsSampleProject)' == 'true' or '$(IsTestAssetProject)' == 'true' or '$(IsBenchmarkProject)' == 'true' or '$(IsUnitTestProject)' == 'true'">false</IsShipping>
</PropertyGroup>

<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />

<Authors>Microsoft</Authors>
<Company>Microsoft Corporation.</Company>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<NeutralLanguage>en-US</NeutralLanguage>
<PropertyGroup>

<!-- Package settings -->
<Product>Microsoft ASP.NET Core</Product>
<StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId>

<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>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>

<!-- Contact email address for NuGet packages and Linux installers. -->
<MaintainerEmail>[email protected]</MaintainerEmail>

<PackageIconUrl>https://go.microsoft.com/fwlink/?LinkID=288859</PackageIconUrl>
<PackageProjectUrl>https://asp.net</PackageProjectUrl>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<Serviceable>true</Serviceable>
<NuspecBasePath>$(MSBuildProjectDirectory)</NuspecBasePath>

<IncludeSource>false</IncludeSource>
<IncludeSymbols>true</IncludeSymbols>

<DefaultNetCoreTargetFramework>netcoreapp$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</DefaultNetCoreTargetFramework>

<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>

<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
<TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName>
<!--
Archives and installers using this prefix are intended for internal-use only.
For example, this .zip is used to handoff bits to partner teams who then incorporate our shared frameworks
into their own installers.
-->
<InternalInstallerBaseName>$(RuntimeInstallerBaseName)-internal</InternalInstallerBaseName>
</PropertyGroup>

<!-- Warnings and errors -->
<PropertyGroup>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<!--
Suppress NuGet warning about upcoming deprecation of PackageLicenseUrl. When embedding licenses are supported,
replace PackageLicenseUrl with PackageLicenseExpression.
-->
<NoWarn>$(NoWarn);NU5125</NoWarn>
<!-- Suppress NuGet warnings about using SemVer 2.0. -->
<NoWarn>$(NoWarn);NU5105</NoWarn>
<!-- Don't make missing XML docs a fatal build error, but still surface so we have visibility into undocumented APIs. -->
<WarningsNotAsErrors>$(WarningsNotAsErrors);CS1591</WarningsNotAsErrors>
<!-- xUnit1004 = warns about skipped tests. Make this a non-fatal build warning. -->
Expand All @@ -75,28 +58,36 @@
<GoogleTestSubmoduleRoot>$(RepoRoot)src\submodules\googletest\</GoogleTestSubmoduleRoot>
<!-- Embed source files that are not tracked by the source control manager in the PDB. -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<!-- Additional assembly attributes are already configured to include the source revision ID. -->
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>

<!-- These project types are disabled because the presence of a PackageReference causes issues for NuGet. -->
<DisableSourceLink Condition="'$(MSBuildProjectExtension)' == '.debproj' OR '$(MSBuildProjectExtension)' == '.rpmproj'">true</DisableSourceLink>
</PropertyGroup>

<ItemGroup Condition="'$(DisableSourceLink)' != 'true'">
<!-- See https://github.com/dotnet/sourcelink -->
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="$(MicrosoftSourceLinkGitHubPackageVersion)" PrivateAssets="All" AllowExplicitReference="true" />
<PackageReference Include="Microsoft.SourceLink.Vsts.Git" Version="$(MicrosoftSourceLinkVstsGitPackageVersion)" PrivateAssets="All" AllowExplicitReference="true" />
</ItemGroup>
<PropertyGroup>
<SharedFxName>Microsoft.AspNetCore.App</SharedFxName>
<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>

<TargetingPackName>Microsoft.AspNetCore.App.Ref</TargetingPackName>
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
<TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName>

<!-- Used to only produce targeting pack installers/packages once per major.minor. -->
<IsTargetingPackBuilding Condition="'$(IsServicingBuild)' == 'true' AND '$(DotNetBuildFromSource)' != 'true'">false</IsTargetingPackBuilding>

<!--
Archives and installers using this prefix are intended for internal-use only.
For example, this .zip is used to handoff bits to partner teams who then incorporate our shared frameworks
into their own installers.
-->
<InternalInstallerBaseName>$(RuntimeInstallerBaseName)-internal</InternalInstallerBaseName>
</PropertyGroup>

<ItemGroup Condition="'$(DisablePubternalApiCheck)' != 'true' AND '$(IsTestProject)' != 'true' AND '$(IsBenchmarkProject)' != 'true' AND '$(IsTestAssetProject)' != 'true'">
<PackageReference Include="Internal.AspNetCore.Analyzers" PrivateAssets="All" Version="$(InternalAspNetCoreAnalyzersPackageVersion)" AllowExplicitReference="true" />
<PackageReference Include="Internal.AspNetCore.Analyzers" PrivateAssets="All" Version="$(InternalAspNetCoreAnalyzersPackageVersion)" IsImplicitlyDefined="true" />
</ItemGroup>

<!-- Compilation options which apply to all languages. Language-specific options should be set in eng/targets/$(lang).Common.props -->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<PlatformName Condition=" '$(PlatformName)' == '' ">$(Platform)</PlatformName>
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win</TargetOsName>
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx</TargetOsName>
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux</TargetOsName>
Expand All @@ -119,73 +110,28 @@
<!-- Make error messages clickable in VS Code's console -->
<GenerateFullPaths Condition="'$(VSCODE_CWD)' != '' OR '$(TERM_PROGRAM)' == 'vscode'">true</GenerateFullPaths>

<!-- Suppress the message about using a preview version of .NET Core SDK. We are okay with this and don't need the warning. -->
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>

<!-- Fixes a common error in targets implementing a NoBuild mode. -->
<BuildProjectReferences Condition=" '$(NoBuild)' == 'true' ">false</BuildProjectReferences>

<IsReferenceAssemblyProject>false</IsReferenceAssemblyProject>
<IsReferenceAssemblyProject Condition="$(MSBuildProjectDirectory.EndsWith('ref'))">true</IsReferenceAssemblyProject>
<OutDirName Condition="'$(IsReferenceAssemblyProject)' == 'true'">$(MSBuildProjectName)-ref</OutDirName>
</PropertyGroup>

<Import Project="build\sources.props" />

<!-- Artifacts layout -->
<PropertyGroup>
<ArtifactsDir>$(MSBuildThisFileDirectory)artifacts\</ArtifactsDir>
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
<ArtifactsBinDir>$(ArtifactsDir)bin\</ArtifactsBinDir>
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
<ArtifactsPackagesDir>$(ArtifactsDir)packages\$(Configuration)\</ArtifactsPackagesDir>
<ArtifactsShippingPackagesDir>$(ArtifactsPackagesDir)Shipping\</ArtifactsShippingPackagesDir>
<ArtifactsNonShippingPackagesDir>$(ArtifactsPackagesDir)NonShipping\</ArtifactsNonShippingPackagesDir>
<InstallersOutputPath>$(ArtifactsDir)installers\$(Configuration)\</InstallersOutputPath>
<VisualStudioSetupOutputPath>$(ArtifactsDir)VSSetup\$(Configuration)\</VisualStudioSetupOutputPath>
</PropertyGroup>

<!-- Ensure these output paths exist. -->
<ItemGroup>
<CreateDirectory Include="$(ArtifactsShippingPackagesDir)" />
<CreateDirectory Include="$(ArtifactsNonShippingPackagesDir)" />
<CreateDirectory Include="$(InstallersOutputPath)" />
<CreateDirectory Include="$(VisualStudioSetupOutputPath)" />
</ItemGroup>

<PropertyGroup>
<OutDirName Condition=" '$(OutDirName)' == '' ">$(MSBuildProjectName)</OutDirName>

<BaseOutputPath Condition=" '$(BaseOutputPath)' == '' ">$([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\'))</BaseOutputPath>
<OutputPath Condition=" '$(PlatformName)' == 'AnyCPU' ">$(BaseOutputPath)$(Configuration)\</OutputPath>
<OutputPath Condition=" '$(PlatformName)' != 'AnyCPU' ">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>

<BaseIntermediateOutputPath Condition=" '$(BaseIntermediateOutputPath)' == '' ">$([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(OutDirName)\'))</BaseIntermediateOutputPath>
<IntermediateOutputPath Condition=" '$(PlatformName)' == 'AnyCPU' ">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
<IntermediateOutputPath Condition=" '$(PlatformName)' != 'AnyCPU' ">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>

<!-- The location of the local installation of the .NET Core shared framework. -->
<PropertyGroup>
<LocalDotNetRoot Condition="'$(TargetOSName)' == 'win'">$(RepoRoot).dotnet\$(TargetArchitecture)\</LocalDotNetRoot>
<LocalDotNetRoot Condition="'$(TargetOSName)' != 'win'">$(RepoRoot).dotnet\</LocalDotNetRoot>
<LocalDotNetRoot>$(RepoRoot).dotnet\</LocalDotNetRoot>
<!-- Override the SDK default and point to local .dotnet folder. -->
<NetCoreTargetingPackRoot>$(LocalDotNetRoot)packs\</NetCoreTargetingPackRoot>
</PropertyGroup>

<!-- Defines project type conventions. -->
<PropertyGroup>
<RepoRelativeProjectDir>$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectDirectory)))</RepoRelativeProjectDir>

<IsBenchmarkProject Condition="$(MSBuildProjectName.EndsWith('.Performance')) OR $(RepoRelativeProjectDir.Contains('perf'))">true</IsBenchmarkProject>
<IsTestProject Condition="$(MSBuildProjectName.EndsWith('Tests')) OR $(MSBuildProjectName.EndsWith('.Test'))">true</IsTestProject>
<IsTestAssetProject Condition="$(RepoRelativeProjectDir.Contains('testassets'))">true</IsTestAssetProject>
<IsSampleProject Condition="$(RepoRelativeProjectDir.Contains('sample'))">true</IsSampleProject>
<IsAnalyzersProject Condition="$(MSBuildProjectName.EndsWith('.Analyzers'))">true</IsAnalyzersProject>
<IsSpecificationTestProject Condition="$(MSBuildProjectName.EndsWith('.Specification.Tests'))">true</IsSpecificationTestProject>

</PropertyGroup>

<Import Project="build\tasks\RepoTasks.tasks" Condition="'$(MSBuildProjectName)' != 'RepoTasks' AND '$(DesignTimeBuild)' != 'true'" />

<PropertyGroup>
Expand Down
56 changes: 19 additions & 37 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<Project>
<!-- Properties which should be set after the project has been evaluated -->

<PropertyGroup>
<!--
Expand All @@ -12,10 +11,27 @@
By default, assemblies which are only in the Microsoft.AspNetCore.App shared framework are not available as NuGet packages.
-->
<IsPackable Condition="'$(IsAspNetCoreApp)' == 'true' AND '$(IsShippingPackage)' != 'true'">false</IsPackable>
</PropertyGroup>

<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<!-- Properties which should be set after the project has been evaluated -->

<PropertyGroup Label="Versioning settings">
<!-- The 'human friendly' version to display in installers. In pre-release builds, this might be "2.0.7 Preview 2 Build 12356". In final builds, it should be "2.0.7" -->
<BrandingVersionSuffix>$(PreReleaseBrandingLabel) Build $(VersionSuffix)</BrandingVersionSuffix>
<PackageBrandingVersion>$(VersionPrefix)</PackageBrandingVersion>
<PackageBrandingVersion Condition=" '$(VersionSuffix)' != '' ">$(PackageBrandingVersion) $(BrandingVersionSuffix.Trim())</PackageBrandingVersion>

<PackageVersion Condition=" '$(PackageVersion)' == '' ">$(Version)</PackageVersion>
<SharedFxVersion>$(PackageVersion)</SharedFxVersion>

<PackageOutputPath Condition=" '$(IsShippingPackage)' == 'true' ">$(ArtifactsShippingPackagesDir)</PackageOutputPath>
<PackageOutputPath Condition=" '$(IsShippingPackage)' != 'true' ">$(ArtifactsNonShippingPackagesDir)</PackageOutputPath>
<TargetingPackVersion>$(TargetingPackVersionPrefix)</TargetingPackVersion>
<TargetingPackVersion Condition=" '$(VersionSuffix)' != '' ">$(TargetingPackVersionPrefix)-$(VersionSuffix)</TargetingPackVersion>

<SharedFxProductName>$(Product) $(PackageVersion) Shared Framework</SharedFxProductName>
</PropertyGroup>

<PropertyGroup>
<!-- Analyzers package are special. In general, they should not have dependencies in the nuspec. Analyzer assemblies are not meant to be used for compilation or runtime. -->
<SuppressDependenciesWhenPacking Condition="'$(SuppressDependenciesWhenPacking)' == '' AND '$(IsAnalyzersProject)' == 'true'">true</SuppressDependenciesWhenPacking>
</PropertyGroup>
Expand Down Expand Up @@ -68,14 +84,9 @@
<HasReferenceAssembly Condition="'$(HasReferenceAssembly)' == '' AND '$(IsProjectReferenceProvider)' == 'true'">true</HasReferenceAssembly>
<HasReferenceAssembly Condition="'$(HasReferenceAssembly)' == ''">false</HasReferenceAssembly>

<!-- Suppress KoreBuild warnings about the mismatch of repo version and local project version. The versioning in this mega repo is sufficiently complicated that KoreBuild's validation isn't helpful. -->
<VerifyVersion>false</VerifyVersion>

<IsPackable Condition="'$(IsPackable)' == '' AND ('$(IsImplementationProject)' == 'true' OR '$(IsAnalyzersProject)' == 'true') ">true</IsPackable>
<IsPackable Condition="'$(IsPackable)' == '' ">false</IsPackable>

<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>

<BuildHelixPayload Condition="'$(BuildHelixPayload)' == '' AND '$(IsTestProject)' == 'true'">true</BuildHelixPayload>
</PropertyGroup>

Expand Down Expand Up @@ -104,35 +115,6 @@

</ItemGroup>

<!-- Copied from https://github.com/dotnet/arcade/blob/9d0fd805448082c8d55e2434607b481bca70a146/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets#L12-L38 -->
<Target Name="_TranslateAzureDevOpsUrlToGitHubUrl"
DependsOnTargets="$(SourceControlManagerUrlTranslationTargets)"
BeforeTargets="SourceControlManagerPublishTranslatedUrls">

<!-- The convention for names of Azure DevOps repositories mirrored from GitHub is "{GitHub org name}-{GitHub repository name}" -->
<PropertyGroup>
<!-- There are quite a few git repo forms:
https://[email protected]/dnceng/internal/_git/dotnet-arcade-services
https://dev.azure.com/dnceng/internal/_git/dotnet-arcade-services
https://dnceng.visualstudio.com/internal/_git/dotnet-arcade-services
[email protected]:v3/dnceng/internal/dotnet-arcade-services
[email protected]:v3/dnceng/internal/dotnet-arcade-services
-->
<_Pattern>(https://dnceng%40dev\.azure\.com/dnceng/internal/_git|https://dev\.azure\.com/dnceng/internal/_git|https://dnceng\.visualstudio\.com/internal/_git|dnceng%40vs-ssh\.visualstudio\.com:v3/dnceng/internal|git%40ssh\.dev\.azure\.com:v3/dnceng/internal)/([^/-]+)-(.+)</_Pattern>
<_Replacement>https://github.com/$2/$3</_Replacement>
</PropertyGroup>

<PropertyGroup>
<ScmRepositoryUrl>$([System.Text.RegularExpressions.Regex]::Replace($(ScmRepositoryUrl), $(_Pattern), $(_Replacement)))</ScmRepositoryUrl>
</PropertyGroup>

<ItemGroup>
<SourceRoot Update="@(SourceRoot)">
<ScmRepositoryUrl>$([System.Text.RegularExpressions.Regex]::Replace(%(SourceRoot.ScmRepositoryUrl), $(_Pattern), $(_Replacement)))</ScmRepositoryUrl>
</SourceRoot>
</ItemGroup>
</Target>

<Import Project="eng\Workarounds.targets" />
<Import Project="eng\targets\ResolveIisReferences.targets" Condition=" '$(MSBuildProjectExtension)' != '.vcxproj' " />
<Import Project="eng\targets\Cpp.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'" />
Expand Down
Loading