forked from yanw/App_win_iot_V2.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
3.5 KiB
67 lines
3.5 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project>
|
|
<PropertyGroup>
|
|
<_SourceLinkGitHubAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net461\Microsoft.SourceLink.GitHub.dll</_SourceLinkGitHubAssemblyFile>
|
|
<_SourceLinkGitHubAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\netcoreapp2.0\Microsoft.SourceLink.GitHub.dll</_SourceLinkGitHubAssemblyFile>
|
|
</PropertyGroup>
|
|
|
|
<UsingTask TaskName="Microsoft.SourceLink.GitHub.GetSourceLinkUrl" AssemblyFile="$(_SourceLinkGitHubAssemblyFile)"/>
|
|
<UsingTask TaskName="Microsoft.SourceLink.GitHub.TranslateRepositoryUrls" AssemblyFile="$(_SourceLinkGitHubAssemblyFile)"/>
|
|
|
|
<PropertyGroup>
|
|
<SourceLinkUrlInitializerTargets>$(SourceLinkUrlInitializerTargets);_InitializeGitHubSourceLinkUrl</SourceLinkUrlInitializerTargets>
|
|
<SourceControlManagerUrlTranslationTargets>$(SourceControlManagerUrlTranslationTargets);TranslateGitHubUrlsInSourceControlInformation</SourceControlManagerUrlTranslationTargets>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="_InitializeGitHubSourceLinkUrl" Inputs="@(SourceRoot)" Outputs="|%(Identity)|">
|
|
<!--
|
|
The task calculates SourceLink URL for a given SourceRoot.
|
|
|
|
If the SourceRoot is associated with a git repository with a recognized domain the <see cref="SourceLinkUrl"/>
|
|
output property is set to the content URL corresponding to the domain, otherwise it is set to string "N/A".
|
|
|
|
Recognized domains are specified via Hosts (initialized from SourceLinkGitHubHost item group).
|
|
In addition, if SourceLinkHasSingleProvider is true an implicit host is parsed from RepositoryUrl.
|
|
|
|
Example of SourceLinkGitHubHost items:
|
|
|
|
<ItemGroup>
|
|
<SourceLinkGitHubHost Include="github.com" ContentUrl="https://raw.githubusercontent.com"/>
|
|
<SourceLinkGitHubHost Include="mygithub1.com" /> ContentUrl defaults to https://mygithub1.com/raw
|
|
<SourceLinkGitHubHost Include="mygithub2.com:8080" /> ContentUrl defaults to https://mygithub2.com:8080/raw
|
|
</ItemGroup>
|
|
|
|
ContentUrl is optional. If not specified it defaults to "https://{domain}/raw".
|
|
-->
|
|
<Microsoft.SourceLink.GitHub.GetSourceLinkUrl RepositoryUrl="$(PrivateRepositoryUrl)" SourceRoot="@(SourceRoot)" Hosts="@(SourceLinkGitHubHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
|
|
<Output TaskParameter="SourceLinkUrl" PropertyName="_SourceLinkUrlToUpdate"/>
|
|
</Microsoft.SourceLink.GitHub.GetSourceLinkUrl>
|
|
|
|
<ItemGroup>
|
|
<!-- Only update the SourceLinkUrl metadata if the SourceRoot belongs to this source control -->
|
|
<SourceRoot Update="%(Identity)" SourceLinkUrl="$(_SourceLinkUrlToUpdate)" Condition="'$(_SourceLinkUrlToUpdate)' != 'N/A'"/>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!--
|
|
We need to translate ssh URLs to https.
|
|
-->
|
|
<Target Name="TranslateGitHubUrlsInSourceControlInformation">
|
|
|
|
<ItemGroup>
|
|
<_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)"/>
|
|
</ItemGroup>
|
|
|
|
<Microsoft.SourceLink.GitHub.TranslateRepositoryUrls RepositoryUrl="$(ScmRepositoryUrl)" SourceRoots="@(SourceRoot)" Hosts="@(SourceLinkGitHubHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
|
|
<Output TaskParameter="TranslatedRepositoryUrl" PropertyName="ScmRepositoryUrl"/>
|
|
<Output TaskParameter="TranslatedSourceRoots" ItemName="_TranslatedSourceRoot"/>
|
|
</Microsoft.SourceLink.GitHub.TranslateRepositoryUrls>
|
|
|
|
<ItemGroup>
|
|
<SourceRoot Remove="@(SourceRoot)"/>
|
|
<SourceRoot Include="@(_TranslatedSourceRoot)"/>
|
|
</ItemGroup>
|
|
|
|
</Target>
|
|
|
|
</Project>
|
|
|