Age | Commit message (Collapse) | Author |
|
|
|
* Reorder some things in dir.targets to accomodate that.
|
|
|
|
* Cleaner separation of corefx concepts from stuff in FrameworkTargeting.targets
* Fix the value of AdditionalCleanDirectories (unrelated cleanup).
|
|
* The targets themselves are now located in FrameworkTargeting.targets.
This will let us easily merge them back into buildtools, where the
common logic should live
* The specific properties used in corefx are now in dir.targets.
|
|
ReferenceFromRuntime for src projects isn't safe. It allows any source
project to reference the output of another source project without
properly sequencing the build.
This fixes that by changing ReferenceFromRuntime to instead use a
ProjectReference to the runtime project for the building configuration
and filter that to just the files requested.
I also completely block the use of ReferenceFromRuntime in test projects
|
|
|
|
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.
|
|
* 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
|
|
Remove the local copies of Win32 API lists, and use the lists
from buildtools instead. Fixes issue #13738.
|
|
This cleans out a lot of the project.json batch restoring, validation,
and generation from the build.proj. Also enables restoring of packages
for individual projects again. We well eventually move all projects that
need restoring under external so we can keep them isolated from the rest
of the build.
|
|
Currently we build and test in CI differently from the official pipeline. This change will help reduce inconsistencies in the way in which we build to expose issues sooner.
The build will now build the product as packages, install them locally, restore the test-runtime deps for the locally built versions and then test them. The locally built
packages are installed to the localpackages folder and the LKG set restored goes into the packages folder. Tests will only restore against locally built packages as a
source and then copy the required LKG dependencies like specific runtime dependencies that aren't built locally. The localpackages are overwritten each time a build occurs so that only one version remains in the folder.
Other changes required to make this work:
- Add missing runtimes in the supports clause
- Add LKG runtime packages not produced by the build
|
|
* 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
|
|
|
|
things (#14062)
* Used GenerateBuilds.ps1 script to generate the P2P references from the project.json files in ref
* Update refs to build with ProjectReference's instead of package references
This deletes all the ref\project.json files and instead adds ProjectReference
to other refs that are used to build.
There is only one exception which was System.Net.Http which needed a project.json
to get the net46 targeting pack otherwise everything else is P2P.
* Update Reflection.Emit contracts to support latest version of contracts
* Add depproj to get windows.winmd support when building refs
* Special handle System.Net.Http ref project to deal with net46 targeting pack
* Moved CLSCompliant to SecureString ctor instead of type
* Add P2P reference from S.IO -> S.R.Extensions
* Add additional ProjectReferences to more ref projects after master rebase
* Start binplacing ref assemblies and disable rest of build
* Simplify all ref projects to only build for netcoreapp (default target group)
* Only binplace netcoreapp refs
* Allow Reference's to be resolved from targeting pack directories
* Use GenerateBuilds.ps1 to convert src project.json refs to References
* Allow overriding stuff in Tools
* System.Runtime src project building against targeting pack
* Re-purpose GenerateBuilds.ps1 to re-write src references
* Only build csproj files in src.builds
* More custom stuff in GenerateBuilds.ps1
* Binplace all netstandard assemblies into netcoreapp as well.
* Add project.json to System.Collections.Immutable
* More custom generatebuilds.ps1 stuff
* Normalize csproj files before running GenerateBuilds.ps1
* Better match the replaced 'None Include="project.json"' line.
* Another missing project.json inclusion in csproj
* Remove ExcludeFromCodeCoverageAttribute from Immutable project
* Include another project.json
* Add some P2P references
* Add another project.json include
* Disable Http.Rtc project.
* Disable two more UWP projects and another P2P ref"
* More Cleanup
* Run GenerateBuilds.ps1 to re-write all nuget refs as <Reference>'s
* Binplace netstandard runtime assemblies to netcoreapp as well.
* Re-hook all src projects into build.proj
* Fix bin clashing caused by bad ProjectReference metadata
* Use 'copy' instead of 'cp' in init-tools.cmd. Add copying to init-tools.sh as well.
* Correct casing of windows.winmd in depproj
* Disable System.Memory.csproj outside of Windows
* Fix unix exclusion of System.Memory, and include vbproj files
* Fix VisualBasic compilation
* There was an extra definition of MemberTypes that was internal to the
assembly. It's now defined in System.Private.CoreLib, so I deleted the
extra here.
* There was an invalid call in Operators.vb that I fixed.
* Add additional project references and configuration fixes after rebase
* Fix build warnings in ref projects
* Fix build warnings in src projects
|
|
|
|
The code for building the source index is now here: https://github.com/dotnet/source-indexer
|
|
|
|
|
|
Move CommonTestProjectJson Properties to build.proj
|
|
|
|
|
|
Restore this common project.json upfront to improve sync time and avoid download contention from nuget.
|
|
* Add Source Index generation project
* Add error and fix bad working directory
* Remove .builds file GetTargetPath
* Address nits
* Add a proper ending tag.
|
|
|
|
This change adds Path.GetRelativePath, which will calculate the relative
path from one directory to another file/directory.
This change also adds support for targetting netcoreapp
|
|
|
|
|
|
Enable netcoreapp1.1 tests to run as part of the CI build
|
|
* Initial prototyping of produces api for corefx repo
* Fix spacing
|
|
|
|
As part of automating stress test builds include the test-runtime
project.json file in the test archives; this requires a build tools update
to pick up the new functionality.
|
|
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)
|
|
before building (#8088)
|
|
* 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.
|
|
|
|
Conflicts:
dir.targets
|
|
When building CoreFx from TFS we need to inject build
targets that merge optimization data into the binary.
Previously we did this as a post-build step that would
copy the binary to a different location. When we moved
packages to the open this changed the package to pick
up the binary from the open build location instead of
the internal copy with optimization data. To fix this,
inject the optimization step into the open build.
Eventually we need to port the optimization merge
task to buildtools so that we don't have to rely on
this internal-only build step.
[tfs-changeset: 1578918]
|
|
|
|
|
|
[tfs-changeset: 1562939]
|
|
ProjectK as changeset 1548846
[tfs-changeset: 1549309]
|
|
changesets integrated from Fxmain. This in order to unblock the build.
[tfs-changeset: 1548857]
|
|
|
|
Inputs/Outputs were locked. Switch to a semaphore file and allow it to warn in the rare case it fails to touch it successfully.
Merged from CS#1485206.
[tfs-changeset: 1493243]
|
|
Since dnu doesn't support config files we must use the --source argument instead; this way we can specify an internal cache when building from razzle.
This adds a new item group, DnuSourceList, which contains all of the nuget package sources dnu should query when restoring packages. For razzle builds we add our internal cache on \\cpvsbuild.
I removed all but the build tools feed from nuget.config as we no longer rely on it for package store (just for build tools).
Merged from CS#1493227.
[tfs-changeset: 1493233]
|
|
|
|
Support Proxy servers for our nuget download task
|
|
|
|
Reapply #38, but handle the case when DefaultWebProxy is null.
Fix #963
|