Skip to content

Commit

Permalink
Add runtime repo (portable and non-portable) and build in master (#1528)
Browse files Browse the repository at this point in the history
* Update arcade and standard shas

* Add runtime repo and remove coreclr, corefx and core-setup

* Update standard to build with new arcade version

* Update version of roslyn to work with updated Arcade

* Update patches to enable runtime repo to build

* Update aspnet-extensions commit and get it building

* Add runtime portable build

* Add OverrideTargetRid for Linux

* Retain portable logs when cleaning up after portable build

* Include project.assets.json files in files to be saved from portable build

* Update version of source-build archive

* Remove old corefx, coreclr and core-setup projects and update known-good

* Add patch for ilasm round trip issue

* Add patch for ilasm round trip issue

* Update commit shas for repos in known good for preview 2

* Reconcile patches for core-sdk

* Reconcile patches for linkere

* Reconcile patches for fsharp repo

* Reconcile patches for nuget-client repo

* Reconcile patches for roslyn repo

* Reconcile patches for runtime repo

* Reconcile patches for sdk repo

* Remove dependency flow sources -- update Arcade version

* Update commit sha for standard

* Update Arcade and SDK versions

* Reconcile patches for arcade repo

* Remove ArcadeConfigurationOverride

* Fixup output placement for standard repo

* Remove unneccessary roslyn patch

* Correct invalid merge

* Remove linker reflection heuristics patch per comment from sbomer on dotnet/source-build#777

* Update PackagesOutput for linker

* Add patch to set nopgooptimize in coreclr build

* Update coreclr build arguments

* Only build through coreclr for now

* Only build through runtime

* Add CentOS 8 CI build (#1539)

* Add CentOS 8 CI build

We have had some issues building in RHEL 8, so lets set up a CentOS 8 CI
system to try and catch those issues earlier.

* Pin to artifacts version with executable coreclr bits

Co-authored-by: Aditya Aggarwal <aditya.aggarwal@microsoft.com>
Conflicts:
	eng/Versions.props
	repos/coreclr.common.props

* Update docker images

* Update version of xliff tasks

* Include 1 addtional arcade patch

* Add patch to exclude Helix tests from source-build in arcade

* Add reference to PlatformAbstractions

* Skip prebuilt check for now

* Update version of previously source-built archive

* Update online prebuilt baseline

* Disable smoke-tests and unit tests until core-sdk build works

* Don't remove placeholder pdb files

* Add back temporary ildasm workaround until AspNetCore builds

* Update baseline with OSX only prebuilts

* Update offline baseline

* Turn off processing of smoke-test-packages

* Update debian & ubuntu images and turn off leak detection

* Update Centos8 docker image to one that includes updated cmake

* Another try at updating the centos8 docker image

* Update to latest version of Private.SourceBuild.ReferencePackages

* Remove detection of and de-assemble/re-assemble of read only ref pkgs
With the completion of dotnet/source-build#1497,
the need to detect and remove these read only ref packages
has been removed.  All packages that we have identified as read-only
in the past have been included in source-build-reference-packages.
If any new ones show up, they will show up as prebuilts and can
be added to the source-build-reference-packages repo.

* Revert "Skip prebuilt check for now"

This reverts commit 5766e7ec6cb245c3348377700ccb3bddda1bf90a.

* Update offline baseline

* Add comments & issue links to disabled items

* Updates based on PR review comments

* Update to document temporary smoke-test removal

* Remove standard project
Going forward the repo will only be used for servicing.

* Update runtime dependency name

Co-authored-by: Omair Majid <omajid@redhat.com>
  • Loading branch information
dseefeld and omajid authored Apr 8, 2020
1 parent 1941983 commit f86f3dd
Show file tree
Hide file tree
Showing 116 changed files with 1,544 additions and 2,575 deletions.
49 changes: 38 additions & 11 deletions .vsts.pipelines/builds/matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,34 +13,61 @@ jobs:
- template: ../jobs/ci-linux.yml
parameters:
job: centos71
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343
reportPrebuiltLeaks: true
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-359e48e-20200313130914
# Temporarily disable reporting on prebuilt leaks until entire product builds.
# See https://github.com/dotnet/source-build/issues/1548
reportPrebuiltLeaks: false
matrix:
Production: { generatePrebuiltBurndown: true, runUnitTests: true }
# Temporarily disable unit tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1549
Production: { generatePrebuiltBurndown: true, runUnitTests: false }
Online: { type: Online }
Offline: { type: Offline }
Offline Portable: { type: Offline Portable }

- template: ../jobs/ci-linux_bootstrap.yml
# Temporarily disable bootstrap build until entire product builds.
# See https://github.com/dotnet/source-build/issues/1550
#- template: ../jobs/ci-linux_bootstrap.yml
# parameters:
# job: centos71_BootStrap
# dependsOn: centos71
# imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-359e48e-20200313130914
# matrix:
# Offline: { type: Offline}

- template: ../jobs/ci-linux.yml
parameters:
job: centos71_BootStrap
dependsOn: centos71
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343
job: centos8
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-source-build-20200402192642-9e679d4
systemLibunwind: false
matrix:
Offline: { type: Offline}
Production: {}
Online: { type: Online }
Offline: { type: Offline }
Offline Portable: { type: Offline Portable }

- template: ../jobs/ci-linux.yml
parameters:
job: debian9
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch-d61254f-20190807161114
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch-source-build-20200331133109-ed32d26
matrix:
Production: {}
Online: { type: Online }

- template: ../jobs/ci-linux.yml
parameters:
job: fedora30
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-30-38e0f29-20191126135223
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-30-bfcd90a-20200324132732
matrix:
Production: {}
Online: { type: Online }
Offline: { type: Offline }
Offline Portable: { type: Offline Portable }

- template: ../jobs/ci-linux.yml
parameters:
job: fedora31
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-31-02f7c7e-20200324132728
matrix:
Production: {}
Online: { type: Online }
Expand All @@ -50,7 +77,7 @@ jobs:
- template: ../jobs/ci-linux.yml
parameters:
job: ubuntu1804
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-f90bc20-20180320154721
imageName: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-source-build-20200401093015-ed32d26

- template: ../jobs/ci-local.yml
parameters:
Expand Down
61 changes: 38 additions & 23 deletions .vsts.pipelines/jobs/ci-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ jobs:
generatePrebuiltBurndown: ${{ parameters.generatePrebuiltBurndown }}
rootDirectory: $(Build.SourcesDirectory)/..
stagingDirectory: $(rootDirectory)/sb/staging
systemLibunwind: ${{ parameters.systemLibunwind }}
tarballName: tarball_$(Build.BuildId)
SOURCE_BUILD_SKIP_SUBMODULE_CHECK: true
# Default type, can be overridden by matrix legs.
Expand Down Expand Up @@ -66,6 +67,7 @@ jobs:
$(docker.run) $(docker.src.map) $(docker.src.work) $(imageName) ./build.sh \
/p:Configuration=$(sb.configuration) \
/p:PortableBuild=$(sb.portable) \
/p:UseSystemLibunwind=$(systemLibunwind) \
/p:ArchiveDownloadedPackages=$(sb.tarball) \
/p:FailOnPrebuiltBaselineError=$failOnBaselineError \
/p:ProdConBlobFeedUrlPrefix=$(prodConBlobFeedUrlPrefix) \
Expand All @@ -85,15 +87,17 @@ jobs:
continueOnError: true
# Run smoke tests. This is needed even in tarball legs to create the smoke-test-prereqs archive.
- script: |
set -ex
df -h
$(docker.run) $(docker.src.map) $(docker.src.work) $(imageName) ./build.sh \
--run-smoke-test \
/p:Configuration=$(sb.configuration) \
/p:ProdConBlobFeedUrlPrefix=$(prodConBlobFeedUrlPrefix)
du -h $(rootDirectory) | sort -h | tail -n 50
displayName: Run smoke-test
# Temporarily disable smoke-tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1552
# - script: |
# set -ex
# df -h
# $(docker.run) $(docker.src.map) $(docker.src.work) $(imageName) ./build.sh \
# --run-smoke-test \
# /p:Configuration=$(sb.configuration) \
# /p:ProdConBlobFeedUrlPrefix=$(prodConBlobFeedUrlPrefix)
# du -h $(rootDirectory) | sort -h | tail -n 50
# displayName: Run smoke-test

# Run unit tests that we support.
- script: |
Expand Down Expand Up @@ -174,17 +178,25 @@ jobs:
df -h
$(docker.run) $(docker.tb.map) $(docker.drop.map) $(docker.tb.work) $(imageName) /bin/bash -c '
mkdir -p /drop/tarball/
smokeTestPackages="$(tarballName)/packages/smoke-test-packages"
# Temporarily disable smoke-tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1552
##smokeTestPackages="$(tarballName)/packages/smoke-test-packages"
# smokeTestPackages is a package cache, with redundant data and unnecessary structure. E.g.
# $smokeTestPackages/name/version/name.version.nupkg <- We want this.
# $smokeTestPackages/name/version/lib/net46/name.dll <- This is already in the nupkg.
# This find moves the nupkg files into $smokeTestPackages:
find "$smokeTestPackages" -iname "*.nupkg" -exec mv {} "$smokeTestPackages" \;
# Temporarily disable smoke-tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1552
##find "$smokeTestPackages" -iname "*.nupkg" -exec mv {} "$smokeTestPackages" \;
# This find removes all non-nupkg files, which are not wanted:
find "$smokeTestPackages" -not -iname "*.nupkg" -delete
# Temporarily disable smoke-tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1552
##find "$smokeTestPackages" -not -iname "*.nupkg" -delete
# Make one .tar.gz for build, another for extras necessary to smoke test:
tar --numeric-owner "--exclude=$smokeTestPackages" -zcf "/drop/tarball/$(tarballName).tar.gz" "$(tarballName)"
tar --numeric-owner -zcf "/drop/tarball/$(tarballName)-smoke-test-prereqs.tar.gz" "$smokeTestPackages"'
# Temporarily disable smoke-tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1552
##tar --numeric-owner -zcf "/drop/tarball/$(tarballName)-smoke-test-prereqs.tar.gz" "$smokeTestPackages"'
du -h $(rootDirectory) | sort -h | tail -n 50
displayName: Copy tarball to output
condition: and(succeeded(), eq(variables['sb.tarball'], true))
Expand All @@ -204,6 +216,7 @@ jobs:
$(docker.run) $(docker.tb.map) $(docker.tb.work) $networkArg $(imageName) "$(tarballName)/build.sh" -- \
/p:Configuration=$(sb.configuration) \
/p:PortableBuild=$(sb.portable) \
/p:UseSystemLibunwind=$(systemLibunwind) \
/p:FailOnPrebuiltBaselineError=true \
$poisonArg
du -h $(rootDirectory) | sort -h | tail -n 50
Expand All @@ -212,16 +225,18 @@ jobs:
condition: and(succeeded(), eq(variables['sb.tarball'], true))
# Run smoke tests.
- script: |
set -ex
df -h
$(docker.run) $(docker.tb.map) $(docker.tb.work) $(imageName) "$(tarballName)/smoke-test.sh" \
--minimal \
--projectOutput \
--configuration $(sb.configuration)
du -h $(rootDirectory) | sort -h | tail -n 50
displayName: Run smoke-test in tarball
condition: and(succeeded(), eq(variables['sb.tarball'], true))
# Temporarily disable smoke-tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1552
# - script: |
# set -ex
# df -h
# $(docker.run) $(docker.tb.map) $(docker.tb.work) $(imageName) "$(tarballName)/smoke-test.sh" \
# --minimal \
# --projectOutput \
# --configuration $(sb.configuration)
# du -h $(rootDirectory) | sort -h | tail -n 50
# displayName: Run smoke-test in tarball
# condition: and(succeeded(), eq(variables['sb.tarball'], true))

- script: df -h
displayName: Check space (df -h)
Expand Down
4 changes: 3 additions & 1 deletion .vsts.pipelines/jobs/ci-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ parameters:
scriptSuffix: null
setupMac: false
setupWindows: false
skipSmokeTest: false
# Temporarily disable smoke-tests until entire product builds.
# See https://github.com/dotnet/source-build/issues/1552
skipSmokeTest: true
failOnPrebuiltBaselineError: true

jobs:
Expand Down
7 changes: 0 additions & 7 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
<configuration>
<packageSources>
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<add key="darc-pub-microsoft-msbuild-e901037-3" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-microsoft-msbuild-e901037f-3/nuget/v3/index.json" />
<add key="darc-pub-dotnet-standard-a5b5f2e" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-standard-a5b5f2e1/nuget/v3/index.json" />
<add key="darc-pub-dotnet-aspnetcore-tooling-2dab42e" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-aspnetcore-tooling-2dab42e1/nuget/v3/index.json" />
<add key="darc-pub-dotnet-aspnetcore-c3acdca-2" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-aspnetcore-c3acdcac-2/nuget/v3/index.json" />
<add key="darc-pub-aspnet-Extensions-1286a6f" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-aspnet-Extensions-1286a6ff/nuget/v3/index.json" />
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="nuget-build" value="https://dotnet.myget.org/F/nuget-build/api/v3/index.json" />
<add key="arcade" value="https://dotnetfeed.blob.core.windows.net/dotnet-tools-internal/index.json" />
Expand Down
44 changes: 4 additions & 40 deletions build-source-tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,9 @@ find "$PWD" -maxdepth 1 -type d | grep -v reference-assemblies | grep -v netcore
popd

echo 'Removing binaries from tarball src...'
find $TARBALL_ROOT/src \( -type f \( \
# coreclr and installer have two empty placeholder pdb files. Exclude these directories.
find $TARBALL_ROOT/src -not -path "*/src/coreclr/src/.nuget/*" -not -path "*/src/installer/pkg/*" \
\( -type f \( \
-iname *.dll -o \
-iname *.exe -o \
-iname *.pdb -o \
Expand Down Expand Up @@ -299,8 +301,6 @@ find $SCRIPT_ROOT/bin/obj/$targetArchitecture/Release/nuget-packages -name '*.nu
# Copy reference-packages from bin dir to reference-packages directory.
# See corresponding change in dir.props to change ReferencePackagesBasePath conditionally in offline build.
mkdir -p $TARBALL_ROOT/packages/reference
cp -r $SCRIPT_ROOT/bin/obj/$targetArchitecture/Release/reference-packages/source $TARBALL_ROOT/packages/reference/source
cp -r $SCRIPT_ROOT/bin/obj/$targetArchitecture/Release/reference-packages/staging $TARBALL_ROOT/packages/reference/staging

# Copy tarballs to ./packages/archive directory
if [[ -d "$SCRIPT_ROOT/bin/obj/$targetArchitecture/Release/external-tarballs" && ! -z "$(find $SCRIPT_ROOT/bin/obj/$targetArchitecture/Release/external-tarballs -iname '*.tar.gz')" ]]; then
Expand Down Expand Up @@ -337,14 +337,7 @@ if [ $INCLUDE_LEAK_DETECTION -eq 1 ]; then
"$CLI_PATH/dotnet" publish -o $FULL_TARBALL_ROOT/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.LeakDetection $SCRIPT_ROOT/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.LeakDetection/Microsoft.DotNet.SourceBuild.Tasks.LeakDetection.csproj
fi

echo 'Removing reference-only packages from tarball prebuilts...'

for ref_package in $(find $SCRIPT_ROOT/bin/obj/$targetArchitecture/Release/reference-packages/packages-to-delete/ -name '*.nupkg' | tr '[:upper:]' '[:lower:]')
do
if [ -e $TARBALL_ROOT/packages/prebuilt/$(basename $ref_package) ]; then
rm $TARBALL_ROOT/packages/prebuilt/$(basename $ref_package)
fi
done
echo 'Removing reference packages from tarball prebuilts...'

if [ -d "$CUSTOM_REF_PACKAGES_DIR" ]; then
allRefPkgs=(`ls "$CUSTOM_REF_PACKAGES_DIR" | tr '[:upper:]' '[:lower:]'`)
Expand Down Expand Up @@ -402,35 +395,6 @@ if [ $SKIP_PREBUILT_ENFORCEMENT -ne 1 ]; then
fi
fi

echo 'Removing source-built, previously source-built packages and reference packages from il pkg src...'
OLDIFS=$IFS

allBuiltPkgs=(`ls $SCRIPT_ROOT/bin/obj/$targetArchitecture/Release/blob-feed/packages/*.nupkg | xargs -n1 basename | tr '[:upper:]' '[:lower:]'`)
pushd $TARBALL_ROOT/packages/reference/staging/
ilSrcPaths=(`find . -maxdepth 2 -mindepth 2`)
popd

for path in ${ilSrcPaths[@]}; do
IFS='/'
read -a splitLine <<< "$path"
remove=false
if [[ " ${allRefPkgs[@]} " =~ " ${splitLine[1]}.${splitLine[2]}.nupkg " ]]; then
remove=true
fi
if [[ " ${allSourceBuiltPkgs[@]} " =~ " ${splitLine[1]}.${splitLine[2]}.nupkg " ]]; then
remove=true
fi
if [[ " ${allBuiltPkgs[@]} " =~ " ${splitLine[1]}.${splitLine[2]}.nupkg " ]]; then
remove=true
fi
if [[ "$remove" == "true" ]]; then
rm -rf "$TARBALL_ROOT/packages/reference/staging/$path"
rm -rf "$TARBALL_ROOT/packages/reference/source/$path"
fi
done

IFS=$OLDIFS

echo 'Recording commits for the source-build repo and all submodules, to aid in reproducibility...'

cat >$TARBALL_ROOT/source-build-info.txt << EOF
Expand Down
93 changes: 0 additions & 93 deletions build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
<Import Project="eng/Versions.props" Condition="'$(OfflineBuild)' != 'true'" />

<UsingTask AssemblyFile="$(LeakDetectionTasksAssembly)" TaskName="CheckForPoison" />
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="CopyReferenceOnlyPackages" />
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageBurndownData" />
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />

Expand Down Expand Up @@ -53,98 +52,6 @@
<RemoveDir Directories="$(BaseOutputPath)" />
</Target>

<!--
Workaround: Skip Windows_NT.
When trying to CopyReferenceOnlyPackages, it gets errors like:
System.IO.IOException: The process cannot access the file
'<root>\packages\microsoft.codeanalysis.compilers\2.6.0-beta3-62316-02\microsoft.codeanalysis.compilers.nuspec'
because it is being used by another process.
We don't support producing a tarball on Windows, so there's little value in fixing this.
-->
<Target Name="CopyAndDisassembleReferenceOnlyPackages"
AfterTargets="Build"
Condition="'$(OfflineBuild)' != 'true' and '$(ArchiveDownloadedPackages)' == 'true' and '$(OS)' != 'Windows_NT'">

<CopyReferenceOnlyPackages
PackageCacheDir="$(PackagesDir)"
DllDestinationDir="$(ReferencePackagesSourceDir)"
IdentifiedPackagesDir="$(ReferencePackagesToDeleteDir)"
DestinationDir="$(ReferencePackagesStagingDir)"
/>

<!-- Ildasm has trouble writing to paths that are longer than 260 chars. (see https://github.com/dotnet/coreclr/issues/20397)
Create a temporary path to write il output which will then be copied back to the reference-packages/source dir.
-->
<PropertyGroup>
<TempPath>$([System.IO.Path]::GetTempPath())</TempPath>
<IldasmTempOutputFolderName>$([System.IO.Path]::GetRandomFileName())</IldasmTempOutputFolderName>
<IldasmTempOutputPath>$([System.IO.Path]::Combine($(TempPath),$(IldasmTempOutputFolderName)))/</IldasmTempOutputPath>
</PropertyGroup>

<ItemGroup>
<ReferenceOnlyPackages Include="$(ReferencePackagesToDeleteDir)**/*.nupkg" />
<ReferenceOnlyPackageDlls Include="$(ReferencePackagesSourceDir)**/*.dll" />
</ItemGroup>

<Message Importance="High" Text="Reference-only Packages:" />
<Message Importance="High" Text="%(ReferenceOnlyPackages.Identity)" />

<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Disassembling @(ReferenceOnlyPackageDlls->Count()) dlls" />
<MakeDir Directories="$(IldasmTempOutputPath)%(ReferenceOnlyPackageDlls.RecursiveDir)" />
<Exec Command="$(IldasmPath) %(ReferenceOnlyPackageDlls.Identity) -all -out=$(IldasmTempOutputPath)%(ReferenceOnlyPackageDlls.RecursiveDir)%(ReferenceOnlyPackageDlls.Filename).il" />
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Disassembly done." />

<ItemGroup>
<IlSourceFiles Include="$(IldasmTempOutputPath)/**/*.il" />
<OldLicenseFiles Include="$(ReferencePackagesStagingDir)/**/dotnet_library_license.txt" />
<OldLicenseFiles Include="$(ReferencePackagesStagingDir)/**/License.rtf" />
<RefAssyNuspecFiles Include="$(ReferencePackagesStagingDir)/**/*.nuspec" />
</ItemGroup>

<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Copying @(IlSourceFiles->Count()) IL source files" />
<Copy SourceFiles="@(IlSourceFiles)" DestinationFiles="$(ReferencePackagesSourceDir)%(IlSourceFiles.RecursiveDir)%(IlSourceFiles.Filename).il" />
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Copying IL source files done." />

<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Deleting disassembled dlls and temp il source" />
<Delete Files="@(ReferenceOnlyPackageDlls)" />
<RemoveDir Directories="$(IldasmTempOutputPath)" />
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Deleting disassembled dlls and temp il source done." />

<!-- Update licenseUrl to MIT license where needed in nuspec files -->
<ReplaceTextInFile InputFile="%(RefAssyNuspecFiles.Identity)"
OldText="http://go.microsoft.com/fwlink/?LinkId=329770"
NewText="https://microsoft.mit-license.org/" />
<ReplaceTextInFile InputFile="%(RefAssyNuspecFiles.Identity)"
OldText="https://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm"
NewText="https://microsoft.mit-license.org/" />
<ReplaceTextInFile InputFile="%(RefAssyNuspecFiles.Identity)"
OldText="http://go.microsoft.com/fwlink/?LinkId=529443"
NewText="https://microsoft.mit-license.org/" />
</Target>

<Target Name="ReplaceLicenseFiles"
AfterTargets="CopyAndDisassembleReferenceOnlyPackages"
Outputs="%(OldLicenseFiles.Identity)"
Condition="'$(OfflineBuild)' != 'true' and '$(ArchiveDownloadedPackages)' == 'true' and '$(OS)' != 'Windows_NT'">
<!-- Create Item of all unique directories containing old licenses -->
<CreateItem Include="%(OldLicenseFiles.RelativeDir)">
<Output TaskParameter="Include" ItemName="DestinationDirs" />
</CreateItem>

<PropertyGroup>
<DestinationDirIdentity>%(DestinationDirs.Identity)</DestinationDirIdentity>
</PropertyGroup>
<ItemGroup>
<NewLicenseFile Include="$(ProjectDir)LICENSE.txt" />
</ItemGroup>
<Copy SourceFiles="@(NewLicenseFile)" DestinationFiles="@(NewLicenseFile->'$(DestinationDirIdentity)%(RecursiveDir)%(Filename)%(Extension)')" />

<Delete Files="@(OldLicenseFiles)" />
</Target>

<Target Name="DownloadSourceBuildReferencePackages"
AfterTargets="Build"
Condition="'$(OfflineBuild)' != 'true' and '$(OS)' != 'Windows_NT' and '$(SkipDownloadingReferencePackages)' != 'true'">
Expand Down
Loading

0 comments on commit f86f3dd

Please sign in to comment.