As per #2970, this PR moves the main metapackage dependency under the
framework. In the F# project.json, it moves *just this* under the
framework, while the F# Core package remains under general
dependencies. The rationale is that since this is an F# project, this
packages is needed for all TFMs in the project.
Fixes#2970
This addresses part of #1623. Unfortunately, because the CLI takes Nuget
as a binary, it is hard to get to where I think we should really be.
This change makes default verbosity "minimal", which is the first level
where you get any status output. Unfortunately, things like package
downgrade warnings and the like still appear there. This does hide all
the "info" and "trace" messages by default.
I also removed the now useless (and previously undocumented)
--quiet.
Crossgen is failing in the CI machines with the below error. So trying to add an explicit reference to see if this issue goes away.
17:53:44 Error: Could not load file or assembly 'System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
17:53:44 Error compiling /mnt/resource/j/workspace/dotnet_cli/rel_1.0.0/debug_debian8.2_x64_prtest/artifacts/debian.8-x64/stage1/sdk/1.0.0-preview2-002767/dotnet.dll: Could not find or load a specific file. (Exception from HRESULT: 0x80131621)
If invalid parameters are specified in `dotnet test`, the CLI does not
catch exceptions that can be thrown such as when specifying `-r` without
a runtime.
Fixes 3084.
PR #2493 introduced the new project.json schema. The tree has 118 files
with the old schema, which added several hundred warnings.
This change can't go in until PR #2864 does - it relies on those bug
fixes.
There were still README.md files in the dotnet-compile and dotnet-compile-csc folders.
There was also a reference to it in dotnet-publish README.md doc. Removed that.
Fix#2622
When running an app with `dotnet run`, we are redirecting the standard out and error just to print it out to our standard out and error. However, we are batching the output until we hit a newline, which isn't ideal for console apps.
To fix this, `dotnet run` no longer redirects the standard out and error.
Fix#2777
This is required to update the corefx dependencies from RC2 to RC3. Some
of the corefx libs have 'netstandard1.6' as TFM and this version of Nuget
supports that TFM.
Also the 'VersionRange.IncludePrerelease' has been removed from nuget and by
default 'VersionRange.Satisfies' returns true for any prerelease version.
The following packages are changing:
Microsoft.NetCore.App: 1.0.0-rc2-3002702 -> 1.0.0-rc3-002702
Microsoft.NETCore.DotNetHost: 1.0.1-rc2-002702-00 -> 1.0.1-rc3-002702-00
Microsoft.NETCore.DotNetHostPolicy: 1.0.1-rc2-002702-00 ->
1.0.1-rc3-002702-00
Microsoft.NETCore.DotNetHostResolver: 1.0.1-rc2-002702-00 ->
1.0.1-rc3-002702-00
Also publishing the *deb file to teh debian repo feed is disabled -
https://github.com/dotnet/cli/issues/2973
Moves CLI version suffix from preview1 to preview2
Sets channel for preview2 to 1.0.0-preview2, abandoning the Beta channel to the 1.0.0-preview1 release. Once @sokket's publishing cleanup work is complete we can re-converge the channels if desired.
Removed all unnecesary code if opted out of telemetry.
Shanged sample rate to 1 for testing purposes.
CI to just regular Test
Changed hash helper function to handle a list<string> to optimize unneceary duplicate sha256 creation
Reduced new memory allocations
When using a ruleset with a relative path in buildOptions, csc can't
find the file because it is not working in the same directory as the
project.
Fix#2710
- 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
Since we write to the console and create new processes and read from their stdout and stderr, we need to ensure we have all the code pages in our process. This way we can encode/decode strings correctly when writing to our Console, and when reading from spawned process's output.
Fix#2486
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.
- Allow CommandLineApplication to handle .rsp files.
- Allow CommandOption to handle MultilpeValue options that have "..." at the end of their template.
- Allow CommandOption to handle boolean values with explicit or null values.
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
- ProjectModel uses AssemblyLoadContext which is only available in netstandard1.5. Moving ProjectModel and all its dependencies up to netstandard1.5.
- Work around our dependencies still being on old CoreFX builds by hoisting System.Runtime.Serialization.Primitives, System.Private.DataContractSerialization, System.Linq.Expressions, and System.Xml.XmlSerializer references to the current version.
`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