Updated ProjectModel

- 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
This commit is contained in:
Ajay Bhargav Baaskaran 2016-04-11 19:25:28 -07:00
parent 1f0910ebcc
commit 44fd8bc2de
49 changed files with 1600 additions and 277 deletions

View file

@ -147,6 +147,48 @@ namespace Microsoft.DotNet.Tools.Compiler.Tests
result.StdOut.Should().Contain("MyNamespace.Util");
}
[Fact]
public void EmbeddedResourcesAreCopied()
{
var testInstance = TestAssetsManager.CreateTestInstance("EndToEndTestApp")
.WithLockFiles()
.WithBuildArtifacts();
var root = testInstance.TestRoot;
// run compile
var outputDir = Path.Combine(root, "bin");
var testProject = ProjectUtils.GetProjectJson(root, "EndToEndTestApp");
var buildCommand = new BuildCommand(testProject, output: outputDir, framework: DefaultFramework);
var result = buildCommand.ExecuteWithCapturedOutput();
result.Should().Pass();
var objDirInfo = new DirectoryInfo(Path.Combine(root, "obj", "Debug", DefaultFramework));
objDirInfo.Should().HaveFile("EndToEndTestApp.resource1.resources");
objDirInfo.Should().HaveFile("myresource.resources");
}
[Fact]
public void CopyToOutputFilesAreCopied()
{
var testInstance = TestAssetsManager.CreateTestInstance("EndToEndTestApp")
.WithLockFiles()
.WithBuildArtifacts();
var root = testInstance.TestRoot;
// run compile
var outputDir = Path.Combine(root, "bin");
var testProject = ProjectUtils.GetProjectJson(root, "EndToEndTestApp");
var buildCommand = new BuildCommand(testProject, output: outputDir, framework: DefaultFramework);
var result = buildCommand.ExecuteWithCapturedOutput();
result.Should().Pass();
var outputDirInfo = new DirectoryInfo(Path.Combine(outputDir, "copy"));
outputDirInfo.Should().HaveFile("file.txt");
outputDirInfo.Should().NotHaveFile("fileex.txt");
}
[Fact]
public void CanSetOutputAssemblyNameForLibraries()
{