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

@ -0,0 +1,45 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System;
using Microsoft.Extensions.Internal;
namespace Microsoft.DotNet.ProjectModel.Files
{
public class IncludeEntry : IEquatable<IncludeEntry>
{
public string TargetPath { get; }
public string SourcePath { get; }
public bool IsCustomTarget { get; set; }
public IncludeEntry(string target, string source)
{
TargetPath = target;
SourcePath = source;
}
public override bool Equals(object obj)
{
return Equals((IncludeEntry)obj);
}
public override int GetHashCode()
{
var combiner = HashCodeCombiner.Start();
combiner.Add(TargetPath);
combiner.Add(SourcePath);
return combiner.CombinedHash;
}
public bool Equals(IncludeEntry other)
{
return other != null &&
string.Equals(TargetPath, other.TargetPath, StringComparison.Ordinal) &&
string.Equals(SourcePath, other.SourcePath, StringComparison.Ordinal) &&
IsCustomTarget == other.IsCustomTarget;
}
}
}