Age | Commit message (Collapse) | Author |
|
This removes configurations for build against properties as well
as cleans up some of the Restore-All targets which we no longer
need.
|
|
Remove some unused targets in dir.traversal.targets and fix Clean.
Update the name of BuildAll to BuildAllConfigurations and make it
work with traversal projects too.
Fix clean for depproj's.
|
|
|
|
|
|
Change contract of cross-project target to return configuration rather
than trying to construct a project item. This preserves the metadata of
the original Project/ProjectReference. When the MSBuild task creates
the TargetOutputs it will copy all the original metadata from the
Project items and create the OriginalItemSpec metadata. From this
we can simply transform back to a Project/ProjectReference and prepend
Configuration to the AdditionalProperties. This fixes a case where
projects were setting AdditionalProperties and we were squashing it.
This exposed an issue in traversal where we were still setting TestTFM
(previously this was squashed, only with other AdditionalProperties).
To make it clearer how this worked I made the targets only return a
property so that we don't accidentally squash any metadata set on the
project.
I've also cleaned up the targets to make things a bit more consistent
and added comments.
|
|
build.proj (#14663)
* [WIP]Created src\tests.proj which is mostly building all tests
* Convert test project .builds to Configuration.props
* Fix test paths in targetingpack.props, move test-runtime.
* Move test-runtime under external.
* Rename RuntimeDir->RuntimePath in targetingpacks.props and
Xunit.Runtime.depproj.
* Remove test-runtime project.json from the SupplementalTestData list in
dir.targets.
* Remove XUnit.Runtime.depproj from tests.proj
* Convert test .builds files to Configuration.props.
* Revert "Convert test project .builds to Configuration.props"
This reverts commit 1efc4d9a02d1c2eced0f20a544abcbcd0092f40c.
* Fix compilation error in System.Collections.Concurrent.Tests
* Fix condition in System.Collections ref project
* Fix two more Collections test project issues
* Add Configuration.props for System.Collections ref
* Fix TargetGroup conditions in System.Collections.Tests.csproj.
* Fix compilation problems with NameResoltion.Pal.Tests.
* Fix compilation errors in SqlClient Stress tests
* Fix IO.Compression.Performance tests compilation
* Fix compilation and configurations of System.Net.Http.Unit.Tests.csproj.
* Fix compilation issues in System.Private.Xml.Linq tests
* Disable XsltScenarios.Tests project, like it was before.
* Fix missing DefineConstants for System.Linq ref project.
* Fix compilation of System.Net.Primitives.Pal.Tests.csproj
* Fix compilation of System.Net.Primitives.UnitTests.Tests.csproj
* Fix compilation of System.Security.Cryptography.Cng.Tests.csproj.
* Fix compilation of System.Net.Primitives reference project
* Fix compilation of System.Net.Security ref project
* Fix compilation of SYstem.Net.Security.Tests.csproj
* Fix configuration of X509Certificates ref project
* Fix compilation errors in System.Net.Http.Unit.Tests.csproj
* Fix Common.Tests.csproj
* Fix System.Diagnostics.Debug.Tests.csproj
* Fix Microsoft.Win32.Registry.Tests.csproj
* Add runtime.native.System.Data.SqlClient.sni to external project
* Fix System.Diagnostics.TraceSource.Tests.csproj
* Fix System.IO.Compression.Performance.Tests.csproj
* Move supplemental test data into test-runtime/project.json
* Fix System.IO.FileSystem.Watcher.Tests.csproj
* Fix System.IO.FileSystem.Tests.csproj
* Fix System.IO.Pipes.AccessControl.Tests.csproj
* Fix System.IO.MemoryMappedFiles.Tests.csproj
* Fix System.IO.Pipes.Tests.csproj
* Fix System.Json.Tests.csproj
* Add missing supplemental test data for net security tests
* Fix resource names in System.Xml.XPath.XDocument.Tests.csproj
* Fix Assembly.Location test case
* Fix assembly loading paths in DefaultLoadContextTest.cs
* Fix issues in System.Runtime.Loader.Tests.csproj
* Fix RootNamespace in ResourceManager tests
* Mark OpenSSL tests as unsupported on Windows
* Fix RootNamespace in System.Xml.XPath.Tests.csproj
* Fix RootNamespace in System.Xml.XPath.XmlDocument.Tests.csproj
* Fix System.IO.Compression.Tests.csproj
* Add missing Configurations.props files for System.Net projects
* Fix compilation issues in WinHttpHandler tests
* Add fixes and a workaround for Linq.Expressions tests
* Add workaround for System.Runtime.Tests
* Use extension methods explicitly in Ref.Emit tests
* Hook up test projects into build
* Fix build configuration of Crypto.Primitives for netcoreapp
* Enable VB tests outside Windows
* Enable Mail tests outside windows
* Don't run Unsafe tests outside windows
* Don't build Unsafe tests outside Windows
* Don't build WebServer project outside of Windows.
* Fix corerun path for Unix tests.
* Fix casing of 'Native' directory in NETCoreApp private pkgproj
* Remove runtime-specific stuff from Xunit.Runtime.depproj
* Move tests into a separate project ('tests.msbuild') which isn't built in build.proj
* Remove duplicate types from NameResolution.Pal tests
* Skip tests in a project if there is no compatible configuration.
* Include internal socket types only on Windows in NameResolution tests
* Manually fix S.R.InteropServices configurations
* Rename tests.msbuild -> tests.builds
* Manually fix System.Text.Encoding.Tests.csproj configuration
* Manually fix System.Threading.Tests configuration
* Manually clean up System.Runtime.Tests.csproj
* Fix System.IO.FileSystem.Tests configurations
* Manually fix System.Globalization.Tests configurations
* Manually fix System.IO.Pipes.Tests configurations
* Manually fix System.IO.Compression.Tests configurations
* Manually fix System.Runtime.Extensions.Tests configurations
* Manually fix System.IO.MemoryMappedFiles.Tests configurations
* Manually fix S.Diagnostics.Process.Tests configurations
* Manually fix System.ComponentModel.TypeConverter.Tests configurations
* Misc PR feedback.
* Use HostRunnerName instead of HostRunner in Process tests
* Fix configurations for S.ServiceProcess.ServiceController.Tests
* Revert to using ConfigurationErrorMsg to check if tests should be skipped.
Configuration still defaults to 'Debug' even if there is no valid configuration.
|
|
* Catch build failures, move project annotation into buildvertical (for
now), update system.memory build
* Use dirs.proj
* Specify archgroup for jenkins build
* Use buildconfiguration for inner loop testing in jenkins
|
|
* Build each configuration of corefx tools
* Fully qualify path to props files for import
* Build using static configurations
* Package build, ignore references to System.Threading.Overlapped and
System.Runtime.Serialization.Formatters which aren't being built at the
moment.
* Rename target
* Remove unintentional add of baseline file
* Configuration fixes, fix typo in netci.groovy, re-enable specifying
OSGroup property
* Interim build, overbuilds reference assemblies
* Reduce to passing Configurations
* Fix traversal, undefine configuration for contract projects, remove
trimunconverted (not used)
* lower message importance
* Minor fixes, changing messages, fixing comment
* system.runtime.extensions contract causes binclash because it requires a
configuration. temporarily disable configuration
* Fix trimming of projects
* Eliminate circular dependency in package build
* Fix OSX build
* Cleanup, less msbuild invocations
|
|
* Vertical build changes
* Build a vertical in dev/eng
* remove repro.bat from check-in
* Remove defaulttargetgroup from configurations.props files
* Remove configurations.props from test libraries
* Additional configuration files, updating traversal.
* Add default configurations for ref projects
* Remove default targetgroups, disable code analysis (currently breaking the
vertical build).
* Build vertical using Eric's changes to configurations
* Minor fixes to build from a clean enlitment
* Set targets properties in dir.props
* Make vertical build the default
* Include building src\tools in init-tools.cmd
* Add linux init-tools
* Fix msbuild.sh command
* Add build tools message to Linux
* Revert init-tools, investigate building corefx tools tomorrow
* Update configurations, remove empty targetgroup from all projects, modify
most conditionals to be positive conditions instead of negative
* Remove unneccessary generateprojectconfigurations project
* Build CoreFx.tools in init-tools
* Can't build corefx.tools in init-tools because packages aren't restored
* Hack build to build refs first
* Slightly less hacky reference project build, but still kind of hacky...
* Align properties for ref builds to prevent binclash and overbuilding
* Update BeforeTarget for rename
* Rework traversal to work with ref and corefx tools projects
* Add target for builds projects
* Fully qualify paths to projects
* Fully quality path name for corefx.tools
* testing removing osgroup from groovy on Windows
* Remove OSGroup from config.json
* revert change to groovy
* return os property
* Try changing osgroup to hostos
* hack around osgroup setting
* Fix passing groups
* Add system.collections which was missing from system.console
* Add some missing references for Unix build
* Add references for unix
* Unix support changes
* Fix typo in system.net.http
* Fix typo in system.threading.overlapped
* no ref project available for system.reflection.metadata
* Unix changes
* Exclude system.memory
* diagnostics.fileversioninfo was missing reference to Path
* Unix changes
* Fix reference name
* Add reference for unix
* Move source file to windows only
* Disable building system.threading.overlapped
|
|
This target was using a property that is not defined by traversal
projects.
|
|
|
|
* Update build tools to 901-01
This is primarily to pull in change
https://github.com/dotnet/buildtools/pull/1081
* Remove PrepareForRun from the target list when running Tests
We no longer need PrepareForRun to go before our Test target
and in fact it causes issues with the ordering of ProjectReference
evaluation so we need to remove it from our traversal targets.
|
|
|
|
|
|
|
|
Enable netcoreapp1.1 tests to run as part of the CI build
|
|
|
|
* Initial prototyping of produces api for corefx repo
* Fix spacing
|
|
Updates buildtools and BuildTest versions to consume some changes that allow netcoreapp1.1 as a TestTFM.
|
|
|
|
|
|
This change is to support filtering according to the TestTFM. e.g. can do
“build.cmd /p:FilterToTestTFM=net46”
The change here is splitting the Build phase from the Test phase in dir.traversal.targets
so we don’t have to rebuild the test assemblies when passing TestTFM property to run the test.
Now if FilterToTestTFM is not specified, we default running the tests as netcoreapp1.0
so when issuing “build.cmd/sh” Command without passing FilterToTestTFM, it will
filter the tests to netcoreapp1.0 and run those tests.
I have enabled one of the test projects System.AppContext.Tests to support net46
as example, next step will be Enabling the rest of all projects to run against all
platforms (net46, net461, net462, netcore50 and netcore50aot)
|
|
|
|
avoid race conditions (#8587)
Making sure that build-tests.cmd will first restore the version files to avoid race conditions
|
|
* Enable project refrence to package dependency conversion in test builds
Opts some tests out of the process with "KeepAllProjectReferences"
Opts some project references out of conversion with "KeepProjectReference"
pulls in maririos change to sync.cmd
Respond to PR feedback
Note: Generated project.json's fail to restore because of missing test-runtime
property in frameworks which now have dependencies but previously did not.
* Move global.json to root so that generated project.json's can find it for the test-runtime
* System.Reflection.Context does not run on dnxcore50, but the project.json has that specified as the framework.
Can't convert this to netcore50 because there is no current test-runtime for netcore50. Leave project reference
when doing a test build against packages so that it can use the netcore50 implementation directly.
|
|
When building native Linux packages we need the ability to build the
packages specific to the distro on which we're building. I have
overloaded the OSGroup property to specify the runtime ID to which a
package build belongs so the other distros get filtered out.
|
|
Fixing #7455 to re-enable test filtering
|
|
|
|
|
|
|
|
|
|
|
|
I've run my binclash logger on the packaging build and identified all
the problems that result in multiple builds evaluations producing the
same output.
In some cases this was due to global properties from traversal leaking
into library build. I have fixed these as follows:
Dummy
This property was just being used to trigger batching to run
multiple builds of the same project in a batch. Instead of
triggering batching by defining this in the properties, which
has side effects, I used the %(Identity) in a condition that would
always evaluate to true, which has no side effects.
DefaultBuildAllTarget
Similar to FilterToOSGroup this only applies for traversal projects
so I undefine it when building a non-traversal project.
PackageTargetFramework
We were using this property to package the output of the library
twice in different paths. Rather than doing this from the package
project I just have the library project declare that it should be
packaged twice.
[tfs-changeset: 1573841]
|
|
CodeCoverage builds.
|
|
Merge changes from TFS
|
|
|
|
FilterToOSGroup was flowing from .builds to csproj
which was causing unique global property sets for
the same csproj. As a result the projects would
build multiple times and race when writing output.
[tfs-changeset: 1562265]
|
|
In the open Packages build as part of the managed build
pass, as a platform (architecture) is not set. Ensure that the
shim packages are built for the correct architectures during
the open build.
In the TFS build we always set platform up front so these
were getting the correct value from the build environment.
Switch to use the OSGroup filtering instead of conditions.
|
|
After this change if you build a .builds file it will all projects
defined in it. However if you specify OSGroup or FilterOSGroup as a property
it will only build the projects that are for that OSGroup or AnyOS.
Change the default OSGroup to AnyOS instead of Windows_NT.
By default if you build from the root it will only filter the projects to
just the OS that you are building on (including anything that is AnyOS).
If you want to build all projects for all OS's from the root pass
/p:BuildAllOSGroups=true property from the command line.
Includes an update to project-guidelines.md and windows-instructions.md docs
with information on the changes.
[MERGE with support commit]
|
|
Adds packages for a few libraries and integrates
package build into the binary build process.
|
|
|
|
This will allow faster setup for offline work.
|
|
This commit enables generating code coverage reports for individual
projects. To run a build and test with code coverage reports run
command:
msbuild /t:BuildAndTest /p:Coverage=true
|
|
We recently switch to using ErrorAndContinue and when doing so the
errors weren't propagated to the outer build. We now use the well
known msbuild property MSBuildLastTaskResult to check the result of
the last task and use that to determine if any projects failed and
if so we Error.
|
|
This change adds a BuildAndTest and Test target to our default
dir.targets file and hooks RunTestsForProject off the Test target
so that by default if you build an individual project from the
command line or in an IDE like VS it will just do the build and not
run the tests. If people want to run the tests then they need to
execute the BuildAndTest target (or just the Test target). This
prevents the need for us to use special conditions like
BuildingInsideVisualStudio in our targets.
I've also changed the DefaultTargets for our build.proj and dirs.proj
files to be BuildAndTest so if you run the build for them it will stil
do the build and test run.
|
|
|
|
|
|
Right now, there's a mix of ToolsVersion 4.0 and 12.0 in the projects.
We should make sure that it's 12.0 everywhere.
|
|
This is the initial change to switch to using common targets across the repo.
This change adds a dir.props and dir.targets file that each project file will
import at the top and bottom of the project to default a lot of the common properties
and targets.
|