Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Boemer <sbomer@gmail.com>2019-02-28 23:47:03 +0300
committerMarek Safar <marek.safar@gmail.com>2019-02-28 23:47:03 +0300
commit736ba73cec3340455bb40fe56b741d7558f0991f (patch)
tree114c267152ff77a1a9110698724fdd30ffbcd5d1
parent1331119f9d7503b05807a35296a9637ee8e45a9d (diff)
Set up arcade build for illink.sln (#475)
This uses arcade to bootstrap the dotnet cli, and enables optionally building illink.sln with arcade. - `eng/dotnet.{sh/ps1}` replace `corebuild/dotnet.{sh/ps1}`, and bootstrap using arcade scripts - References to the bootstrapping scripts have been updated - Directory.Build.props and Directory.Build.targets import arcade for all SDK-style projects when `ArcadeBuild` is `true` - The net46 build of ILLink.Tasks has been disabled to work around the lack of configuration/target-framework inference (due to cecil not using SDK projects yet). This makes it possible to run "dotnet pack" on the solution or to pack using arcade. - Arcade versioning files have been introduced, and ILLink.Tasks always gets its version number from these, even when building with a plain .NET SDK (rather than the arcade SDK) - Works around signing properties that are otherwise overridden due to cecil's nonstandard import order (it imports the arcade properties after setting its own project properties) - Disables a warning that is an error in the more recent toolset used by arcade - Re-orders some projects in illink.sln to work around build issues where solution configurations aren't always applied to child projects. This seems to build the dependent projects last, ensuring that they are built with the solution configuration.
-rw-r--r--.gitignore8
-rw-r--r--Directory.Build.props6
-rw-r--r--Directory.Build.targets3
-rw-r--r--NuGet.config (renamed from NuGet.Config)0
-rw-r--r--corebuild/.cliversion1
-rw-r--r--corebuild/bootstrap.ps167
-rwxr-xr-xcorebuild/bootstrap.sh206
-rwxr-xr-xcorebuild/build.sh2
-rw-r--r--corebuild/dotnet.cmd2
-rw-r--r--corebuild/dotnet.ps127
-rwxr-xr-xcorebuild/dotnet.sh25
-rw-r--r--corebuild/integration/build.ps12
-rwxr-xr-xcorebuild/integration/build.sh2
-rw-r--r--corebuild/restore.cmd2
-rwxr-xr-xcorebuild/restore.sh2
-rw-r--r--eng/Version.Details.xml10
-rw-r--r--eng/Versions.props7
-rw-r--r--eng/dotnet.ps16
-rwxr-xr-xeng/dotnet.sh10
-rw-r--r--external/Mono.Cecil.overrides13
-rw-r--r--global.json8
-rw-r--r--illink.sln8
-rw-r--r--src/ILLink.CustomSteps/ILLink.CustomSteps.csproj4
-rw-r--r--src/ILLink.Tasks/ILLink.Tasks.csproj8
-rw-r--r--src/ILLink.Tasks/ILLink.Tasks.nuspec1
-rw-r--r--src/linker/ILLink.props4
26 files changed, 85 insertions, 349 deletions
diff --git a/.gitignore b/.gitignore
index fe8cf646b..37cb12598 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,9 +27,9 @@ bin/
**/Dependencies/*.dll
-# corebuild build/test artifacts
-corebuild/Tools
-corebuild/bootstrap.log
-corebuild/global.json
+# arcade artifacts
+.dotnet
+.packages
+artifacts
monobuild/TestResults.xml
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 000000000..419c6cb50
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,6 @@
+<Project>
+ <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition=" '$(ArcadeBuild)' == 'true' " />
+ <PropertyGroup>
+ <IsPackable>false</IsPackable>
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 000000000..5140232a1
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,3 @@
+<Project>
+ <Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition=" '$(ArcadeBuild)' == 'true' " />
+</Project> \ No newline at end of file
diff --git a/NuGet.Config b/NuGet.config
index 2f9cb17a5..2f9cb17a5 100644
--- a/NuGet.Config
+++ b/NuGet.config
diff --git a/corebuild/.cliversion b/corebuild/.cliversion
deleted file mode 100644
index 227cea215..000000000
--- a/corebuild/.cliversion
+++ /dev/null
@@ -1 +0,0 @@
-2.0.0
diff --git a/corebuild/bootstrap.ps1 b/corebuild/bootstrap.ps1
deleted file mode 100644
index df4fda474..000000000
--- a/corebuild/bootstrap.ps1
+++ /dev/null
@@ -1,67 +0,0 @@
-param
-(
- [Parameter(Mandatory=$false)][string]$RepositoryRoot = $PSScriptRoot,
- [Parameter(Mandatory=$false)][string]$ToolsLocalPath = (Join-Path $RepositoryRoot "Tools"),
- [Parameter(Mandatory=$false)][string]$CliLocalPath = (Join-Path $ToolsLocalPath "dotnetcli"),
- [Parameter(Mandatory=$false)][string]$SharedFrameworkSymlinkPath = (Join-Path $ToolsLocalPath "dotnetcli\shared\Microsoft.NETCore.App\version"),
- [Parameter(Mandatory=$false)][string]$SharedFrameworkVersion = "<auto>",
- [Parameter(Mandatory=$false)][string]$Architecture = "<auto>",
- [Parameter(Mandatory=$false)][string]$DotNetInstallBranch = "release/2.0.0",
- [switch]$Force = $false
-)
-
-$rootCliVersion = Join-Path $RepositoryRoot ".cliversion"
-$globalJson = Join-Path $RepositoryRoot "global.json"
-$bootstrapComplete = Join-Path $ToolsLocalPath "bootstrap.complete"
-
-# if the force switch is specified delete the semaphore file if it exists
-if ($Force -and (Test-Path $bootstrapComplete))
-{
- del $bootstrapComplete
-}
-
-# if the semaphore file exists and is identical to the specified version then exit
-if ((Test-Path $bootstrapComplete) -and !(Compare-Object (Get-Content $rootCliVersion) (Get-Content $bootstrapComplete)))
-{
- exit 0
-}
-
-$initCliScript = "dotnet-install.ps1"
-$dotnetInstallPath = Join-Path $ToolsLocalPath $initCliScript
-
-# blow away the tools directory so we can start from a known state
-if (Test-Path $ToolsLocalPath)
-{
- # if the bootstrap.ps1 script was downloaded to the tools directory don't delete it
- rd -recurse -force $ToolsLocalPath -exclude "bootstrap.ps1"
-}
-else
-{
- mkdir $ToolsLocalPath | Out-Null
-}
-
-# download CLI boot-strapper script
-Invoke-WebRequest "https://raw.githubusercontent.com/dotnet/cli/$DotNetInstallBranch/scripts/obtain/dotnet-install.ps1" -OutFile $dotnetInstallPath
-
-# load the version of the CLI
-$dotNetCliVersion = Get-Content $rootCliVersion
-
-if (-Not (Test-Path $CliLocalPath))
-{
- mkdir $CliLocalPath | Out-Null
-}
-
-# now execute the script
-Write-Host "$dotnetInstallPath -Version $dotNetCliVersion -InstallDir $CliLocalPath -Architecture ""$Architecture"""
-Invoke-Expression "$dotnetInstallPath -Version $dotNetCliVersion -InstallDir $CliLocalPath -Architecture ""$Architecture"""
-if ($LastExitCode -ne 0)
-{
- Write-Output "The .NET CLI installation failed with exit code $LastExitCode"
- exit $LastExitCode
-}
-
-"{ `"sdk`": { `"version`": `"$dotNetCliVersion`" } }" | Out-File -Encoding utf8 -FilePath $globalJson
-
-# write semaphore file
-copy $rootCliVersion $bootstrapComplete
-exit 0
diff --git a/corebuild/bootstrap.sh b/corebuild/bootstrap.sh
deleted file mode 100755
index c35fecd9c..000000000
--- a/corebuild/bootstrap.sh
+++ /dev/null
@@ -1,206 +0,0 @@
-#!/usr/bin/env bash
-
-# Stop script on NZEC
-# set -e
-# Stop script if unbound variable found (use ${var:-} if intentional)
-set -u
-# By default cmd1 | cmd2 returns exit code of cmd2 regardless of cmd1 success
-# This is causing it to fail
-set -o pipefail
-
-# Use in the the functions: eval $invocation
-invocation='say_verbose "Calling: ${FUNCNAME[0]}"'
-
-# standard output may be used as a return value in the functions
-# we need a way to write text on the screen in the functions so that
-# it won't interfere with the return value.
-# Exposing stream 3 as a pipe to standard output of the script itself
-exec 3>&1
-
-say_err() {
- printf "%b\n" "bootstrap: Error: $1" >&2
-}
-
-say() {
- # using stream 3 (defined in the beginning) to not interfere with stdout of functions
- # which may be used as return value
- printf "%b\n" "bootstrap: $1" >&3
-}
-
-say_verbose() {
- if [ "$verbose" = true ]; then
- say "$1"
- fi
-}
-
-machine_has() {
- eval $invocation
-
- hash "$1" > /dev/null 2>&1
- return $?
-}
-
-check_min_reqs() {
- if ! machine_has "curl"; then
- say_err "curl is required to download dotnet. Install curl to proceed."
- return 1
- fi
-
- return 0
-}
-
-# args:
-# remote_path - $1
-# [out_path] - $2 - stdout if not provided
-download() {
- eval $invocation
-
- local remote_path=$1
- local out_path=${2:-}
-
- local failed=false
- if [ -z "$out_path" ]; then
- curl --retry 10 -sSL --create-dirs $remote_path || failed=true
- else
- curl --retry 10 -sSL --create-dirs -o $out_path $remote_path || failed=true
- fi
-
- if [ "$failed" = true ]; then
- say_err "Download failed"
- return 1
- fi
-}
-
-verbose=false
-repoRoot=`pwd`
-toolsLocalPath="<auto>"
-cliLocalPath="<auto>"
-symlinkPath="<auto>"
-sharedFxVersion="<auto>"
-force=
-forcedCliLocalPath="<none>"
-architecture="<auto>"
-dotNetInstallBranch="release/2.0.0"
-
-while [ $# -ne 0 ]
-do
- name=$1
- case $name in
- -r|--repositoryRoot|-[Rr]epositoryRoot)
- shift
- repoRoot="$1"
- ;;
- -t|--toolsLocalPath|-[Tt]oolsLocalPath)
- shift
- toolsLocalPath="$1"
- ;;
- -c|--cliInstallPath|--cliLocalPath|-[Cc]liLocalPath)
- shift
- cliLocalPath="$1"
- ;;
- -u|--useLocalCli|-[Uu]seLocalCli)
- shift
- forcedCliLocalPath="$1"
- ;;
- -a|--architecture|-[Aa]rchitecture)
- shift
- architecture="$1"
- ;;
- --dotNetInstallBranch|-[Dd]ot[Nn]et[Ii]nstall[Bb]ranch)
- shift
- dotNetInstallBranch="$1"
- ;;
- --sharedFrameworkSymlinkPath|--symlink|-[Ss]haredFrameworkSymlinkPath)
- shift
- symlinkPath="$1"
- ;;
- --sharedFrameworkVersion|-[Ss]haredFrameworkVersion)
- sharedFxVersion="$1"
- ;;
- --force|-[Ff]orce)
- force=true
- ;;
- -v|--verbose|-[Vv]erbose)
- verbose=true
- ;;
- *)
- say_err "Unknown argument \`$name\`"
- exit 1
- ;;
- esac
-
- shift
-done
-
-if [ $toolsLocalPath = "<auto>" ]; then
- toolsLocalPath="$repoRoot/Tools"
-fi
-
-if [ $cliLocalPath = "<auto>" ]; then
- if [ $forcedCliLocalPath = "<none>" ]; then
- cliLocalPath="$toolsLocalPath/dotnetcli"
- else
- cliLocalPath=$forcedCliLocalPath
- fi
-fi
-
-if [ $symlinkPath = "<auto>" ]; then
- symlinkPath="$toolsLocalPath/dotnetcli/shared/Microsoft.NETCore.App/version"
-fi
-
-
-rootCliVersion="$repoRoot/.cliversion"
-globalJson="$repoRoot/global.json"
-bootstrapComplete="$toolsLocalPath/bootstrap.complete"
-
-# if the force switch is specified delete the semaphore file if it exists
-if [[ $force && -f $bootstrapComplete ]]; then
- rm -f $bootstrapComplete
-fi
-
-# if the semaphore file exists and is identical to the specified version then exit
-if [[ -f $bootstrapComplete && ! `cmp $bootstrapComplete $rootCliVersion` ]]; then
- say "$bootstrapComplete appears to show that bootstrapping is complete. Use --force if you want to re-bootstrap."
- exit 0
-fi
-
-initCliScript="dotnet-install.sh"
-dotnetInstallPath="$toolsLocalPath/$initCliScript"
-
-# blow away the tools directory so we can start from a known state
-if [ -d $toolsLocalPath ]; then
- # if the bootstrap.sh script was downloaded to the tools directory don't delete it
- find $toolsLocalPath -type f -not -name bootstrap.sh -exec rm -f {} \;
-else
- mkdir $toolsLocalPath
-fi
-
-if [ $forcedCliLocalPath = "<none>" ]; then
- check_min_reqs
-
- # download CLI boot-strapper script
- download "https://raw.githubusercontent.com/dotnet/cli/$dotNetInstallBranch/scripts/obtain/dotnet-install.sh" "$dotnetInstallPath"
- chmod u+x "$dotnetInstallPath"
-
- # load the version of the CLI
- dotNetCliVersion=`cat $rootCliVersion`
-
- if [ ! -e $cliLocalPath ]; then
- mkdir -p "$cliLocalPath"
- fi
-
- # now execute the script
- say_verbose "installing CLI: $dotnetInstallPath --version \"$dotNetCliVersion\" --install-dir $cliLocalPath --architecture \"$architecture\""
- $dotnetInstallPath --version "$dotNetCliVersion" --install-dir $cliLocalPath --architecture "$architecture"
- if [ $? != 0 ]; then
- say_err "The .NET CLI installation failed with exit code $?"
- exit $?
- fi
-
- echo "{ \"sdk\": { \"version\": \"$dotNetCliVersion\" } }" > $globalJson
-fi
-
-cp $rootCliVersion $bootstrapComplete
-
-say "Bootstrap finished successfully."
-
diff --git a/corebuild/build.sh b/corebuild/build.sh
index 062218ad1..5eeec6714 100755
--- a/corebuild/build.sh
+++ b/corebuild/build.sh
@@ -3,5 +3,5 @@
# build.sh will bootstrap the cli and ultimately call "dotnet build"
working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-$working_tree_root/dotnet.sh build $working_tree_root/../illink.sln $@
+$working_tree_root/../eng/dotnet.sh build $working_tree_root/../illink.sln $@
exit $?
diff --git a/corebuild/dotnet.cmd b/corebuild/dotnet.cmd
index 0e13778fa..8a766516c 100644
--- a/corebuild/dotnet.cmd
+++ b/corebuild/dotnet.cmd
@@ -15,5 +15,5 @@ if not defined VisualStudioVersion (
)
:Run
-powershell -NoProfile -ExecutionPolicy unrestricted -Command "%~dp0dotnet.ps1 -- %*"
+powershell -NoProfile -ExecutionPolicy unrestricted -Command "%~dp0..\eng\dotnet.ps1 -- %*"
exit /b %ERRORLEVEL%
diff --git a/corebuild/dotnet.ps1 b/corebuild/dotnet.ps1
deleted file mode 100644
index 2ca17df17..000000000
--- a/corebuild/dotnet.ps1
+++ /dev/null
@@ -1,27 +0,0 @@
-# set the base tools directory
-$toolsLocalPath = Join-Path $PSScriptRoot "Tools"
-$bootStrapperPath = Join-Path $toolsLocalPath "bootstrap.ps1"
-
-# if the boot-strapper script doesn't exist copy it to the tools path
-if ((Test-Path $bootStrapperPath) -eq 0)
-{
- if ((Test-Path $toolsLocalPath) -eq 0)
- {
- mkdir $toolsLocalPath | Out-Null
- }
-
- cp (Join-Path $PSScriptRoot "bootstrap.ps1") $bootStrapperPath
-}
-
-# now execute it
-& $bootStrapperPath $PSScriptRoot $toolsLocalPath | Out-File (Join-Path $PSScriptRoot "bootstrap.log")
-if ($LastExitCode -ne 0)
-{
- Write-Output "Boot-strapping failed with exit code $LastExitCode, see bootstrap.log for more information."
- exit $LastExitCode
-}
-
-# execute the tool using the dotnet.exe host
-$dotNetExe = Join-Path $toolsLocalPath "dotnetcli\dotnet.exe"
-& $dotNetExe $args
-exit $LastExitCode
diff --git a/corebuild/dotnet.sh b/corebuild/dotnet.sh
deleted file mode 100755
index fdefad969..000000000
--- a/corebuild/dotnet.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env bash
-
-__scriptpath=$(cd "$(dirname "$0")"; pwd -P)
-
-toolsLocalPath=$__scriptpath/Tools
-bootStrapperPath=$toolsLocalPath/bootstrap.sh
-
-if [ ! -e $bootStrapperPath ]; then
- if [ ! -e $toolsLocalPath ]; then
- mkdir $toolsLocalPath
- fi
- cp $__scriptpath/bootstrap.sh $__scriptpath/Tools
-fi
-
-$bootStrapperPath --verbose --repositoryRoot $__scriptpath --toolsLocalPath $toolsLocalPath > bootstrap.log
-lastExitCode=$?
-if [ $lastExitCode -ne 0 ]; then
- echo "Boot-strapping failed with exit code $lastExitCode, see bootstrap.log for more information."
- exit $lastExitCode
-fi
-
-dotNetExe=$toolsLocalPath/dotnetcli/dotnet
-echo $dotNetExe $@
-$dotNetExe $@
-exit $?
diff --git a/corebuild/integration/build.ps1 b/corebuild/integration/build.ps1
index 7e8c8589b..c633e3b45 100644
--- a/corebuild/integration/build.ps1
+++ b/corebuild/integration/build.ps1
@@ -3,7 +3,7 @@ If (Test-Path $tasksFolder) {
Remove-Item -r $tasksFolder
}
-$dotNetTool = Join-Path $PSScriptRoot "..\dotnet.ps1"
+$dotNetTool = Join-Path $PSScriptRoot "..\..\eng\dotnet.ps1"
# create integration packages
& $dotNetTool restore (Join-Path $PSScriptRoot ".." ".." "illink.sln")
& $dotNetTool pack (Join-Path $PSScriptRoot ".." ".." "illink.sln")
diff --git a/corebuild/integration/build.sh b/corebuild/integration/build.sh
index 43b59f5e6..6656cbf10 100755
--- a/corebuild/integration/build.sh
+++ b/corebuild/integration/build.sh
@@ -8,7 +8,7 @@ then
rm -r $tasksFolder
fi
-dotNetTool=$__scriptpath/../dotnet.sh
+dotNetTool=$__scriptpath/../../eng/dotnet.sh
# create integration packages
$dotNetTool restore $__scriptpath/../../illink.sln
$dotNetTool pack $__scriptpath/../../illink.sln
diff --git a/corebuild/restore.cmd b/corebuild/restore.cmd
index 6c0f997a7..c6a0fa143 100644
--- a/corebuild/restore.cmd
+++ b/corebuild/restore.cmd
@@ -3,5 +3,5 @@
REM restore.sh will bootstrap the cli and ultimately call "dotnet
REM restore". Dependencies of the linker will get restored as well.
-@call %~dp0dotnet.cmd restore %~dp0..\illink.sln %*
+@call powershell %~dp0..\eng\common\msbuild.ps1 /t:Restore %~dp0..\illink.sln %*
@exit /b %ERRORLEVEL%
diff --git a/corebuild/restore.sh b/corebuild/restore.sh
index ad22a1711..9cd5482e8 100755
--- a/corebuild/restore.sh
+++ b/corebuild/restore.sh
@@ -4,4 +4,4 @@
# restore". Dependencies of the linker will get restored as well.
working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-$working_tree_root/dotnet.sh restore $working_tree_root/../illink.sln $@
+$working_tree_root/../eng/dotnet.sh restore $working_tree_root/../illink.sln $@
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
new file mode 100644
index 000000000..8a5c7574f
--- /dev/null
+++ b/eng/Version.Details.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Dependencies>
+ <ProductDependencies></ProductDependencies>
+ <ToolsetDependencies>
+ <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19125.2">
+ <Uri>https://github.com/dotnet/arcade</Uri>
+ <Sha>a0ed7c38c714b1f60f50a4a408171e2c3bcf8f7f</Sha>
+ </Dependency>
+ </ToolsetDependencies>
+</Dependencies>
diff --git a/eng/Versions.props b/eng/Versions.props
new file mode 100644
index 000000000..6f6cb4ed7
--- /dev/null
+++ b/eng/Versions.props
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <VersionPrefix>0.1.6</VersionPrefix>
+ <PreReleaseVersionLabel>prerelease</PreReleaseVersionLabel>
+ </PropertyGroup>
+</Project>
diff --git a/eng/dotnet.ps1 b/eng/dotnet.ps1
new file mode 100644
index 000000000..9e2596309
--- /dev/null
+++ b/eng/dotnet.ps1
@@ -0,0 +1,6 @@
+. $PSScriptRoot/common/tools.ps1
+
+$dotnetRoot = InitializeDotNetCli -install:$true
+Join-Path $dotnetRoot "dotnet.exe"
+$exitCode = Exec-Process (Join-Path $dotnetRoot "dotnet.exe") $args
+exit $exitCode \ No newline at end of file
diff --git a/eng/dotnet.sh b/eng/dotnet.sh
new file mode 100755
index 000000000..a91a54903
--- /dev/null
+++ b/eng/dotnet.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+source="${BASH_SOURCE[0]}"
+scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
+. "$scriptroot/common/tools.sh"
+
+InitializeDotNetCli true
+echo "$_InitializeDotNetCli/dotnet" "$@"
+"$_InitializeDotNetCli/dotnet" "$@"
+exit $?
diff --git a/external/Mono.Cecil.overrides b/external/Mono.Cecil.overrides
new file mode 100644
index 000000000..73e5fa4b4
--- /dev/null
+++ b/external/Mono.Cecil.overrides
@@ -0,0 +1,13 @@
+<Project>
+
+ <PropertyGroup Condition=" '$(ArcadeBuild)' == 'true' ">
+ <NoWarn>$(NoWarn);0618</NoWarn>
+ <!-- Signing properties from cecil are overridden by Arcade
+ because cecil imports the .NET SDK (and hence Arcade) in a
+ nonstandard way, so set them again here. -->
+ <SignAssembly>true</SignAssembly>
+ <PublicSign>true</PublicSign>
+ <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)cecil/cecil.snk</AssemblyOriginatorKeyFile>
+ </PropertyGroup>
+
+</Project> \ No newline at end of file
diff --git a/global.json b/global.json
new file mode 100644
index 000000000..885b29f96
--- /dev/null
+++ b/global.json
@@ -0,0 +1,8 @@
+{
+ "tools": {
+ "dotnet": "2.1.403"
+ },
+ "msbuild-sdks": {
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19125.2"
+ }
+}
diff --git a/illink.sln b/illink.sln
index 7a52b7822..a8267b7d7 100644
--- a/illink.sln
+++ b/illink.sln
@@ -2,14 +2,14 @@
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
MinimumVisualStudioVersion = 15.0.26124.0
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Linker", "src\linker\Mono.Linker.csproj", "{DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "external\cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Pdb", "external\cecil\symbols\pdb\Mono.Cecil.Pdb.csproj", "{63E6915C-7EA4-4D76-AB28-0D7191EEA626}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Mdb", "external\cecil\symbols\mdb\Mono.Cecil.Mdb.csproj", "{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "external\cecil\Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Linker", "src\linker\Mono.Linker.csproj", "{DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILLink.CustomSteps", "src\ILLink.CustomSteps\ILLink.CustomSteps.csproj", "{275C1D10-168A-4AC4-8F3E-AD969F580B9C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILLink.Tasks", "src\ILLink.Tasks\ILLink.Tasks.csproj", "{A7A026C4-DEB4-4EF6-963E-17E7B98A6527}"
diff --git a/src/ILLink.CustomSteps/ILLink.CustomSteps.csproj b/src/ILLink.CustomSteps/ILLink.CustomSteps.csproj
index ee025458a..0bb0f0698 100644
--- a/src/ILLink.CustomSteps/ILLink.CustomSteps.csproj
+++ b/src/ILLink.CustomSteps/ILLink.CustomSteps.csproj
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFrameworks>netcoreapp2.0;net46</TargetFrameworks>
- <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.0</TargetFrameworks>
+ <!-- net46 build is disabled until cecil uses SDK-style projects. -->
+ <TargetFrameworks>netcoreapp2.0</TargetFrameworks>
<DefineConstants>$(DefineConstants);FEATURE_ILLINK</DefineConstants>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
diff --git a/src/ILLink.Tasks/ILLink.Tasks.csproj b/src/ILLink.Tasks/ILLink.Tasks.csproj
index 6a7a02780..788728c6d 100644
--- a/src/ILLink.Tasks/ILLink.Tasks.csproj
+++ b/src/ILLink.Tasks/ILLink.Tasks.csproj
@@ -1,12 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
+ <Import Project="$(MSBuildThisFileDirectory)../../eng/Versions.props" Condition=" '$(ArcadeBuild)' != 'true' " />
<PropertyGroup>
- <VersionPrefix>0.1.5-preview</VersionPrefix>
- <TargetFrameworks>netcoreapp2.0;net46</TargetFrameworks>
- <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.0</TargetFrameworks>
+ <!-- net46 build is disabled until cecil uses SDK-style projects. -->
+ <TargetFrameworks>netcoreapp2.0</TargetFrameworks>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<BaseOutputPath>bin/</BaseOutputPath>
<PackageOutputPath>$(BaseOutputPath)nupkgs</PackageOutputPath>
-
+ <IsPackable>true</IsPackable>
<!-- IsTool true causes the build output to be placed in the
package's tools folder. This allows projects to reference the
tasks package without including the tasks dll in their
diff --git a/src/ILLink.Tasks/ILLink.Tasks.nuspec b/src/ILLink.Tasks/ILLink.Tasks.nuspec
index 760272a9d..233fe5961 100644
--- a/src/ILLink.Tasks/ILLink.Tasks.nuspec
+++ b/src/ILLink.Tasks/ILLink.Tasks.nuspec
@@ -10,6 +10,5 @@
<file src="ILLink.Tasks.targets" target="build" />
<file src="ILLink.CrossGen.targets" target="build" />
<file src="netcoreapp2.0/**/*.dll" target="tools" />
- <file src="net46/**/*.dll" target="tools" />
</files>
</package>
diff --git a/src/linker/ILLink.props b/src/linker/ILLink.props
index 5aa572837..33a3978cc 100644
--- a/src/linker/ILLink.props
+++ b/src/linker/ILLink.props
@@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFrameworks>netcoreapp2.0;net46</TargetFrameworks>
- <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.0</TargetFrameworks>
+ <!-- net46 build is disabled until cecil uses SDK-style projects. -->
+ <TargetFrameworks>netcoreapp2.0</TargetFrameworks>
<DefineConstants>$(DefineConstants);FEATURE_ILLINK</DefineConstants>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>