- Project dependencies are always built into their specific folders and the main project is the only one that uses the output path and intermediate output path variable.
- Publish respects the output path for publish only, not compile as part of publish. This means that publishing multiple runtimes will stomp on each other. So don't do that. We can throw if you specify and output location and you haven't specified a specific combination of RID and framework. Alternatively it should probably just pick the first TFM/RID pair from the lock file. This is similar to how `dotnet run` works.
- Cleaned up the incremental build output formatting
- Use a single stream (output stream) since interleaving them was causing formatting issues (like losing random characters in the middle of outputting things).
- Didn't change how pack works, it still preserves the output structure when passing `--output`, this one is worth discussing. We could leave the build output inplace and only move the package to the output location. That's more consistent with how everything else works and can be a follow up PR.
With this change, any referenced analyzer project will be parsed by the
project system and the assemblies will be passed down to the compiler.
By default, the analyzer language is considered to be "cs". If another
language is used, the "languageID" option should be specified inside the
"analyzerOptions" section of the project.json file.
Resolves#83
Fix the refactoring bugs
fix restore
downgrade version of package command test
Linux Test Script Fixes
use corehost instead of corerun for arg testing
don't copy corehost
fix scripts
Account for change in publish path, use corerun. Issue with AppContext.BaseDirectory in corehost.
Case Sensitive Reflector
wait for process exit
Fix bug in runtests.ps1
fix release build output path
fixup bug in runtests.sh
Renaming variables according to code review comments. Adding the folder logic to the builder tests. Creating a separate compilation folder during the build.
Changing the build scripts to copy files over from debug\dnxcore and to check for the folders existence before trying that.
Making the build command aware of the subfolders and making E2E tests aware of subfolders.
Fixing compiler tests to look for the xml in the right plae taking into consideration the configuration and tfm.
Modifying publish tests to not take into consideration the runtime. This is a temporary change. will bring it back once the commands all understand rid.
Making the packaging step work by placing binaries where dotnet pack expects.
Parallel test runs were racing on the same response file in the common
intermediate directory.
Each builder test now has it's own intermediate directory
- Fixed a bunch of dependencies that was causing dotnet restore to fail on the CLI
- Added imports to `project.json` so that `dotnet-restore` works
- Fixed a bunch of dependency issues in different projects
- Ironically, running `dotnet restore` on the dotnet-restore project still fails (will fix in another commit). Looks like it might be a nuget issue
1. Rebase on new LibraryExporter
2. Update dependency name to "fx/<name>" for reference assembly
3. Update framework friendly name
4. Fix dependency message regression
5. Update tests
- Clone the args in the CompileContext constructor to bring uniformity
to the way args are accessed
- Compute IO for a project and have it shared between build and compile
- Extract dependency logic into facade
- Add tests for incremental build
- Add precondition checks for compiler IO
add --force-incremental-unsafe flag
CentOS tests were blocked due to issue https://github.com/dotnet/corefx/issues/5066.
It has been fixed with the latest NetStandardLibrary, hence upgrading from 1.0.0-rc2-23616 to 1.0.0-rc2-23704.
With this fix the native shims are correctly restored by dnx for RID centos.7-x64.
This is a quick fix to improve test diagnosability with the E2E Test.
We see situations where the output executable fails and we are left without any error output.
This addition should output any stderr output from the output executable.
cc @piotrpMSFT
- Removed unused message types
- Removed intermediate ProjectInfo and ProjectState types
- Renamed Snapshot to ProjectSnapshot and ProjectSnapshot to ProjectContextSnapshot
- Exposed Project on ProjectContextCollection
- Removed AllDiagnostics message since it won't be used
- Renamed ProjectContextManager to ProjectManager
- Create project context snapshot in one pass
- Create project contexts lookup inline
- Consistent naming of payloads
Build becomes the new compile. It decides which project to compile and how. It checks for incremental preconditions
Compile's resonsibility is trimmed down to only knowing how to invoke the compiler on a project