-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Conversation
eng/Versions.props
Outdated
| <UsingToolNetFrameworkReferenceAssemblies>true</UsingToolNetFrameworkReferenceAssemblies> | ||
|
|
||
| <!-- Libs --> | ||
| <CredentialManagementVersion>1.0.2</CredentialManagementVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These were copied over from arcade but these versions should be cleaned up and reconciled with what we have in dependencies.props.
eng/common/build.ps1
Outdated
|
|
||
| function Build([string] $buildDriver, [string]$buildArgs) { | ||
| & $buildDriver $buildArgs $ToolsetBuildProj ` | ||
| /m /nologo /clp:Summary /warnaserror ` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to file an issue to fix all the build warnings to re-enable /warnaserror
| solution=$2 | ||
| shift 2 | ||
| ;; | ||
| --projects) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to fix this in the arcade version of this build.sh script.
|
Things yet to be done:
|
3d76ab4 to
3cdb6ce
Compare
build.cmd
Outdated
| echo. | ||
| goto :Build | ||
| @echo off | ||
| powershell -ExecutionPolicy ByPass -NoProfile %~dp0eng\common\Build.ps1 -projects %~dp0build.proj -restore -build %* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(nit) casing on the file name Build.ps1 vs. build.ps1
build.sh
Outdated
| "$__scriptpath/build-managed.sh" -BuildPackages=true "$@" | ||
| exit $? | ||
| scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" | ||
| "$scriptroot/eng/common/build.sh" --build --restore --projects %~dp0build.proj $@ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(nit) I think it would be great if we kept the windows and non-Windows scripts as close as possible. Here the arguments are defined in a different order in build.sh than they are in build.cmd. This makes it hard to tell that they are passing the same arguments in each.
/build.sh" --build --restore --projects %~dp0build.proj $@
vs
Build.ps1 -projects %~dp0build.proj -restore -build %*
eng/build-test.sh
Outdated
| done | ||
|
|
||
| scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" | ||
| "$scriptroot/common/build.sh" --build --projects %~dp0../src/tests.builds $@ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(nit) Similar comment here - the order of parameters should be the same as the windows script.
eng/Versions.props
Outdated
| </PropertyGroup> | ||
|
|
||
| <PropertyGroup> | ||
| <RestoreSources> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It feels really weird to have this property in a Versions.props file.
eng/build-test.cmd
Outdated
| @@ -0,0 +1,3 @@ | |||
| @echo off | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who calls these build-test scripts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CI scripts currently do. I originally removed them but I wasn't able to easily change the project without a wrapper script so I decided to keep them, at least for now.
build.proj
Outdated
| <Import Project="$(ToolsDir)VersionTools.targets" Condition="Exists('$(ToolsDir)VersionTools.targets')" /> | ||
|
|
||
| <ItemGroup> | ||
| <Project Include="src\Native\build-native.proj" Condition="'$(BuildNative)'=='true'"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just curious why this happens out of the "normal" order? Wouldn't it make more sense if src\dirs.proj would build this project, since this project is under the src directory?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can consider moving it to src\dirs.proj but it isn't a normal project and is controlled by a property from the root build so I thought it made more sense here.
global.json
Outdated
| @@ -0,0 +1,8 @@ | |||
| { | |||
| "sdk": { | |||
| "version": "2.1.401-preview-009081" | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be aware that this is going to affect anyone who uses VS in corefx....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes these changes will definitely affect folks dev flow.
|
Looking good. I really like how many root level files we can now just get rid of. I didn't really look at the |
|
What is status of this PR? Looks like 2 weeks without any update ... |
I'm hoping to get back to working on this PR soon. I'm mostly using it to help with testing the engineering changes coming with arcade. |
41a4f27 to
908240c
Compare
98cc5f6 to
08af7fd
Compare
bb85126 to
633f085
Compare
|
test Linux arm64 Release Build |
|
test Windows x64 Debug Build |
Directory.Build.props
Outdated
| </PropertyGroup> | ||
|
|
||
| <!-- Default properties for CI builds --> | ||
| <!-- TODO: Remove obsolete condition when moved to arcade. --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you remove <!-- TODO: Remove obsolete condition when moved to arcade. --> now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I can remove this comment :)
|
test Tizen armel Debug Build |
e8b0614 to
384f977
Compare
|
test Windows x64 Debug Build This one process test seems to keep failing on Nano. @danmosemsft @stephentoub have you guys seen it hitting other PR's? |
384f977 to
75982aa
Compare
Generating the resources as part of he build requires he resgen tool which only works for builds that are on windows with the full VS/.NET SDK installed. That isn't always the case so instead we will generate the manually and commit them until the CLI issue is fixed. dotnet/msbuild#2221
75982aa to
e750abd
Compare
|
I believe this PR is now ready once CI is green and my current official build test passes. |
Summary of changes: - Update to latest version of .NET SDK - Delete all the root level wrapper scripts - Switch bootstrapping model to pull in arcade scripts - Update documentation - Update CI scripts - Update official build definitions BuildToolsVersion.txt and DotnetCLIVersion.txt are no longer used and instead the cli version is in global.json and the BuildTools version is in dependencies.props for the time being until we eliminate it completely and move everything to arcade. Root build scripts now call into eng/common build scripts. With wrapper scripts under eng to allow for custom argument alias given we have removed run.exe. Restructed Build.proj in the root to separte the different phases into targets so we can call them individually through the arcade scripts or our CI/official build definitions. Wrapped native build into a build-native.proj file so we can trigger it directly from msbuild in our normal build flow. We can still directly call the native build-native.cmd/sh for bootstraping new platforms but that isn't the default any longer for our builds. CI and official builds no longer call sync and then build we just call build directly and let it do all the phases. Fixed issues with BuildTools were we need to define RootIntermediateOutputPath explicitly now given in BuildTools it looks for init-tools.msbuild which no longer exists. Update the PackagesDir to point to NugetPackageRoot now so we can configure the packages to use the machine wide cache or local repo cache. Currently our docker build definitions don't presist the user wide nuget cache so we need to pass --ci to get the packages and tmp folder localized to the repo which is presisted across commands. Our manual shims were having issues so removed the default references and reduced the amount of seeds passed to help eliminate potential reference resolution issues.
e750abd to
66392f5
Compare
|
test Linux arm64 Release Build |
2 similar comments
|
test Linux arm64 Release Build |
|
test Linux arm64 Release Build |
|
As part of this work, do you have someone looking at updating the two groovy files (netci.groovy, perf.groovy) to use the new parameter passing mechanism? All of the jobs in ci.dot.net and ci2.dot.net are now failing. |
The normal netci.groovy legs that run by default should still be working but I didn't look at perf.groovy I will take a look at those. |
|
Hm, I ask, because the windows legs seem to be failing in ci.dot.net: https://ci.dot.net/job/dotnet_corefx/job/master/job/windows_nt_release/7670/ |
|
I've fixing them in PR #32789 although they aren't easy to test so I will verify some manually but update all of them then merge the CI update. If there are other issues we find we can address them. |
Bootstrap arcade Commit migrated from dotnet/corefx@2739b08
This PR moves away from the init-tools bootstrapping model and to the model used by arcade. We still heavily depend on BuildTools but we are bootstrapping it via the arcade mechanism instead and we will slowly transition more things away from BuildTools and instead using standalone arcade packages as we progress through more of our project https://github.com/dotnet/corefx/projects/3.
This PR is far from ready but I wanted to get the initial version pushed out in PR for folks to review before I go on holiday. I will pick it up again after I'm back (~3 weeks).
@eerhardt @wtgodbe @tmat please have a look.
FYI @markwilkie @mmitche