- Added PackOptions, RuntimeOptions, PublishOptions and updated CompilationOptions
- Added IncludeFilesResolver to parse include, exclude patterns
- Added compile, embed and copyToOutput to compilationOptions
- Renamed compilationOptions to buildOptions
- Moved compilerName into buildOptions
- This change is backwards compatible
- Added warnings to be shown when the old schema is used
- Handled diagnostic messages in ProjectReader
- Added unit and end to end tests
we used to use different code when --framework was specified than when it was not specified, this synchronizes them to use the same code path which removes a hidden NullRef
also adds tests to cover both cases
* Use a WorkspaceContext in dotnet-build to cache project data across
multiple compilations in a single build action
* Dramatically reduce string and object duplication by introducing a
"Symbol Table" that shares instances of NuGetVersion, NuGetFramework,
VersionRange and string across multiple lock-file parses
Test Results:
* Testing was done by compiling Microsoft.AspNetCore.Mvc (and it's
dependencies) and taking memory snapshots after each compilation in
dotMemory
* We used to allocate ~3MB and deallocate ~2.5MB on EACH compilation in
a single build action. This has been reduced to ~120KB
allocated/deallocated
* After introducing WorkspaceContext, total memory usage spiked from 6MB
across the whole build action to about 13MB, introducing the symbol
table dropped it back to about 5-6MB.
- Ensure the long names start with `--`
- Handle null strings in UnescapeNewlines
- Handle bool options correctly.
- Allow dotnet run, compile-csc, and compile-fsc to handle .rsp files.
Also removed the dependency on Microsoft.Extensions.CommandLineUtils.Sources NuGet package and instead just checking the source files into our repo as internal classes.
Fix#2526
* Add satellite assemblies to deps file with locale data
* Publish satellite assemblies to output during publish
* Copy satellite assemblies from project-to-project dependencies on
build and publish
* Add and modify commands' README files
Update those READMEs that are outdated. Add READMEs for dotnet pack
and dotnet restore as well.
* Removing private info, adding feedback alias
Any NuGet packages that had contentFiles weren't getting the content files added to the published output directory. This breaks things like debugging in VS Code.
Fix#2459
WIP
WIP
WIP
Test out not publishing runtimeAssets
WIP
WiP x-publish
update cross-publish-test
Update Cross Publish tests
remove --config from restore
fix build
update cross publish tests
fix test compilation error
test failure fix
fix test failure
update tests
tracing
fix desktop publishing
do publish with no build, call build manually
fix
Make host publish optional, fix faux libraries?
update
Cross Publish test working
try changing test to netcore.app
fallback to host from current platform
revert change to project.json to target Microsoft.NETCore.App
fallback to compilation build output
update kestrel standalone app project.json
Make project tools command resolver test more self-contained.
make Kestrel Standalone restore against N-1
Add basic Tests for dotnet-compile-fsc
Package Targets execute before TestTargets. Use Generated Nuget Packages in TestTargets. Generate Nuget packages on all platforms, and in C#
Fix bug in dotnet-restore, change fsharp new template, add support for native assets in DependencyContextCsvReader
copy fsc.exe to temp directory instead of package cache
fix rebase error
fix issue
fixes
fixes
fix
temporarily disable debian package e2e testing
fixes
bump fsc version
update fsc version
fix rebase errors
WIP update fsc tool
WIP, rebased and working again, need to solve issues with System.CommandLine
Working state for packaged, command, fsc.exe bugging out with dlopen(, 1): no suitable image found.
execute fsc like a unpublished standalone app
fixup after rebase
working? internet is out
working
cleanup
More cleanup, and run the debian package tests during the Test phase of the build.
update FSharp Test Projects NetStandard Library Version
Update Version Suffix when packing TestPackages. This will enable packing with the right dependency versions on Windows.
update dotnet-test version
Undo the reordering of the build
fix test package project pathsj
ignore net451 build failures for test packages which we need to build on non-windows
update dependency of desktop test app
add dotnetcli feed to nuget config for fsharp dotnet new
update deps after rebase
update dependency of dotnet-compile-fsc
pass args before commandPath when using muxer for tools
adjust testpackage cleaning not to clean packages which are also generated as part of the product from the nuget cache.
undo
Pass projectJson to pack instead of using WorkingDirectory
fix path separators using depsjsoncommandresolver on windows, fix building only specific frameworks for testpackages on non-windows.
PR Feedback
rebase
overwrite fsc runtimeconfig
Any dependencies which **exactly** match the version requested in the
graph originating at the `type: platform` dependency (if any) are
trimmed from the publish output
It details the interactions between dotnet test, adapters and runners by describing the communication protocol between these pieces and the parameters that they support.
- Stamp each project with the CLI version it was last compiled with
- Rebuild those projects with a local version file that does not match the one of the current CLI that is building it
`dotnet --version` returns just the version number. This helps tools get this information without having to parse the full info.
Introduce a new argument `--info` that returns the current "long form". With this, we also change the long form to say "RID" instead of "Runtime ID" simply because that would avoid any future localization issues and thus make the parsing easier.
Fix#1607#1882
Support project.json compilationOptions:
- nowarn
- warningsAsErrors
- keyFile
- delaySign
Use env var to configure compile-fsc behaviour:
- DOTNET_FSC_PATH the fsc path. Default the bundled fsc.exe
- DOTNET_COMPILEFSC_USE_RESPONSE_FILE if '1' then pass a response file
to fsc instead of all arguments. Default pass all arguments
- DOTNET_FSC_EXEC configure how to run the fsc. Values:
- RUN run fsc passing fsc args
- COREHOST run corehost passing fsc and fsc args. The default
Use the same order of fsproj msbuild task for fsc arguments to make it easier
compare fsproj build and .net cli build
Fix --resource with path and name
Enable --debug (-g) if pdb
The generated assembly info file must be in the last - 1 position
in source files list.
1. the generated assembly info file must be in the last possibile position to
override the attributes
2. The last file is the source file with main
While building CoreRT on OSX, I have noticed a warning:
clang: warning: argument unused during compilation: `-pthread`
The issue is that the options should be `-lpthread` instead.
dotnet-build will produce a deps file for portable builds, and will now
create "runnable" outputs for RID-less targets
the outputs won't actually be runnable today because we need corehost
changes and to generate a deps.json file for corehost to use.
Modified the reporting channel factory to have a create for the adapter and a create for the runner channel. Also added an event to the create runner channel that people can listen and be notified when a test runner channel was created. I use this event to give the message handler access to the runner channel.
Added the new message handler to DotnetTest.
The change to default to Portable PDB by default has broken a number of downstream consumers. Moving back to full PDBs by default on Windows.
This leaves the option for portable PDB in place. Hence you can still enable it via the following entry in project.json:
``` json
"compilationOptions": {
"debugType": "portable"
}
```
- Handle unresolved projects better in build
- Move unresolved package marking to the resolver
- Added ToString to LibraryKey for easy diagnosis of errors
Update .exe's project.json Target Framework from dnxcore50 to netstandardapp1.5.
Update .dll's project.json Target Framework from dnxcore50 to netstandard1.3.
Adding workaround for DataContractSerialization to src\dotnet\project.json to fix crossgen issue.
Build 23901 has a dependency issue that doesn't allow the runtime.any.System.Private.DataContractSerialization
package to be restored. When we move to a new build of CoreFX we should take this workaround out.
VS 2015 Update 2 CTP has been released which has support for debugging portable PDBs. Now is a good time to make the transition so a) we can root out any remaining issues with portable PDBs and b) have larger dogfooding of the VS debugging experience here.
closes#704
- Changes to build scripts to produce Winx86 build artifacts like
zip/installer.
- Change to run Nuget-xplat in the same process as dotnet.exe instead of
spinning up a new 'corerun' process.
Adding a message handler for the version check message. Also introduced an IDotnetTest that handles state and handlers (the state machine).
Adding the test discover start message handler and introducing a test runner.
Added the handler for the GetTestRunnerProcessInfo message. Also, modified dotnet test to have separate setter for the special message handlers for terminate and unknown messages and added a separate method to add new reporting channels to DotnetTest, so that it can handle the new listener for the test runner.
Added the test runner test discovery handlers.
Added handlers to deal with the test execution itself.
Updated dotnet-test program to use the message handlers during design time.
Added a test for the whole discover tests message flow.
Added a test for the run tests full message exchange.
DOTNET_HOME is no longer required, though it is a documented override, so this change removes all unnecessary references to DOTNET_HOME from the CLI Repo.
script changes to pipe configuration to test.ps1
debug commit, remove this commit
Change dotnet-test to invoke dotnet-test-xunit directly
build tests with configuration, framework, runtime in windows
Update testtargets in new build scripts
make configuration first arg to dotnet test
PR Feedback
update command factory
fix interface
test update