This repository has been archived by the owner on Dec 23, 2024. It is now read-only.
forked from nosami/visualfsharp
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[master] Update dependencies from dotnet/arcade (dotnet#7706)
* Update dependencies from https://github.com/dotnet/arcade build 20191004.2 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19504.2 * Update dependencies from https://github.com/dotnet/arcade build 20191005.1 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19505.1 * Update dependencies from https://github.com/dotnet/arcade build 20191006.1 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19506.1 * Update dependencies from https://github.com/dotnet/arcade build 20191009.5 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19509.5 * Update dependencies from https://github.com/dotnet/arcade build 20191010.4 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19510.4 * Update dependencies from https://github.com/dotnet/arcade build 20191011.1 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19511.1 * Update dependencies from https://github.com/dotnet/arcade build 20191015.1 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19515.1 * Update dependencies from https://github.com/dotnet/arcade build 20191015.2 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19515.2 * Update dependencies from https://github.com/dotnet/arcade build 20191017.8 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19517.8 * Update dependencies from https://github.com/dotnet/arcade build 20191018.2 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19518.2 * Update dependencies from https://github.com/dotnet/arcade build 20191021.4 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19521.4 * Update dependencies from https://github.com/dotnet/arcade build 20191022.8 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19522.8 * Update dependencies from https://github.com/dotnet/arcade build 20191023.3 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19523.3 * Update dependencies from https://github.com/dotnet/arcade build 20191024.2 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19524.2 * Update dependencies from https://github.com/dotnet/arcade build 20191025.2 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19525.2 * Update dependencies from https://github.com/dotnet/arcade build 20191026.1 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19526.1 * Update dependencies from https://github.com/dotnet/arcade build 20191027.3 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19527.3 * Update dependencies from https://github.com/dotnet/arcade build 20191028.5 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19528.5 * Update dependencies from https://github.com/dotnet/arcade build 20191029.9 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19529.9 * Update dependencies from https://github.com/dotnet/arcade build 20191030.15 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19530.15 * Update dependencies from https://github.com/dotnet/arcade build 20191031.14 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19531.14 * Update dependencies from https://github.com/dotnet/arcade build 20191101.3 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19551.3 * Update dependencies from https://github.com/dotnet/arcade build 20191102.1 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19552.1 * Update dependencies from https://github.com/dotnet/arcade build 20191104.3 - Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19554.3 * work around dotnet/wpf#1718 by not embedding untracked sources * use arcade mechanism of populating package icons
- Loading branch information
1 parent
0f76d9e
commit 2fbc064
Showing
37 changed files
with
927 additions
and
113 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
<Project> | ||
|
||
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" /> | ||
<Import Project="eng\targets\Settings.props" /> | ||
|
||
<PropertyGroup> | ||
<BUILD_IN_FSHARP_REPOSITORY>true</BUILD_IN_FSHARP_REPOSITORY> | ||
</PropertyGroup> | ||
|
||
<!-- directory locations --> | ||
<PropertyGroup> | ||
<FSharpSourcesRoot>$(RepoRoot)src</FSharpSourcesRoot> | ||
<SymStoreDirectory>$(ArtifactsDir)\SymStore</SymStoreDirectory> | ||
<ProtoOutputPath>$(ArtifactsDir)\Bootstrap</ProtoOutputPath> | ||
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion> | ||
<WarningsAsErrors>1182;0025;$(WarningsAsErrors)</WarningsAsErrors> | ||
</PropertyGroup> | ||
|
||
<!-- nuget --> | ||
<PropertyGroup> | ||
<PackageIconFullPath>$(MSBuildThisFileDirectory)icon.png</PackageIconFullPath> | ||
|
||
<!-- Point to artifacts folder as an additional nuget package source --> | ||
<RestoreAdditionalProjectSources Condition = "Exists('$(ArtifactsPackagesDir)') and '$(RestoreAdditionalProjectSources)' != ''">$(RestoreAdditionalProjectSources);$(ArtifactsPackagesDir)</RestoreAdditionalProjectSources> | ||
<RestoreAdditionalProjectSources Condition = "Exists('$(ArtifactsPackagesDir)') and '$(RestoreAdditionalProjectSources)' == ''">$(ArtifactsPackagesDir)</RestoreAdditionalProjectSources> | ||
|
||
<!-- default NuGet package restore location --> | ||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == ''">$(NUGET_PACKAGES)</NuGetPackageRoot> | ||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' == 'Windows_NT'">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> | ||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' != 'Windows_NT'">$(HOME)/.nuget/packages/</NuGetPackageRoot> | ||
|
||
<!-- ensure there is a trailing slash --> | ||
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' == 'Windows_NT'">$(NuGetPackageRoot)\</NuGetPackageRoot> | ||
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' != 'Windows_NT'">$(NuGetPackageRoot)/</NuGetPackageRoot> | ||
|
||
<!-- ensure all NuGet packages come from the `$(NuGetPackageRoot)` variable --> | ||
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder> | ||
</PropertyGroup> | ||
|
||
<!-- mono --> | ||
<PropertyGroup Condition="'$(OS)' == 'Unix'"> | ||
<MonoRoot Condition="'$(MonoRoot)' == '' and $([MSBuild]::IsOsPlatform('Linux'))">/usr</MonoRoot> | ||
<MonoRoot Condition="'$(MonoRoot)' == '' and $([MSBuild]::IsOsPlatform('OSX'))">/Library/Frameworks/Mono.framework/Versions/Current</MonoRoot> | ||
<MonoLibFolder>$(MonoRoot)/lib/mono</MonoLibFolder> | ||
<MonoPackaging Condition="$(TargetFramework.StartsWith('net4'))">true</MonoPackaging> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net45'">$(MonoLibFolder)/4.5-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net451'">$(MonoLibFolder)/4.5.1-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net452'">$(MonoLibFolder)/4.5.2-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net46'">$(MonoLibFolder)/4.6-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net461'">$(MonoLibFolder)/4.6.1-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net462'">$(MonoLibFolder)/4.6.2-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net47'">$(MonoLibFolder)/4.7-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net471'">$(MonoLibFolder)/4.7.1-api</FrameworkPathOverride> | ||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net472'">$(MonoLibFolder)/4.7.2-api</FrameworkPathOverride> | ||
</PropertyGroup> | ||
|
||
<!-- signing --> | ||
<PropertyGroup> | ||
<StrongNameKeyId>Microsoft</StrongNameKeyId> | ||
</PropertyGroup> | ||
<PropertyGroup Condition="'$(MonoPackaging)' == 'true'"> | ||
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\test.snk</AssemblyOriginatorKeyFile> | ||
<DelaySign>false</DelaySign> | ||
<DefineConstants>STRONG_NAME_FSHARP_COMPILER_WITH_TEST_KEY;$(DefineConstants)</DefineConstants> | ||
</PropertyGroup> | ||
|
||
<!-- localization --> | ||
<PropertyGroup> | ||
<EnableXlfLocalization Condition="'$(EnableXlfLocalization)' == '' AND ('$(Configuration)' == 'Proto' OR '$(MonoPackaging)' == 'true')">false</EnableXlfLocalization> | ||
<UpdateXlfOnBuild Condition="'$(CI)' != '1'">true</UpdateXlfOnBuild> | ||
</PropertyGroup> | ||
|
||
<!-- source-build workarounds --> | ||
<PropertyGroup Condition="'$(FSharpSourceBuild)' == 'true'"> | ||
<DeterministicSourcePaths>false</DeterministicSourcePaths> | ||
<PublishWindowsPdb>false</PublishWindowsPdb> | ||
<RepositoryUrl Condition="'$(RepositoryUrl)' == ''">https://github.com/Microsoft/visualfsharp</RepositoryUrl> | ||
<RepositoryType Condition="'$(RepositoryType)' == ''">git</RepositoryType> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup Condition="'$(FSharpSourceBuild)' == 'true' AND '$(RepositoryCommit)' == ''"> | ||
<_DotGitDir>$(RepoRoot).git</_DotGitDir> | ||
<_HeadFileContent Condition="Exists('$(_DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(_DotGitDir)/HEAD').Trim())</_HeadFileContent> | ||
<_RefPath Condition="$(_HeadFileContent.StartsWith('ref: '))">$(_DotGitDir)/$(_HeadFileContent.Substring(5))</_RefPath> | ||
<RepositoryCommit>$(BUILD_SOURCEVERSION)</RepositoryCommit> | ||
<RepositoryCommit Condition="'$(RepositoryCommit)' == '' AND '$(_RefPath)' != '' and Exists('$(_RefPath)')">$([System.IO.File]::ReadAllText('$(_RefPath)').Trim())</RepositoryCommit> | ||
</PropertyGroup> | ||
|
||
<!-- other --> | ||
<PropertyGroup> | ||
<NoWarn Condition="'$(Language)' == 'F#'">$(NoWarn);FS2003</NoWarn><!-- warning when AssemblyInformationalVersion looks like '1.2.3-dev' --> | ||
<NoCompilerStandardLib>true</NoCompilerStandardLib><!-- necessary for resource generation using csc.exe --> | ||
<DebugType>embedded</DebugType> | ||
<MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage> | ||
<UseStandardResourceNames>false</UseStandardResourceNames> | ||
<GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup Condition="'$(OS)' == 'Unix'"> | ||
<DefineConstants>$(DefineConstants);TESTING_ON_LINUX</DefineConstants> | ||
</PropertyGroup> | ||
|
||
<!-- SDK targets override --> | ||
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND '$(DisableCompilerRedirection)'!='true' AND Exists('$(ProtoOutputPath)')"> | ||
<FSharpTargetsPath>$(ProtoOutputPath)\fsc\Microsoft.FSharp.Targets</FSharpTargetsPath> | ||
<FSharpPropsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.NetSdk.props</FSharpPropsShim> | ||
<FSharpTargetsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim> | ||
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim> | ||
</PropertyGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds. | ||
# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080 | ||
# | ||
# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry | ||
# under <packageSourceCredentials> for each Maestro managed private feed. Two additional credential | ||
# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport. | ||
# | ||
# This script needs to be called in every job that will restore packages and which the base repo has | ||
# private AzDO feeds in the NuGet.config. | ||
# | ||
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)` | ||
# from the AzureDevOps-Artifact-Feeds-Pats variable group. | ||
# | ||
# - task: PowerShell@2 | ||
# displayName: Setup Private Feeds Credentials | ||
# condition: eq(variables['Agent.OS'], 'Windows_NT') | ||
# inputs: | ||
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1 | ||
# arguments: -ConfigFile ${Env:BUILD_SOURCESDIRECTORY}/NuGet.config -Password $Env:Token | ||
# env: | ||
# Token: $(dn-bot-dnceng-artifact-feeds-rw) | ||
|
||
[CmdletBinding()] | ||
param ( | ||
[Parameter(Mandatory = $true)][string]$ConfigFile, | ||
[Parameter(Mandatory = $true)][string]$Password | ||
) | ||
|
||
$ErrorActionPreference = "Stop" | ||
Set-StrictMode -Version 2.0 | ||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 | ||
|
||
. $PSScriptRoot\tools.ps1 | ||
|
||
# Add source entry to PackageSources | ||
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $Password) { | ||
$packageSource = $sources.SelectSingleNode("add[@key='$SourceName']") | ||
|
||
if ($packageSource -eq $null) | ||
{ | ||
$packageSource = $doc.CreateElement("add") | ||
$packageSource.SetAttribute("key", $SourceName) | ||
$packageSource.SetAttribute("value", $SourceEndPoint) | ||
$sources.AppendChild($packageSource) | Out-Null | ||
} | ||
else { | ||
Write-Host "Package source $SourceName already present." | ||
} | ||
|
||
AddCredential -Creds $creds -Source $SourceName -Username $Username -Password $Password | ||
} | ||
|
||
# Add a credential node for the specified source | ||
function AddCredential($creds, $source, $username, $password) { | ||
# Looks for credential configuration for the given SourceName. Create it if none is found. | ||
$sourceElement = $creds.SelectSingleNode($Source) | ||
if ($sourceElement -eq $null) | ||
{ | ||
$sourceElement = $doc.CreateElement($Source) | ||
$creds.AppendChild($sourceElement) | Out-Null | ||
} | ||
|
||
# Add the <Username> node to the credential if none is found. | ||
$usernameElement = $sourceElement.SelectSingleNode("add[@key='Username']") | ||
if ($usernameElement -eq $null) | ||
{ | ||
$usernameElement = $doc.CreateElement("add") | ||
$usernameElement.SetAttribute("key", "Username") | ||
$sourceElement.AppendChild($usernameElement) | Out-Null | ||
} | ||
$usernameElement.SetAttribute("value", $Username) | ||
|
||
# Add the <ClearTextPassword> to the credential if none is found. | ||
# Add it as a clear text because there is no support for encrypted ones in non-windows .Net SDKs. | ||
# -> https://github.com/NuGet/Home/issues/5526 | ||
$passwordElement = $sourceElement.SelectSingleNode("add[@key='ClearTextPassword']") | ||
if ($passwordElement -eq $null) | ||
{ | ||
$passwordElement = $doc.CreateElement("add") | ||
$passwordElement.SetAttribute("key", "ClearTextPassword") | ||
$sourceElement.AppendChild($passwordElement) | Out-Null | ||
} | ||
$passwordElement.SetAttribute("value", $Password) | ||
} | ||
|
||
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Password) { | ||
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]") | ||
|
||
Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds." | ||
|
||
ForEach ($PackageSource in $maestroPrivateSources) { | ||
Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key | ||
AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -Password $Password | ||
} | ||
} | ||
|
||
if (!(Test-Path $ConfigFile -PathType Leaf)) { | ||
Write-Host "Couldn't find the file NuGet config file: $ConfigFile" | ||
ExitWithExitCode 1 | ||
} | ||
|
||
# Load NuGet.config | ||
$doc = New-Object System.Xml.XmlDocument | ||
$filename = (Get-Item $ConfigFile).FullName | ||
$doc.Load($filename) | ||
|
||
# Get reference to <PackageSources> or create one if none exist already | ||
$sources = $doc.DocumentElement.SelectSingleNode("packageSources") | ||
if ($sources -eq $null) { | ||
$sources = $doc.CreateElement("packageSources") | ||
$doc.DocumentElement.AppendChild($sources) | Out-Null | ||
} | ||
|
||
# Looks for a <PackageSourceCredentials> node. Create it if none is found. | ||
$creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials") | ||
if ($creds -eq $null) { | ||
$creds = $doc.CreateElement("packageSourceCredentials") | ||
$doc.DocumentElement.AppendChild($creds) | Out-Null | ||
} | ||
|
||
# Insert credential nodes for Maestro's private feeds | ||
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Password $Password | ||
|
||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password | ||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password | ||
|
||
$doc.Save($filename) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
#!/usr/bin/env bash | ||
|
||
# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds. | ||
# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080 | ||
# | ||
# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry | ||
# under <packageSourceCredentials> for each Maestro's managed private feed. Two additional credential | ||
# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport. | ||
# | ||
# This script needs to be called in every job that will restore packages and which the base repo has | ||
# private AzDO feeds in the NuGet.config. | ||
# | ||
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)` | ||
# from the AzureDevOps-Artifact-Feeds-Pats variable group. | ||
# | ||
# - task: Bash@3 | ||
# displayName: Setup Private Feeds Credentials | ||
# inputs: | ||
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh | ||
# arguments: $BUILD_SOURCESDIRECTORY/NuGet.config $Token | ||
# condition: ne(variables['Agent.OS'], 'Windows_NT') | ||
# env: | ||
# Token: $(dn-bot-dnceng-artifact-feeds-rw) | ||
|
||
ConfigFile=$1 | ||
CredToken=$2 | ||
NL='\n' | ||
TB=' ' | ||
|
||
source="${BASH_SOURCE[0]}" | ||
|
||
# resolve $source until the file is no longer a symlink | ||
while [[ -h "$source" ]]; do | ||
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" | ||
source="$(readlink "$source")" | ||
# if $source was a relative symlink, we need to resolve it relative to the path where the | ||
# symlink file was located | ||
[[ $source != /* ]] && source="$scriptroot/$source" | ||
done | ||
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" | ||
|
||
. "$scriptroot/tools.sh" | ||
|
||
if [ ! -f "$ConfigFile" ]; then | ||
echo "Couldn't find the file NuGet config file: $ConfigFile" | ||
ExitWithExitCode 1 | ||
fi | ||
|
||
if [[ `uname -s` == "Darwin" ]]; then | ||
NL=$'\\\n' | ||
TB='' | ||
fi | ||
|
||
# Ensure there is a <packageSources>...</packageSources> section. | ||
grep -i "<packageSources>" $ConfigFile | ||
if [ "$?" != "0" ]; then | ||
echo "Adding <packageSources>...</packageSources> section." | ||
ConfigNodeHeader="<configuration>" | ||
PackageSourcesTemplate="${TB}<packageSources>${NL}${TB}</packageSources>" | ||
|
||
sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" NuGet.config | ||
fi | ||
|
||
# Ensure there is a <packageSourceCredentials>...</packageSourceCredentials> section. | ||
grep -i "<packageSourceCredentials>" $ConfigFile | ||
if [ "$?" != "0" ]; then | ||
echo "Adding <packageSourceCredentials>...</packageSourceCredentials> section." | ||
|
||
PackageSourcesNodeFooter="</packageSources>" | ||
PackageSourceCredentialsTemplate="${TB}<packageSourceCredentials>${NL}${TB}</packageSourceCredentials>" | ||
|
||
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" NuGet.config | ||
fi | ||
|
||
# Ensure dotnet3-internal and dotnet3-internal-transport is in the packageSources | ||
grep -i "<add key=\"dotnet3-internal\">" $ConfigFile | ||
if [ "$?" != "0" ]; then | ||
echo "Adding dotnet3-internal to the packageSources." | ||
|
||
PackageSourcesNodeFooter="</packageSources>" | ||
PackageSourceTemplate="${TB}<add key=\"dotnet3-internal\" value=\"https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2\" />" | ||
|
||
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" NuGet.config | ||
fi | ||
|
||
# Ensure dotnet3-internal and dotnet3-internal-transport is in the packageSources | ||
grep -i "<add key=\"dotnet3-internal-transport\">" $ConfigFile | ||
if [ "$?" != "0" ]; then | ||
echo "Adding dotnet3-internal-transport to the packageSources." | ||
|
||
PackageSourcesNodeFooter="</packageSources>" | ||
PackageSourceTemplate="${TB}<add key=\"dotnet3-internal-transport\" value=\"https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2\" />" | ||
|
||
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" NuGet.config | ||
fi | ||
|
||
# I want things split line by line | ||
PrevIFS=$IFS | ||
IFS=$'\n' | ||
PackageSources=$(grep -oh '"darc-int-[^"]*"' $ConfigFile | tr -d '"') | ||
IFS=$PrevIFS | ||
|
||
PackageSources+=('dotnet3-internal') | ||
PackageSources+=('dotnet3-internal-transport') | ||
|
||
for FeedName in ${PackageSources[@]} ; do | ||
# Check if there is no existing credential for this FeedName | ||
grep -i "<$FeedName>" $ConfigFile | ||
if [ "$?" != "0" ]; then | ||
echo "Adding credentials for $FeedName." | ||
|
||
PackageSourceCredentialsNodeFooter="</packageSourceCredentials>" | ||
NewCredential="${TB}${TB}<$FeedName>${NL}<add key=\"Username\" value=\"dn-bot\" />${NL}<add key=\"ClearTextPassword\" value=\"$CredToken\" />${NL}</$FeedName>" | ||
|
||
sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" NuGet.config | ||
fi | ||
done |
Oops, something went wrong.