Imported Upstream version 5.10.0.69
Former-commit-id: fc39669a0b707dd3c063977486506b6793da2890
This commit is contained in:
parent
d8f8abd549
commit
e2950ec768
@ -1 +1 @@
|
||||
13c4421b7a5ecebbb847a299f306f96912b3ce36
|
||||
5b34281abf0849c98261c0cfdd0d23e326e8bcd9
|
@ -1 +1 @@
|
||||
5deb9ecc7ea035f4dbe596933c91280f63a5abd8
|
||||
f6abc4fd387f6974da69a91114d1ccdd791df5f0
|
@ -1 +1 @@
|
||||
16c694a0175ec7eb00563855963fdf1d5a0b987c
|
||||
b803f86ef29cfff6559c08f5186f8bdf441b8d4b
|
@ -3,6 +3,7 @@
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
[assembly:System.Reflection.AssemblyVersionAttribute("2.0.5.0")]
|
||||
[assembly:System.CLSCompliantAttribute(true)]
|
||||
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
|
||||
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
|
||||
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
|
||||
@ -39,6 +40,8 @@ namespace System.IO.Compression
|
||||
internal ZipArchiveEntry() { }
|
||||
public System.IO.Compression.ZipArchive Archive { get { throw null; } }
|
||||
public long CompressedLength { get { throw null; } }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public uint Crc32 { get { throw null; } }
|
||||
public int ExternalAttributes { get { throw null; } set { } }
|
||||
public string FullName { get { throw null; } }
|
||||
public System.DateTimeOffset LastWriteTime { get { throw null; } set { } }
|
||||
|
@ -22,6 +22,7 @@
|
||||
[assembly:System.Security.Permissions.SecurityPermissionAttribute(System.Security.Permissions.SecurityAction.RequestMinimum, SkipVerification=true)]
|
||||
namespace System.Numerics
|
||||
{
|
||||
[System.Runtime.CompilerServices.IsReadOnlyAttribute]
|
||||
[System.SerializableAttribute]
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct BigInteger : System.IComparable, System.IComparable<System.Numerics.BigInteger>, System.IEquatable<System.Numerics.BigInteger>, System.IFormattable
|
||||
@ -32,7 +33,7 @@ namespace System.Numerics
|
||||
public BigInteger(double value) { throw null;}
|
||||
public BigInteger(int value) { throw null;}
|
||||
public BigInteger(long value) { throw null;}
|
||||
public BigInteger(System.ReadOnlySpan<byte> value) { throw null;}
|
||||
public BigInteger(System.ReadOnlySpan<byte> value, bool isUnsigned=false, bool isBigEndian=false) { throw null;}
|
||||
public BigInteger(float value) { throw null;}
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public BigInteger(uint value) { throw null;}
|
||||
@ -61,7 +62,7 @@ namespace System.Numerics
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public bool Equals(ulong other) { throw null; }
|
||||
public int GetByteCount() { throw null; }
|
||||
public int GetByteCount(bool isUnsigned=false) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static System.Numerics.BigInteger GreatestCommonDivisor(System.Numerics.BigInteger left, System.Numerics.BigInteger right) { throw null; }
|
||||
public static double Log(System.Numerics.BigInteger value) { throw null; }
|
||||
@ -168,14 +169,17 @@ namespace System.Numerics
|
||||
public static System.Numerics.BigInteger Remainder(System.Numerics.BigInteger dividend, System.Numerics.BigInteger divisor) { throw null; }
|
||||
public static System.Numerics.BigInteger Subtract(System.Numerics.BigInteger left, System.Numerics.BigInteger right) { throw null; }
|
||||
public byte[] ToByteArray() { throw null; }
|
||||
public byte[] ToByteArray(bool isUnsigned=false, bool isBigEndian=false) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public string ToString(System.IFormatProvider provider) { throw null; }
|
||||
public string ToString(string format) { throw null; }
|
||||
public string ToString(string format, System.IFormatProvider provider) { throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, out System.Numerics.BigInteger result, System.Globalization.NumberStyles style=(System.Globalization.NumberStyles)(7), System.IFormatProvider provider=null) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public bool TryFormat(System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format=default(System.ReadOnlySpan<char>), System.IFormatProvider provider=null) { charsWritten = default(int); throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(string value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(string value, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public bool TryWriteBytes(System.Span<byte> destination, out int bytesWritten) { bytesWritten = default(int); throw null; }
|
||||
public bool TryWriteBytes(System.Span<byte> destination, out int bytesWritten, bool isUnsigned=false, bool isBigEndian=false) { bytesWritten = default(int); throw null; }
|
||||
}
|
||||
[System.SerializableAttribute]
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
|
@ -1 +1 @@
|
||||
b197c51abc3c082dbda5c8adc28f62bae9c30032
|
||||
6ee3ca8968f7c2c5a13fde0d89329b4efbbd7f4f
|
@ -1 +1 @@
|
||||
f3174d13fff775c60031f68c928469a31d188436
|
||||
e2fe033997a386b136170ffee03d043df47c88df
|
@ -1 +1 @@
|
||||
16c694a0175ec7eb00563855963fdf1d5a0b987c
|
||||
b803f86ef29cfff6559c08f5186f8bdf441b8d4b
|
@ -3,6 +3,7 @@
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
[assembly:System.Reflection.AssemblyVersionAttribute("2.0.5.0")]
|
||||
[assembly:System.CLSCompliantAttribute(true)]
|
||||
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
|
||||
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
|
||||
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
|
||||
@ -39,6 +40,8 @@ namespace System.IO.Compression
|
||||
internal ZipArchiveEntry() { }
|
||||
public System.IO.Compression.ZipArchive Archive { get { throw null; } }
|
||||
public long CompressedLength { get { throw null; } }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public uint Crc32 { get { throw null; } }
|
||||
public int ExternalAttributes { get { throw null; } set { } }
|
||||
public string FullName { get { throw null; } }
|
||||
public System.DateTimeOffset LastWriteTime { get { throw null; } set { } }
|
||||
|
@ -22,6 +22,7 @@
|
||||
[assembly:System.Security.Permissions.SecurityPermissionAttribute(System.Security.Permissions.SecurityAction.RequestMinimum, SkipVerification=true)]
|
||||
namespace System.Numerics
|
||||
{
|
||||
[System.Runtime.CompilerServices.IsReadOnlyAttribute]
|
||||
[System.SerializableAttribute]
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct BigInteger : System.IComparable, System.IComparable<System.Numerics.BigInteger>, System.IEquatable<System.Numerics.BigInteger>, System.IFormattable
|
||||
@ -32,7 +33,7 @@ namespace System.Numerics
|
||||
public BigInteger(double value) { throw null;}
|
||||
public BigInteger(int value) { throw null;}
|
||||
public BigInteger(long value) { throw null;}
|
||||
public BigInteger(System.ReadOnlySpan<byte> value) { throw null;}
|
||||
public BigInteger(System.ReadOnlySpan<byte> value, bool isUnsigned=false, bool isBigEndian=false) { throw null;}
|
||||
public BigInteger(float value) { throw null;}
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public BigInteger(uint value) { throw null;}
|
||||
@ -61,7 +62,7 @@ namespace System.Numerics
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public bool Equals(ulong other) { throw null; }
|
||||
public int GetByteCount() { throw null; }
|
||||
public int GetByteCount(bool isUnsigned=false) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static System.Numerics.BigInteger GreatestCommonDivisor(System.Numerics.BigInteger left, System.Numerics.BigInteger right) { throw null; }
|
||||
public static double Log(System.Numerics.BigInteger value) { throw null; }
|
||||
@ -168,14 +169,17 @@ namespace System.Numerics
|
||||
public static System.Numerics.BigInteger Remainder(System.Numerics.BigInteger dividend, System.Numerics.BigInteger divisor) { throw null; }
|
||||
public static System.Numerics.BigInteger Subtract(System.Numerics.BigInteger left, System.Numerics.BigInteger right) { throw null; }
|
||||
public byte[] ToByteArray() { throw null; }
|
||||
public byte[] ToByteArray(bool isUnsigned=false, bool isBigEndian=false) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public string ToString(System.IFormatProvider provider) { throw null; }
|
||||
public string ToString(string format) { throw null; }
|
||||
public string ToString(string format, System.IFormatProvider provider) { throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, out System.Numerics.BigInteger result, System.Globalization.NumberStyles style=(System.Globalization.NumberStyles)(7), System.IFormatProvider provider=null) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public bool TryFormat(System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format=default(System.ReadOnlySpan<char>), System.IFormatProvider provider=null) { charsWritten = default(int); throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(string value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(string value, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public bool TryWriteBytes(System.Span<byte> destination, out int bytesWritten) { bytesWritten = default(int); throw null; }
|
||||
public bool TryWriteBytes(System.Span<byte> destination, out int bytesWritten, bool isUnsigned=false, bool isBigEndian=false) { bytesWritten = default(int); throw null; }
|
||||
}
|
||||
[System.SerializableAttribute]
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
|
@ -1 +1 @@
|
||||
4752cd1a3db92b01de458920358a6c4513933104
|
||||
0aabd5e9b1f4b5f354b3f274cad6983bfa8434e8
|
@ -1 +1 @@
|
||||
4106d7c02b3c5d2831e4f06e674c5197fba1d6d4
|
||||
caea80eb9a8aeae8d816300ba49e3e58a189a287
|
@ -1 +1 @@
|
||||
c52ad21527ca17216e4412a711bd166d404dc32a
|
||||
1f8d4c968568f6efbbb436418f27bf2ed01bc649
|
@ -1 +1 @@
|
||||
1daaa964a2b17770072422022f356fc5dd99ef2a
|
||||
234aaf94d293014332715fe43d020e87b2c24a7c
|
@ -3,6 +3,7 @@
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
|
||||
[assembly:System.CLSCompliantAttribute(true)]
|
||||
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
|
||||
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
|
||||
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
|
||||
@ -39,6 +40,8 @@ namespace System.IO.Compression
|
||||
internal ZipArchiveEntry() { }
|
||||
public System.IO.Compression.ZipArchive Archive { get { throw null; } }
|
||||
public long CompressedLength { get { throw null; } }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public uint Crc32 { get { throw null; } }
|
||||
public int ExternalAttributes { get { throw null; } set { } }
|
||||
public string FullName { get { throw null; } }
|
||||
public System.DateTimeOffset LastWriteTime { get { throw null; } set { } }
|
||||
|
@ -22,6 +22,7 @@
|
||||
[assembly:System.Security.Permissions.SecurityPermissionAttribute(System.Security.Permissions.SecurityAction.RequestMinimum, SkipVerification=true)]
|
||||
namespace System.Numerics
|
||||
{
|
||||
[System.Runtime.CompilerServices.IsReadOnlyAttribute]
|
||||
[System.SerializableAttribute]
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public partial struct BigInteger : System.IComparable, System.IComparable<System.Numerics.BigInteger>, System.IEquatable<System.Numerics.BigInteger>, System.IFormattable
|
||||
@ -32,7 +33,7 @@ namespace System.Numerics
|
||||
public BigInteger(double value) { throw null;}
|
||||
public BigInteger(int value) { throw null;}
|
||||
public BigInteger(long value) { throw null;}
|
||||
public BigInteger(System.ReadOnlySpan<byte> value) { throw null;}
|
||||
public BigInteger(System.ReadOnlySpan<byte> value, bool isUnsigned=false, bool isBigEndian=false) { throw null;}
|
||||
public BigInteger(float value) { throw null;}
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public BigInteger(uint value) { throw null;}
|
||||
@ -61,7 +62,7 @@ namespace System.Numerics
|
||||
public override bool Equals(object obj) { throw null; }
|
||||
[System.CLSCompliantAttribute(false)]
|
||||
public bool Equals(ulong other) { throw null; }
|
||||
public int GetByteCount() { throw null; }
|
||||
public int GetByteCount(bool isUnsigned=false) { throw null; }
|
||||
public override int GetHashCode() { throw null; }
|
||||
public static System.Numerics.BigInteger GreatestCommonDivisor(System.Numerics.BigInteger left, System.Numerics.BigInteger right) { throw null; }
|
||||
public static double Log(System.Numerics.BigInteger value) { throw null; }
|
||||
@ -168,14 +169,17 @@ namespace System.Numerics
|
||||
public static System.Numerics.BigInteger Remainder(System.Numerics.BigInteger dividend, System.Numerics.BigInteger divisor) { throw null; }
|
||||
public static System.Numerics.BigInteger Subtract(System.Numerics.BigInteger left, System.Numerics.BigInteger right) { throw null; }
|
||||
public byte[] ToByteArray() { throw null; }
|
||||
public byte[] ToByteArray(bool isUnsigned=false, bool isBigEndian=false) { throw null; }
|
||||
public override string ToString() { throw null; }
|
||||
public string ToString(System.IFormatProvider provider) { throw null; }
|
||||
public string ToString(string format) { throw null; }
|
||||
public string ToString(string format, System.IFormatProvider provider) { throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, out System.Numerics.BigInteger result, System.Globalization.NumberStyles style=(System.Globalization.NumberStyles)(7), System.IFormatProvider provider=null) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public bool TryFormat(System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format=default(System.ReadOnlySpan<char>), System.IFormatProvider provider=null) { charsWritten = default(int); throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(System.ReadOnlySpan<char> value, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(string value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public static bool TryParse(string value, out System.Numerics.BigInteger result) { result = default(System.Numerics.BigInteger); throw null; }
|
||||
public bool TryWriteBytes(System.Span<byte> destination, out int bytesWritten) { bytesWritten = default(int); throw null; }
|
||||
public bool TryWriteBytes(System.Span<byte> destination, out int bytesWritten, bool isUnsigned=false, bool isBigEndian=false) { bytesWritten = default(int); throw null; }
|
||||
}
|
||||
[System.SerializableAttribute]
|
||||
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
|
@ -474,6 +474,14 @@ namespace System.Security.Cryptography.Xml
|
||||
public override System.Xml.XmlElement GetXml() { throw null; }
|
||||
public override void LoadXml(System.Xml.XmlElement value) { }
|
||||
}
|
||||
[System.SerializableAttribute]
|
||||
public partial class CryptoSignedXmlRecursionException : System.Xml.XmlException
|
||||
{
|
||||
public CryptoSignedXmlRecursionException() { }
|
||||
protected CryptoSignedXmlRecursionException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
|
||||
public CryptoSignedXmlRecursionException(string message) { }
|
||||
public CryptoSignedXmlRecursionException(string message, System.Exception inner) { }
|
||||
}
|
||||
public partial class DataObject
|
||||
{
|
||||
public DataObject() { }
|
||||
|
@ -1 +1 @@
|
||||
59368e66d91c68d9e8972da9211f67ce3484cfa8
|
||||
f41727750b395e4019243785bcefced55377f2f3
|
@ -1 +1 @@
|
||||
44f15a763ed2458ee79e0b610407d136b27f1825
|
||||
9a68bbd21ee9196ff71f50bc108c1324eae4f4f9
|
2
external/corefx/BuildToolsVersion.txt
vendored
2
external/corefx/BuildToolsVersion.txt
vendored
@ -1 +1 @@
|
||||
2.0.0-prerelease-02118-01
|
||||
2.1.0-prerelease-02419-02
|
||||
|
5
external/corefx/CODE_OF_CONDUCT.md
vendored
Normal file
5
external/corefx/CODE_OF_CONDUCT.md
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
# Code of Conduct
|
||||
|
||||
This project has adopted the code of conduct defined by the Contributor Covenant
|
||||
to clarify expected behavior in our community.
|
||||
For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).
|
13
external/corefx/Documentation/api-guidelines/README.md
vendored
Normal file
13
external/corefx/Documentation/api-guidelines/README.md
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# API Design Guidelines
|
||||
|
||||
The guidelines in this folder represent work in progress API design guidelines.
|
||||
The official guidelines can be found in the [documentation][docs] and as an
|
||||
actual [book].
|
||||
|
||||
## Process
|
||||
|
||||
To submit new proposals for design guidelines, simply create a PR adding or
|
||||
modifying an existing file.
|
||||
|
||||
[docs]: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/
|
||||
[book]: https://amazon.com/dp/0321545613
|
54
external/corefx/Documentation/api-guidelines/System.Memory.md
vendored
Normal file
54
external/corefx/Documentation/api-guidelines/System.Memory.md
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
# System.Memory Design Guidelines
|
||||
|
||||
`System.Memory` is a collection of types and features that make working with
|
||||
buffers and raw memory more efficient while remaining type safe. The feature
|
||||
specs can be found here:
|
||||
|
||||
* [`Span<T>`](https://github.com/dotnet/corefxlab/blob/master/docs/specs/span.md)
|
||||
* [`Memory<T>`](https://github.com/dotnet/corefxlab/blob/master/docs/specs/memory.md)
|
||||
|
||||
## Overview
|
||||
|
||||
* `ReadOnlySpan<T>` is effectively the universal receiver, in that `T[]`, `T*`,
|
||||
`Memory<T>`, `ReadOnlyMemory<T>`, `Span<T>`, `ArraySegment<T>` can all be
|
||||
converted to it. So if you can declare your API to accept a `ReadOnlySpan<T>`
|
||||
and behave efficiently, that's best, as any of these inputs can be used with
|
||||
your method.
|
||||
* Similarly for `Span<T>`, if you need write access in the implementation.
|
||||
* It allows building safe public APIs that can operate on unmanaged memory
|
||||
without forcing all consumers to use pointers (and thus becoming unsafe). The
|
||||
implementation can still extract a raw pointer, therefore getting equivalent
|
||||
performance if necessary.
|
||||
* It's generally best for a synchronous method to accept `Span<T>` or
|
||||
`ReadOnlySpan<T>`. However, since `ReadOnlySpan<T>`/`Span<T>` are stack-only
|
||||
[1], this may be too limiting for the implementation. In particular, if the
|
||||
implementation needs to be able to store the argument for later usage, such as
|
||||
with an asynchronous method or an iterator, `ReadOnlySpan<T>`/`Span<T>` is
|
||||
inappropriate. `ReadOnlyMemory<T>`/`Memory<T>` should be used in such
|
||||
situations.
|
||||
|
||||
|
||||
[1] *stack-only* isn't the best way to put it. Strictly speaking, these types
|
||||
are called `ref`-like types. These types must be structs, cannot be fields
|
||||
in classes, cannot be boxed, and cannot be used to instantiate generic
|
||||
types. Value types containing fields of `ref`-like types must themselves be
|
||||
`ref`-like types.
|
||||
|
||||
## Guidance
|
||||
|
||||
* **DO NOT** use pointers for methods operating on buffers. Instead, use
|
||||
appropriate type from below. In performance critical code where bounds
|
||||
checking is unacceptable, the method's implementation can still pin the span
|
||||
and get the raw pointer if necessary. The key is that you don't spread the
|
||||
pointer through the public API.
|
||||
- Synchronous, read-only access needed: `ReadOnlySpan<T>`
|
||||
- Synchronous, writable access needed: `Span<T>`
|
||||
- Asynchronous, read-only access needed: `ReadOnlyMemory<T>`
|
||||
- Asynchronous, writable access needed: `Memory<T>`
|
||||
* **CONSIDER** using `stackalloc` with `Span<T>` when you need small temporary
|
||||
storage but you need to avoid allocations and associated life-time management.
|
||||
* **AVOID** providing overloads for both `ReadOnlySpan<T>` and `Span<T>` as `Span<T>`
|
||||
can be implicitly converted to `ReadOnlySpan<T>`.
|
||||
* **AVOID** providing overloads for both `ReadOnlySpan<T>`/`Span<T>` as well as
|
||||
pointers and arrays as those can be implicitly converted to
|
||||
`ReadOnlySpan<T>`/`Span<T>`.
|
@ -98,18 +98,32 @@ When running on Linux, ICU is used to get the time zone display name. In invaria
|
||||
|
||||
## Enabling the invariant mode
|
||||
|
||||
Applications can enable the invariant mode by setting the config switch System.Globalization.Invariant to true, in the `runtimeconfig.json` file, as you can see in the following example:
|
||||
Applications can enable the invariant mode by either of the following:
|
||||
|
||||
```json
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"configProperties": {
|
||||
"System.Globalization.Invariant": true
|
||||
},
|
||||
1. in project file:
|
||||
|
||||
```xml
|
||||
<ItemGroup>
|
||||
<RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />
|
||||
</ItemGroup>
|
||||
```
|
||||
|
||||
2. in `runtimeconfig.json` file:
|
||||
|
||||
```json
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"configProperties": {
|
||||
"System.Globalization.Invariant": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
3. setting environment variable value `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT` to `true` or `1`.
|
||||
|
||||
Note: value set in project file or `runtimeconfig.json` has higher priority than the environment variable.
|
||||
|
||||
## APP behavior with and without the invariant config switch
|
||||
|
||||
- If the invariant config switch is not set or it is set false
|
||||
|
68
external/corefx/Documentation/building/advanced-inner-loop-testing.md
vendored
Normal file
68
external/corefx/Documentation/building/advanced-inner-loop-testing.md
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
# Advanced scenario - Build and run application code with csc/vbc and CoreRun
|
||||
|
||||
__Don't consider using this tutorial for anything else than inner-loop testing of corefx/coreclr binaries. Prefer using the official .NET Core SDK: https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x__
|
||||
|
||||
This tutorial describes how to build and run application code that targets self-compiled .NET Core binaries without using Visual Studio, the .NET Core SDK Host (`dotnet.exe`) or a project file (e.g. `csproj`). Follow these steps to quickly validate changes you've made in the product e.g. by running benchmarks or tests on it.
|
||||
|
||||
If you are on Windows you currently need to use the `Developer Command Prompt for VS 2017` to build corefx/coreclr! For the sake of completeness, we have placed our repositories under `d:\git\`.
|
||||
|
||||
## Compile corefx with self-compiled coreclr binaries
|
||||
If you've made changes to coreclr make sure to also build it and pass its binaries to corefx.
|
||||
```
|
||||
coreclr\build -release
|
||||
corefx\build -release -- /p:CoreCLROverridePath=d:\git\coreclr\bin\Product\Windows_NT.x64.Release\
|
||||
```
|
||||
|
||||
## Compile corefx with pre-compiled coreclr binaries
|
||||
If you haven't made any changes to coreclr you're fine with just building corefx. This automatically picks pre-compiled coreclr binaries from MyGet.
|
||||
```
|
||||
corefx\build -release
|
||||
```
|
||||
|
||||
## Create and prepare your application
|
||||
We will build a sample application which outputs `Hello World!` to the console.
|
||||
|
||||
1. Create an application directory (in our example under `d:\git\`):
|
||||
```
|
||||
mkdir core-demo
|
||||
cd core-demo
|
||||
```
|
||||
2. Save the following C# code to a file called `Program.cs` into your application folder:
|
||||
```csharp
|
||||
using System;
|
||||
|
||||
public class Program
|
||||
{
|
||||
public static void Main()
|
||||
{
|
||||
Console.WriteLine("Hello World!");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. Copy the just built corefx assemblies into your application directory. When using Visual Studio or the .NET Core SDK Host (`dotnet.exe`) you usually compile against *reference assemblies*. For simplicity we compile against the same assembly set that we use during run time.
|
||||
```
|
||||
xcopy ..\corefx\bin\testhost\netcoreapp-Windows_NT-Release-x64\shared\Microsoft.NETCore.App\9.9.9 runtime /e /i /y /s
|
||||
```
|
||||
|
||||
You don't need all the assemblies that are built by corefx but copying the entire directory makes it easier if you want to reference additional ones. At a minimum, this app will need the following assemblies to run:
|
||||
|
||||
- CoreClr assemblies: `clrjit.dll`, `CoreRun.exe`, `coreclr.dll`, `System.Private.CoreLib.dll`. For more information about the CoreClr parts, visit [Using your build](https://github.com/dotnet/coreclr/blob/master/Documentation/workflow/UsingYourBuild.md)
|
||||
- CoreFx assemblies: `System.Runtime.dll`, `System.Runtime.Extensions.dll`, `System.Runtime.InteropServices.dll`, `System.Text.Encoding.Extensions.dll`, `System.Threading.dll`
|
||||
|
||||
## Compile your application
|
||||
Use the C# Compiler (`csc`) to compile your C# code (`Program.cs`) against the copied assemblies. For our Hello World example we need to compile our application code against `System.Private.Corelib.dll`, `System.Runtime.dll`, `System.Runtime.Extensions.dll` and `System.Console.dll`. As described above these assemblies have dependencies on two other assemblies: `System.Text.Encoding.Extensions.dll` and `System.Threading.dll`.
|
||||
```
|
||||
.\runtime\corerun ..\corefx\tools\csc.dll /noconfig /r:runtime\System.Private.Corelib.dll /r:runtime\System.Runtime.dll /r:runtime\System.Runtime.Extensions.dll /r:runtime\System.Console.dll /out:runtime\Program.dll Program.cs
|
||||
```
|
||||
|
||||
If you want to compile Visual Basic code simply replace `csc.dll` with `vbc.dll`.
|
||||
|
||||
## Run your application
|
||||
`Corerun.exe` is part of the coreclr binaries and is best described as the host of your .NET Core application. Find more information at [Using CoreRun](https://github.com/dotnet/coreclr/blob/master/Documentation/workflow/UsingCoreRun.md).
|
||||
```
|
||||
cd runtime
|
||||
.\corerun Program.dll
|
||||
```
|
||||
|
||||
> Hello World!
|
@ -78,4 +78,7 @@ Some of the libraries for which contracts and tests live in the corefx repo are
|
||||
1. Follow the steps outlined at [Testing with Private CoreClr Bits](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/developer-guide.md#testing-with-private-coreclr-bits). Make sure to include the optional steps listed as being required for code coverage.
|
||||
2. Add /p:CodeCoverageAssemblies="System.Private.CoreLib" to the previously discussed msbuild command, e.g. msbuild /t:BuildAndTest /p:Coverage=true /p:CodeCoverageAssemblies="System.Private.CoreLib"
|
||||
|
||||
Note that you will also want to copy the System.Private.CoreLib.pdb along with the System.Private.CoreLib.dll. As of 10/2017 this PDB must be a windows PDB (Hopefully by early 2018 OpenCOver will directly support portable PDBs.
|
||||
You can determine if it is a windows PDB by doing 'more System.Private.CoreLib.pdb. If it begins with 'Microsoft C/C++ MSF 7.00' it is a windows PDB) If you need a windows PDB the Pdb2Pdb tool will convert (or you can do a msbuild /t:rebuild /p:DebugType=full in the src\mscorlib)
|
||||
|
||||
The resulting code coverage report should now also include details for System.Private.CoreLib.
|
||||
|
@ -19,6 +19,10 @@ For more information about the different options when building, run `build.sh -?
|
||||
|
||||
### Linux
|
||||
|
||||
First, the package lists might need to be updated
|
||||
|
||||
`sudo apt-get update`
|
||||
|
||||
#### Native build
|
||||
|
||||
For Ubuntu 14.04, the following packages should be installed to build the native
|
||||
|
@ -88,6 +88,22 @@ All supported targets with unique windows/unix build for netcoreapp:
|
||||
<PropertyGroup>
|
||||
```
|
||||
|
||||
### Placeholder build configurations
|
||||
Placeholder build configurations can be added to the `<BuildConfigurations>` property to indicate the build system that the specific project is inbox in that framework and that build configuration needs to be ignored.
|
||||
|
||||
Placeholder build configurations start with _ prefix.
|
||||
|
||||
Example:
|
||||
When we have a project that has a `netstandard` build configuration that means that this project is compatible with any build configuration. So if we do a vertical build for `netfx` this project will be built as part of the vertical because `netfx` is compatible with `netstandard`. This means that in the runtime and testhost binaries the netstandard implementation will be included, and we will test against those assets instead of testing against the framework inbox asset. In order to tell the build system to not include this project as part of the `netfx` vertical we need to add a placeholder configuration:
|
||||
```
|
||||
<PropertyGroup>
|
||||
<BuildConfigurations>
|
||||
netstandard;
|
||||
_netfx;
|
||||
</BuildConfigurations>
|
||||
</PropertyGroup>
|
||||
```
|
||||
|
||||
## Options for building
|
||||
|
||||
A full or individual project build is centered around BuildConfiguration and will be setup in one of the following ways:
|
||||
|
@ -6,40 +6,61 @@ CoreFX can be debugged on unix using both lldb and visual studio code
|
||||
## Using lldb and SOS
|
||||
|
||||
- Run the test using msbuild at least once with `/t:BuildAndTest`.
|
||||
- Install version 3.9 of lldb and launch lldb with dotnet as the process and arguments matching the arguments used when running the test through msbuild.
|
||||
- [Install version 3.9 of lldb](https://github.com/dotnet/coreclr/blob/master/Documentation/building/debugging-instructions.md#debugging-core-dumps-with-lldb) and launch lldb with dotnet as the process and arguments matching the arguments used when running the test through msbuild.
|
||||
- Load the sos plugin using `plugin load libsosplugin.so`.
|
||||
- Type `soshelp` to get help. You can now use all sos commands like `bpmd`.
|
||||
|
||||
You may need to supply a path to load SOS. It can be found next to libcoreclr.so. For example:
|
||||
```
|
||||
(lldb) plugin load libsosplugin.so
|
||||
error: no such file
|
||||
(lldb) image list libcoreclr.so
|
||||
[ 0] ..... /home/dan/dotnet/shared/Microsoft.NETCoreApp/2.0.4/libcoreclr.so
|
||||
(lldb) plugin load /home/dan/dotnet/shared/Microsoft.NETCoreApp/2.0.4/libcoreclr.so
|
||||
```
|
||||
|
||||
## Debugging core dumps with lldb
|
||||
|
||||
It is also possible to debug .NET Core crash dumps using lldb and SOS. In order to do this, you need all of the following:
|
||||
|
||||
- A machine whose environment matches the one used to produce the crash dumps. For crash dumps occurring on CI machines, you can either
|
||||
- Log onto a matching machine in the pool.
|
||||
- Create a new VM from the matching image.
|
||||
- You will find the dump url to download the crash dump file in the test logs, something similar to:
|
||||
<pre>
|
||||
2017-10-10 21:17:48,020: INFO: proc(54): run_and_log_output: Output: dumplingid: eefcb1cc36977ccf86f457ee28a33a7b4cc24e13
|
||||
2017-10-10 21:17:48,020: INFO: proc(54): run_and_log_output: Output: <b>https://dumpling.azurewebsites.net/api/dumplings/archived/eefcb1cc36977ccf86f457ee28a33a7b4cc24e13</b>
|
||||
</pre>
|
||||
- The crash dump file. We have a service called "Dumpling" which collects, uploads, and archives crash dump files during all of our CI jobs and official builds.
|
||||
- Matching runtime bits from the crash. To get these, you should either:
|
||||
- On Linux, there is an utility called `createdump` (see [doc](https://github.com/dotnet/coreclr/blob/master/Documentation/botr/xplat-minidump-generation.md "doc")) that can be setup to generate core dumps when a managed app throws an unhandled exception or faults.
|
||||
- Matching coreclr/corefx runtime bits from the crash. To get these, you should either:
|
||||
- Download the matching Jenkins archive onto your repro machine.
|
||||
- Check out the corefx repository at the appropriate commit and re-build the necessary portions.
|
||||
- lldb version 3.9.
|
||||
- libsosplugin.so built against a matching version of lldb. The official libsosplugin.so is now built against 3.9.
|
||||
- Symbols for libcoreclr.so. libcoreclr.so.dbg should be copied to your "runtime" folder. To get this file, you can:
|
||||
- Build coreclr at the matching commit. In order to determine which commit was used to build a version of libcoreclr.so, run the following command:
|
||||
`strings libcoreclr.so | grep "@(#)"`
|
||||
- You can also download the matching "symbols" nuget package from myget.org. You want the same package version that is used to build corefx. There is a "Download Symbols" button in the myget UI for this purpose.
|
||||
- Check out the coreclr and corefx repositories at the appropriate commit and re-build the necessary portions.
|
||||
- You can also download the matching "symbols" nuget package from myget.org. There is a "Download Symbols" button in the myget UI for this purpose.
|
||||
- lldb version 3.9. The SOS plugin (i.e. libsosplugin.so) provided is now built for lldb 3.9. In order to install lldb 3.9 just run the following commands:
|
||||
```
|
||||
~$ echo "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.9 main" | sudo tee /etc/apt/sources.list.d/llvm.list
|
||||
~$ wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
~$ sudo apt-get update
|
||||
~$ sudo apt-get install lldb-3.9
|
||||
```
|
||||
|
||||
Once you have everything listed above, you are ready to start debugging. You need to specify an extra parameter to lldb in order for it to correctly resolve the symbols for libcoreclr.so. Use a command like this:
|
||||
|
||||
```
|
||||
lldb -O "settings set target.exec-search-paths <runtime-path>" --core <core-file-path> <dotnet-path>
|
||||
lldb-3.9 -O "settings set target.exec-search-paths <runtime-path>" -o "plugin load <path-to-libsosplugin.so>" --core <core-file-path> <host-path>
|
||||
```
|
||||
|
||||
- `<runtime-path>`: The path containing libcoreclr.so.dbg, as well as the rest of the runtime and framework assemblies.
|
||||
- `<core-file-path>`: The path to the core dump you are attempting to debug.
|
||||
- `<dotnet-path>`: The path to the dotnet executable, potentially in the `<runtime-path>` folder.
|
||||
- `<host-path>`: The path to the dotnet or corerun executable, potentially in the `<runtime-path>` folder.
|
||||
- `<path-to-libsosplugin.so>`: The path to libsosplugin.so, should be in the `<runtime-path>` folder.
|
||||
|
||||
lldb should start debugging successfully at this point. You should see stacktraces with resolved symbols for libcoreclr.so. At this point, you can run `plugin load <libsosplugin.so-path>`, and begin using SOS commands, as above.
|
||||
|
||||
##### Example
|
||||
|
||||
```
|
||||
lldb-3.9 -O "settings set target.exec-search-paths /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/9.9.9/" -o "plugin load /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/9.9.9/libsosplugin.so" --core /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Work/f6414a62-9b41-4144-baed-756321e3e075/Unzip/core /home/parallels/Downloads/System.Drawing.Common.Tests/home/helixbot/dotnetbuild/work/2a74cf82-3018-4e08-9e9a-744bb492869e/Payload/shared/Microsoft.NETCore.App/9.9.9/dotnet
|
||||
```
|
||||
|
||||
## Using Visual Studio Code
|
||||
|
||||
- Install [Visual Studio Code](https://code.visualstudio.com/)
|
||||
|
146
external/corefx/Documentation/project-docs/benchmarking.md
vendored
Normal file
146
external/corefx/Documentation/project-docs/benchmarking.md
vendored
Normal file
@ -0,0 +1,146 @@
|
||||
# Benchmarking .NET Core 2.0 / 2.1 applications
|
||||
|
||||
We recommend using [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) as it allows specifying custom SDK paths and measuring performance not just in-proc but also out-of-proc as a dedicated executable.
|
||||
|
||||
```
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BenchmarkDotNet" Version="0.10.11" />
|
||||
</ItemGroup>
|
||||
```
|
||||
|
||||
## Defining your benchmark
|
||||
|
||||
See [BenchmarkDotNet](http://benchmarkdotnet.org/Guides/GettingStarted.htm) documentation -- minimally you need to adorn a public method with the `[Benchmark]` attribute but there are many other ways to customize what is done such as using parameter sets or setup/cleanup methods. Of course, you'll want to bracket just the relevant code in your benchmark, ensure there are sufficient iterations that you minimise noise, as well as leaving the machine otherwise idle while you measure.
|
||||
|
||||
# Benchmarking .NET Core 2.0 applications
|
||||
For benchmarking .NET Core 2.0 applications you only need the .NET Core 2.0 SDK installed: https://www.microsoft.com/net/download/windows. Make sure that your `TargetFramework` property in your csproj is set to `netcoreapp2.0` and follow the official BenchmarkDotNet instructions: http://benchmarkdotnet.org.
|
||||
|
||||
# Benchmarking .NET Core 2.1 applications
|
||||
Make sure to download the .NET Core 2.1 SDK zip archive (https://github.com/dotnet/core-setup#daily-builds) and extract it somewhere locally, e.g.: `C:\dotnet-nightly\`.
|
||||
|
||||
For the sake of this tutorial we won't modify the `PATH` variable and instead always explicitly call the `dotnet.exe` from the downloaded SDK folder.
|
||||
|
||||
The shared framework is a set of assemblies that are packed into a `netcoreapp` Nuget package which is used when you set your `TargetFramework` to `netcoreappX.X`. You can either decide to use your local self-compiled shared framework package or use the one which is bundled with the .NET Core 2.1 SDK.
|
||||
|
||||
## Alternative 1 - Using the shared framework from the .NET Core 2.1 SDK
|
||||
Follow the instructions described here https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md#advanced-scenario---using-a-nightly-build-of-microsoftnetcoreapp and skip the last part which calls the `dotnet.exe` to run the application.
|
||||
|
||||
Add a benchmark class, configure it either with a manual configuration or by attributing it and pass the class type to the BenchmarkRunner:
|
||||
|
||||
```csharp
|
||||
[MemoryDiagnoser]
|
||||
// ...
|
||||
public class Benchmark
|
||||
{
|
||||
// Benchmark code ...
|
||||
}
|
||||
|
||||
public class Program
|
||||
{
|
||||
public static void Main()
|
||||
{
|
||||
BenchmarkRunner.Run<Benchmark>();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Alternative 2 - Using your self-compiled shared framework
|
||||
Follow the instructions described here https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md#more-advanced-scenario---using-your-local-corefx-build and skip the last part which calls the `dotnet.exe` to run the application.
|
||||
Make sure to build your local corefx repository in RELEASE mode `.\build -release`! You currently need to have a self-contained application to inject your local shared framework package.
|
||||
|
||||
Currently there is no straightforward way to run your BenchmarkDotNet application in a dedicated process, therefore we are using the InProcess switch `[InProcess]`:
|
||||
|
||||
```csharp
|
||||
[InProcess]
|
||||
public class Benchmark
|
||||
{
|
||||
// Benchmark code ...
|
||||
}
|
||||
|
||||
public class Program
|
||||
{
|
||||
public static void Main()
|
||||
{
|
||||
BenchmarkRunner.Run<Benchmark>();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
# Benchmark multiple or custom .NET Core 2.x SDKs
|
||||
Follow the instructions described here https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md#advanced-scenario---using-a-nightly-build-of-microsoftnetcoreapp and skip the last part which calls the `dotnet.exe` to run the application.
|
||||
|
||||
Whenever you want to benchmark an application simultaneously with one or multiple different .NET Core run time framework versions, you want to create a manual BenchmarkDotNet configuration file. Add the desired amount of Jobs and `NetCoreAppSettings` to specify the `targetFrameworkMoniker`, `runtimeFrameworkVersion` and `customDotNetCliPath`:
|
||||
|
||||
```csharp
|
||||
using BenchmarkDotNet.Columns;
|
||||
using BenchmarkDotNet.Configs;
|
||||
using BenchmarkDotNet.Diagnosers;
|
||||
using BenchmarkDotNet.Environments;
|
||||
using BenchmarkDotNet.Exporters;
|
||||
using BenchmarkDotNet.Jobs;
|
||||
using BenchmarkDotNet.Loggers;
|
||||
using BenchmarkDotNet.Toolchains.CsProj;
|
||||
using BenchmarkDotNet.Toolchains.DotNetCli;
|
||||
|
||||
public class MainConfig : ManualConfig
|
||||
{
|
||||
public MainConfig()
|
||||
{
|
||||
// Job #1
|
||||
Add(Job.Default
|
||||
.With(Runtime.Core)
|
||||
.With(CsProjCoreToolchain.From(new NetCoreAppSettings(
|
||||
targetFrameworkMoniker: "netcoreapp2.1",
|
||||
runtimeFrameworkVersion: "2.1.0-preview1-25919-02", // <-- Adjust version here
|
||||
customDotNetCliPath: @"C:\dotnet-nightly\dotnet.exe", // <-- Adjust path here
|
||||
name: "Core 2.1.0-preview"))));
|
||||
|
||||
// Job #2 which could be in-process (see Alternative #2)
|
||||
// ...
|
||||
|
||||
// Job #3 which could be .NET Core 2.0
|
||||
// ...
|
||||
|
||||
// Add whatever jobs you need
|
||||
Add(DefaultColumnProviders.Instance);
|
||||
Add(MarkdownExporter.GitHub);
|
||||
Add(new ConsoleLogger());
|
||||
Add(new HtmlExporter());
|
||||
Add(MemoryDiagnoser.Default);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
In your application entry point pass the configuration to the BenchmarkRunner:
|
||||
```csharp
|
||||
public class Benchmark
|
||||
{
|
||||
// Benchmark code ...
|
||||
}
|
||||
|
||||
public class Program
|
||||
{
|
||||
public static void Main()
|
||||
{
|
||||
BenchmarkRunner.Run<Benchmark>(new MainConfig());
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
# Running the benchmark
|
||||
|
||||
To get valid results make sure to run your project in RELEASE configuration:
|
||||
|
||||
```
|
||||
cd "path/to/your/benchmark/project"
|
||||
"C:\dotnet-nightly\dotnet.exe" run -c Release
|
||||
```
|
||||
|
||||
# Reporting results
|
||||
|
||||
Often in a Github Pull Request or issue you will want to share performance results to justify a change. If you add the `MarkdownExporter` job in the configuration (as you can see in Alternative 3), BenchmarkDotNet will have created a Markdown (*.md) file in the `BenchmarkDotNet.Artifacts` folder which you can paste in, along with the code you benchmarked.
|
||||
|
||||
# References
|
||||
- [BenchmarkDotNet](http://benchmarkdotnet.org/)
|
||||
- [BenchmarkDotNet Github](https://github.com/dotnet/BenchmarkDotNet)
|
||||
- [.NET Core SDK](https://github.com/dotnet/core-setup)
|
@ -1,32 +1,54 @@
|
||||
# How to get up and running on .NET Core 2.0
|
||||
# How to get up and running on .NET Core
|
||||
|
||||
This document provides the steps necessary to consume a nightly build of
|
||||
.NET Core 2.0 runtime and SDK.
|
||||
.NET Core runtime and SDK.
|
||||
|
||||
Please note that these steps are likely to change as we're simplifying
|
||||
this experience. Make sure to consult this document often.
|
||||
|
||||
## Install prerequisites
|
||||
|
||||
1. Acquire the latest nightly .NET Core SDK 2.0
|
||||
1. Acquire the latest nightly .NET Core SDK by downloading the zip or tarball listed in https://github.com/dotnet/cli/blob/master/README.md#installers-and-binaries (for example, https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.zip ) into a new folder.
|
||||
|
||||
- [Win 64-bit Latest Zip](https://dotnetcli.azureedge.net/dotnet/Sdk/master/dotnet-dev-win-x64.latest.zip) [Installer](https://dotnetcli.azureedge.net/dotnet/Sdk/master/dotnet-dev-win-x64.latest.exe)
|
||||
- [macOS 64-bit Latest Tar](https://dotnetcli.azureedge.net/dotnet/Sdk/master/dotnet-dev-osx-x64.latest.tar.gz) [Installer](https://dotnetcli.azureedge.net/dotnet/Sdk/master/dotnet-dev-osx-x64.latest.pkg)
|
||||
- [Others](https://github.com/dotnet/cli/blob/master/README.md#installers-and-binaries)
|
||||
2. By default, the dotnet CLI will use the globally installed SDK if it matches the major/minor version you request and has a higher revision. To force it to use the locally installed SDK, you must set an environment variable `DOTNET_MULTILEVEL_LOOKUP=0` in your shell. You can use `dotnet --info` to verify what version of the Shared Framework it is using.
|
||||
|
||||
To setup the SDK download the zip and extract it somewhere and add the root folder to your path or always fully
|
||||
qualify the path to dotnet in the root of this folder for all the instructions in this document.
|
||||
3. Reminder: if you are using a local copy of the dotnet CLI, take care that when you type `dotnet` you do not inadvertently pick up a different copy that you may have in your path. On Windows, for example, if you use a Developer Command Prompt, a global copy may be in the path, so use the fully qualified path to your local `dotnet`. If you receive an error "The current .NET SDK does not support targeting .NET Core 2.1." then you may be executing an older `dotnet`.
|
||||
|
||||
Note: Installer will put dotnet globally in your path which you might not want for dogfooding daily toolsets.
|
||||
After setting up dotnet you can verify you are using the newer version by executing `dotnet --info` -- the version should be greater than 2.2.0-* (dotnet CLI is currently numbered 2.2.0-* not 2.1.0-* ). Here is an example output at the time of writing:
|
||||
```
|
||||
>dotnet.exe --info
|
||||
.NET Command Line Tools (2.2.0-preview1-007460)
|
||||
|
||||
After setting up dotnet you can verify you are using the newer version by:
|
||||
Product Information:
|
||||
Version: 2.2.0-preview1-007460
|
||||
Commit SHA-1 hash: 173cc035e4
|
||||
|
||||
`dotnet --info` -- the version should be greater than 2.0.0-*
|
||||
Runtime Environment:
|
||||
OS Name: Windows
|
||||
OS Version: 10.0.16299
|
||||
OS Platform: Windows
|
||||
RID: win10-x64
|
||||
Base Path: F:\dotnet\sdk\2.2.0-preview1-007460\
|
||||
|
||||
Microsoft .NET Core Shared Framework Host
|
||||
|
||||
Version : 2.1.0-preview1-25825-07
|
||||
Build : 4c165c13bd390adf66f9af30a088d634d3f37a9d
|
||||
```
|
||||
|
||||
4. Our nightly builds are uploaded to MyGet, not NuGet - so ensure the .NET Core MyGet feed is in your nuget configuration in case you need other packages from .NET Core that aren't included in the download. For example, on Windows you could edit `%userprofile%\appdata\roaming\nuget\nuget.config` or on Linux edit `~/.nuget/NuGet/NuGet.Config` to add this line:
|
||||
```xml
|
||||
<packageSources>
|
||||
<add key="myget.dotnetcore" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
|
||||
...
|
||||
</packageSources>
|
||||
```
|
||||
(Documentation for configuring feeds is [here](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior).)
|
||||
|
||||
## Setup the project
|
||||
|
||||
1. Create a new project
|
||||
- Create a new folder for your app
|
||||
- Create a new folder for your app and change to that folder
|
||||
- Create project file by running `dotnet new console`
|
||||
|
||||
2. Restore packages so that you're ready to play:
|
||||
@ -37,25 +59,6 @@ $ dotnet restore
|
||||
|
||||
## Consume the new build
|
||||
|
||||
Edit your `Program.cs` to consume the new APIs, for example:
|
||||
|
||||
```CSharp
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
WebUtility.HtmlDecode("&", Console.Out);
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Hello World!");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Run the bits:
|
||||
|
||||
```
|
||||
$ dotnet run
|
||||
```
|
||||
@ -65,7 +68,7 @@ Rinse and repeat!
|
||||
## Advanced Scenario - Using a nightly build of Microsoft.NETCore.App
|
||||
|
||||
When using the above instructions, your application will run against the same
|
||||
.NET Core 2.0 runtime that comes with the SDK. That works fine to get up and
|
||||
.NET Core runtime that comes with the SDK. That works fine to get up and
|
||||
running quickly. However, there are times when you need to use a nightly build
|
||||
of Microsoft.NETCore.App which hasn't made its way into the SDK yet. To enable
|
||||
this, there are two options you can take.
|
||||
@ -84,8 +87,8 @@ runtime.
|
||||
```XML
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.0.0-beta-xyz-00</RuntimeFrameworkVersion> <!-- this line -->
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.0-preview1-25825-07</RuntimeFrameworkVersion> <!-- modify build in this line -->
|
||||
</PropertyGroup>
|
||||
```
|
||||
|
||||
@ -105,19 +108,21 @@ make it self-contained
|
||||
```XML
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.0.0-beta-xyz-00</RuntimeFrameworkVersion> <!-- pick nightly build -->
|
||||
<RuntimeIdentifier>win7-x64</RuntimeIdentifier> <!-- make self-contained -->
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.0-preview1-25825-07</RuntimeFrameworkVersion> <!-- modify build in this line -->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <!-- make self-contained -->
|
||||
</PropertyGroup>
|
||||
```
|
||||
|
||||
```
|
||||
$ dotnet restore
|
||||
$ dotnet publish
|
||||
$ bin\Debug\netcoreapp2.0\win7-x64\publish\App.exe
|
||||
$ bin\Debug\netcoreapp2.1\win-x64\publish\App.exe
|
||||
```
|
||||
|
||||
## Using your local CoreFx build
|
||||
## More Advanced Scenario - Using your local CoreFx build
|
||||
|
||||
If you built corefx locally with `build -allconfigurations` after building binaries it will build NuGet packages containing them. You can use those in your projects.
|
||||
|
||||
To use your local built corefx packages you will need to be a self-contained application and so you will
|
||||
need to follow the "Self-contained" steps from above. Once you can successfully restore, build, publish,
|
||||
@ -127,11 +132,11 @@ and run a self-contained application you need the following steps to consume you
|
||||
|
||||
Look for a package named `Microsoft.Private.CoreFx.NETCoreApp.<version>.nupkg` under `corefx\bin\packages\Debug` (or Release if you built a release version of corefx).
|
||||
|
||||
Once you find the version number (for this example assume it is `4.4.0-beta-25102-0`) you need to add the following line to your project file:
|
||||
Once you find the version number (for this example assume it is `4.5.0-preview1-25830-0`) you need to add the following line to your project file:
|
||||
|
||||
```
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Private.CoreFx.NETCoreApp" Version="4.4.0-beta-25102-0" />
|
||||
<PackageReference Include="Microsoft.Private.CoreFx.NETCoreApp" Version="4.5.0-preview1-25830-0" />
|
||||
</ItemGroup>
|
||||
```
|
||||
|
||||
@ -146,25 +151,26 @@ you need to tell the tooling to use the assets from your local package. To do th
|
||||
|
||||
Replacing the RID in `runtime.win-x64.Microsoft.Private.CoreFx.NETCoreApp` with the RID of your current build.
|
||||
|
||||
Note these instructions above were only about updates to the binaries that are part of Microsoft.NETCore.App, if you want to test a package for library that ships in its own nuget package you can follow the same steps above but instead add a package reference to that package instead of "Microsoft.Private.CoreFx.NETCoreApp".
|
||||
|
||||
#### 2 - Add your bin directory to the Nuget feed list
|
||||
|
||||
By default the dogfooding dotnet SDK will create a Nuget.Config file next to your project, if it doesn't
|
||||
you can create one. Your config file will need a source for your local corefx package directory as well
|
||||
as a reference to our nightly dotnet-core feed on myget:
|
||||
as a reference to our nightly dotnet-core feed on myget. The Nuget.Config file content should be:
|
||||
|
||||
```xml
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="local coreclr" value="D:\git\corefx\bin\packages\Debug" />
|
||||
<add key="local coreclr" value="D:\git\corefx\bin\packages\Debug" /> <!-- Change this to your own output path -->
|
||||
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
|
||||
```
|
||||
Obviously **you need to update path in the XML to be the path to output directory for your build**.
|
||||
Be sure to correct the path to your build output above.
|
||||
|
||||
On Windows you also have the alternative of modifying the Nuget.Config
|
||||
at `%HOMEPATH%\AppData\Roaming\Nuget\Nuget.Config` (`~/.nuget/NuGet/NuGet.Config` on Linux) with the new location.
|
||||
You also have the alternative of modifying the Nuget.Config
|
||||
at `%HOMEPATH%\AppData\Roaming\Nuget\Nuget.Config` (Windows) or `~/.nuget/NuGet/NuGet.Config` (Linux) with the new location.
|
||||
This will allow your new runtime to be used on any 'dotnet restore' run by the current user.
|
||||
Alternatively you can skip creating this file and pass the path to your package directory using
|
||||
the -s SOURCE qualifer on the dotnet restore command below. The important part is that somehow
|
||||
@ -178,9 +184,15 @@ dotnet publish
|
||||
```
|
||||
Now your publication directory should contain your local built CoreFx binaries.
|
||||
|
||||
#### 3 - Consuming updated packages
|
||||
#### 3 - Consuming subsequent code changes by overwriting the binary (Alternative 1)
|
||||
|
||||
One possible problem with the technique above is that Nuget assumes that distinct builds have distinct version numbers.
|
||||
To apply changes you subsequently make in your source tree, it's usually easiest to just overwrite the binary in the publish folder. Build the assembly containing your change as normal, then overwrite the assembly in your publish folder and running the app will pick up that binary. This relies on the fact that all the other binaries still match what is in your bin folder so everything works together.
|
||||
|
||||
#### 3 - Consuming subsequent code changes by rebuilding the package (Alternative 2)
|
||||
|
||||
This is more cumbersome than just overwriting the binaries, but is more correct.
|
||||
|
||||
First note that Nuget assumes that distinct builds have distinct version numbers.
|
||||
Thus if you modify the source and create a new NuGet package you must give it a new version number and use that in your
|
||||
application's project. Otherwise the dotnet.exe tool will assume that the existing version is fine and you
|
||||
won't get the updated bits. This is what the Minor Build number is all about. By default it is 0, but you can
|
||||
@ -188,66 +200,13 @@ give it a value by setting the BuildNumberMinor environment variable.
|
||||
```bat
|
||||
set BuildNumberMinor=3
|
||||
```
|
||||
before packaging. You should see this number show up in the version number (e.g. 4.4.0-beta-25102-03).
|
||||
before packaging. You should see this number show up in the version number (e.g. 4.5.0-preview1-25830-03).
|
||||
|
||||
As an alternative you can delete the existing copy of the package from the Nuget cache. For example on
|
||||
Alternatively just delete the existing copy of the package from the Nuget cache. For example on
|
||||
windows (on Linux substitute ~/ for %HOMEPATH%) you could delete
|
||||
```bat
|
||||
%HOMEPATH%\.nuget\packages\Microsoft.Private.CoreFx.NETCoreApp\4.4.0-beta-25102-0
|
||||
%HOMEPATH%\.nuget\packages\Microsoft.Private.CoreFx.NETCoreApp\4.5.0-preview1-25830-0
|
||||
%HOMEPATH%\.nuget\packages\runtime.win-x64.microsoft.private.corefx.netcoreapp\4.5.0-preview1-25830-0
|
||||
```
|
||||
which should make things work (but is fragile, confirm file timestamps that you are getting the version you expect)
|
||||
which should make `dotnet restore` now pick up the new copy.
|
||||
|
||||
### Consuming individual library packages
|
||||
|
||||
The instructions above were only about updates to the binaries that are part of Microsoft.NETCore.App, if you want to test a package
|
||||
for library that ships in its own nuget package you can follow the same steps above but instead add a package reference to the
|
||||
individual library package from your `bin\packages\Debug` folder.
|
||||
|
||||
## Consuming non-NetStandard assets in a .NET Core 2.0 application
|
||||
|
||||
Currently if you reference a NuGet package that does not have a NETStandard asset in your .NET Core 2.0 application, you will hit package
|
||||
incompatibility errors when trying to restore packages. You can resolve this issue by adding `PackageTargetFallback` property
|
||||
(MSBuild equivalent of `imports`) to your .csproj:
|
||||
|
||||
```XML
|
||||
<PackageTargetFallback>$(PackageTargetFallback);net45</PackageTargetFallback>
|
||||
```
|
||||
|
||||
Note that this can fix the problem if the package is actually compatible with netcoreapp2.0 (meaning it does not use types/APIs
|
||||
that are not available in netcoreapp2.0)
|
||||
|
||||
For final release, we are considering modifying NuGet behavior to automatically consume the non-netstandard asset if there is no netstandard available.
|
||||
|
||||
|
||||
## Creating a .NET Core 2.0 console application from Visual Studio 2017
|
||||
|
||||
File > New > Project > Console App (.NET Core)
|
||||
|
||||
By default, Visual Studio creates a netcoreapp1.1 application. After installing the prerequisites mentioned above, you will
|
||||
need to modify your .csproj to target netcoreapp2.0 and reference the nightly build of Microsoft.NETCore.APP
|
||||
|
||||
```XML
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework> <!-- this line -->
|
||||
<RuntimeFrameworkVersion>2.0.0-beta-xyz-00</RuntimeFrameworkVersion> <!-- this line -->
|
||||
</PropertyGroup>
|
||||
```
|
||||
|
||||
In a future update to Visual Studio, it will no longer be necessary to make this edit.
|
||||
|
||||
## Finding specific builds
|
||||
|
||||
The URL scheme for the runtime is as follows:
|
||||
|
||||
```
|
||||
https://dotnetcli.azureedge.net/dotnet/master/Installers/$version$/dotnet-$os$-$arch$.$version$.exe
|
||||
https://dotnetcli.azureedge.net/dotnet/master/Installers/2.0.0-preview1-001915-00/dotnet-win-x64.2.0.0-preview1-001915-00.exe
|
||||
```
|
||||
|
||||
The URL scheme for the SDK & CLI is as follows:
|
||||
|
||||
```
|
||||
https://dotnetcli.azureedge.net/dotnet/Sdk/$version$/dotnet-dev-$os$-$arch.$version$.exe
|
||||
https://dotnetcli.azureedge.net/dotnet/Sdk/2.0.0-preview1-005791/dotnet-dev-win-x86.2.0.0-preview1-005791.exe
|
||||
```
|
||||
|
@ -44,7 +44,7 @@ Areas are tracked by labels area-* (e.g. area-System.Collections). Each area
|
||||
|-----------------------------------------------------------------------------------------------|------------------|-------------|
|
||||
| [area-Infrastructure](https://github.com/dotnet/corefx/labels/area-Infrastructure) | [@weshaggard](https://github.com/weshaggard), [@ericstj](https://github.com/ericstj) |Covers:<ul><li>Packaging</li><li>Build and test infra for CoreFX repo</li><li>VS integration</li></ul><br/> |
|
||||
| [area-Meta](https://github.com/dotnet/corefx/labels/area-Meta) | [@tarekgh](https://github.com/tarekgh) | Issues without clear association to any specific API/contract, e.g. <ul><li>new contract proposals</li><li>cross-cutting code/test pattern changes (e.g. FxCop failures)</li><li>project-wide docs</li></ul><br/> |
|
||||
| [area-Serialization](https://github.com/dotnet/corefx/labels/area-Serialization) | [@shmao](https://github.com/shmao), [@zhenlan](https://github.com/zhenlan) | Packages:<ul><li>System.Runtime.Serialization.Xml</li><li>System.Runtime.Serialization.Json</li><li>System.Private.DataContractSerialization</li><li>System.Xml.XmlSerializer</li></ul> Excluded:<ul><li>System.Runtime.Serialization.Formatters</li></ul> |
|
||||
| [area-Serialization](https://github.com/dotnet/corefx/labels/area-Serialization) | [@huanwu](https://github.com/huanwu), [@zhenlan](https://github.com/zhenlan) | Packages:<ul><li>System.Runtime.Serialization.Xml</li><li>System.Runtime.Serialization.Json</li><li>System.Private.DataContractSerialization</li><li>System.Xml.XmlSerializer</li></ul> Excluded:<ul><li>System.Runtime.Serialization.Formatters</li></ul> |
|
||||
| **System contract assemblies** | | |
|
||||
| [System.AppContext](https://github.com/dotnet/corefx/labels/area-System.AppContext) | [@AlexGhiondea](https://github.com/AlexGhiondea) | | |
|
||||
| [System.Buffers](https://github.com/dotnet/corefx/labels/area-System.Buffers) | [@safern](https://github.com/safern) | |
|
||||
@ -52,14 +52,14 @@ Areas are tracked by labels area-* (e.g. area-System.Collections). Each area
|
||||
| [System.Collections](https://github.com/dotnet/corefx/labels/area-System.Collections) |**[@safern](https://github.com/safern)**, [@ianhays](https://github.com/ianhays) | </ul>Excluded:<ul><li>System.Array -> System.Runtime</li></ul> |
|
||||
| [System.ComponentModel](https://github.com/dotnet/corefx/labels/area-System.ComponentModel) | **[@maryamariyan](https://github.com/maryamariyan)**, [@safern](https://github.com/safern) | |
|
||||
| [System.ComponentModel.DataAnnotations](https://github.com/dotnet/corefx/labels/area-System.ComponentModel.DataAnnotations) | [@lajones](https://github.com/lajones), [@divega](https://github.com/divega), [@ajcvickers](https://github.com/ajcvickers) | |
|
||||
| [System.Composition](https://github.com/dotnet/corefx/labels/area-System.Composition) | [@ViktorHofer](https://github.com/ViktorHofer) | |
|
||||
| [System.Composition](https://github.com/dotnet/corefx/labels/area-System.Composition) | **[@maryamariyan](https://github.com/maryamariyan)**, [@ViktorHofer](https://github.com/ViktorHofer) | |
|
||||
| [System.Configuration](https://github.com/dotnet/corefx/labels/area-System.Configuration) | [@maryamariyan](https://github.com/maryamariyan) | |
|
||||
| [System.Console](https://github.com/dotnet/corefx/labels/area-System.Console) | **[@joperezr](https://github.com/joperezr)**, [@ianhays](https://github.com/ianhays) | |
|
||||
| [System.Data](https://github.com/dotnet/corefx/labels/area-System.Data) | [@saurabh500](https://github.com/saurabh500), [@corivera](https://github.com/corivera) | |
|
||||
| [System.Data.SqlClient](https://github.com/dotnet/corefx/labels/area-System.Data.SqlClient) | [@saurabh500](https://github.com/saurabh500), [@corivera](https://github.com/corivera) | |
|
||||
| [System.Diagnostics](https://github.com/dotnet/corefx/labels/area-System.Diagnostics) | **[@joperezr](https://github.com/joperezr)**, [@wtgodbe](https://github.com/wtgodbe) | |
|
||||
| [System.Diagnostics](https://github.com/dotnet/corefx/labels/area-System.Diagnostics) | **[@joperezr](https://github.com/joperezr)**, [@wtgodbe](https://github.com/wtgodbe) | <ul><li>System.Diagnostics.EventLog [@Anipik](https://github.com/Anipik)</li></ul> |
|
||||
| [System.Diagnostics.Process](https://github.com/dotnet/corefx/labels/area-System.Diagnostics.Process) | **[@joperezr](https://github.com/joperezr)**, [@wtgodbe](https://github.com/wtgodbe) | |
|
||||
| [System.Diagnostics.Tracing](https://github.com/dotnet/corefx/labels/area-System.Diagnostics.Tracing) | [@brianrob](https://github.com/brianrob), [@vancem](https://github.com/vancem), [@valenis](https://github.com/valenis)| Packages:<ul><li>System.Diagnostics.DiagnosticSource</li><li>System.Diagnostics.PerformanceCounter</li><li>System.Diagnostics.Tracing</li><li>System.Diagnostics.TraceSource</li></ul><br/> |
|
||||
| [System.Diagnostics.Tracing](https://github.com/dotnet/corefx/labels/area-System.Diagnostics.Tracing) | [@brianrob](https://github.com/brianrob), [@vancem](https://github.com/vancem), [@valenis](https://github.com/valenis)| Packages:<ul><li>System.Diagnostics.DiagnosticSource</li><li>System.Diagnostics.PerformanceCounter - [@adiaaida](https://github.com/adiaaida)</li><li>System.Diagnostics.Tracing</li><li>System.Diagnostics.TraceSource</li></ul><br/> |
|
||||
| [System.DirectoryServices](https://github.com/dotnet/corefx/labels/area-System.DirectoryServices) | [@tquerec](https://github.com/tquerec) | |
|
||||
| [System.Drawing](https://github.com/dotnet/corefx/labels/area-System.Drawing) | [@safern](https://github.com/safern) | |
|
||||
| [System.Dynamic.Runtime](https://github.com/dotnet/corefx/labels/area-System.Dynamic.Runtime) | [@VSadov](https://github.com/VSadov), [@OmarTawfik](https://github.com/OmarTawfik) | |
|
||||
@ -68,34 +68,38 @@ Areas are tracked by labels area-* (e.g. area-System.Collections). Each area
|
||||
| [System.IO.Compression](https://github.com/dotnet/corefx/labels/area-System.IO.Compression) | **[@ViktorHofer](https://github.com/ViktorHofer)**, [@ianhays](https://github.com/ianhays) | |
|
||||
| [System.Linq](https://github.com/dotnet/corefx/labels/area-System.Linq) | [@VSadov](https://github.com/VSadov), [@OmarTawfik](https://github.com/OmarTawfik) | |
|
||||
| [System.Linq.Expressions](https://github.com/dotnet/corefx/labels/area-System.Linq.Expressions) | [@VSadov](https://github.com/VSadov), [@OmarTawfik](https://github.com/OmarTawfik) | |
|
||||
| [System.Linq.Parallel](https://github.com/dotnet/corefx/labels/area-System.Linq.Parallel) | [@kouvel](https://github.com/kouvel) | |
|
||||
| [System.Linq.Parallel](https://github.com/dotnet/corefx/labels/area-System.Linq.Parallel) | **[@tarekgh](https://github.com/tarekgh)**, [@kouvel](https://github.com/kouvel) | |
|
||||
| [System.Management](https://github.com/dotnet/corefx/labels/area-System.Management) | **[@Anipik](https://github.com/Anipik)**, [@pjanotti](https://github.com/pjanotti) | WMI |
|
||||
| [System.Memory](https://github.com/dotnet/corefx/labels/area-System.Memory) | [@KrzysztofCwalina](https://github.com/KrzysztofCwalina), [@ahsonkhan](https://github.com/ahsonkhan) | |
|
||||
| [System.Net](https://github.com/dotnet/corefx/labels/area-System.Net) | [@davidsh](https://github.com/davidsh), [@Priya91](https://github.com/Priya91), [@wfurt](https://github.com/wfurt) | Included:<ul><li>System.Uri</li></ul> |
|
||||
| [System.Net.Http](https://github.com/dotnet/corefx/labels/area-System.Net.Http) | [@davidsh](https://github.com/davidsh), [@Priya91](https://github.com/Priya91), [@wfurt](https://github.com/wfurt) | |
|
||||
| [System.Net.Http.ManagedHandler](https://github.com/dotnet/corefx/labels/area-System.Net.Http.ManagedHandler) | [@geoffkizer](https://github.com/geoffkizer), [@Priya91](https://github.com/Priya91), [@wfurt](https://github.com/wfurt), [@davidsh](https://github.com/davidsh) | |
|
||||
| [System.Net.Security](https://github.com/dotnet/corefx/labels/area-System.Net.Security) | [@davidsh](https://github.com/davidsh), [@Priya91](https://github.com/Priya91), [@wfurt](https://github.com/wfurt) | |
|
||||
| [System.Net.Sockets](https://github.com/dotnet/corefx/labels/area-System.Net.Sockets) | [@davidsh](https://github.com/davidsh), [@Priya91](https://github.com/Priya91), [@wfurt](https://github.com/wfurt) | |
|
||||
| [System.Numerics](https://github.com/dotnet/corefx/labels/area-System.Numerics) | [@eerhardt](https://github.com/eerhardt), [@ViktorHofer](https://github.com/ViktorHofer) | |
|
||||
| [System.Reflection](https://github.com/dotnet/corefx/labels/area-System.Reflection) | [@dnlharvey](https://github.com/dnlharvey), [@AtsushiKan](https://github.com/AtsushiKan) | |
|
||||
| [System.Reflection.Emit](https://github.com/dotnet/corefx/labels/area-System.Reflection.Emit) | [@dnlharvey](https://github.com/dnlharvey), [@AtsushiKan](https://github.com/AtsushiKan) | |
|
||||
| [System.Reflection](https://github.com/dotnet/corefx/labels/area-System.Reflection) | [@AtsushiKan](https://github.com/AtsushiKan) | |
|
||||
| [System.Reflection.Emit](https://github.com/dotnet/corefx/labels/area-System.Reflection.Emit) | [@AtsushiKan](https://github.com/AtsushiKan) | |
|
||||
| [System.Reflection.Metadata](https://github.com/dotnet/corefx/labels/area-System.Reflection.Metadata) | [@tmat](https://github.com/tmat), [@nguerrera](https://github.com/nguerrera) | |
|
||||
| [System.Resources](https://github.com/dotnet/corefx/labels/area-System.Resources) | **[@krwq](https://github.com/krwq)**, [@tarekgh](https://github.com/tarekgh) | |
|
||||
| [System.Runtime](https://github.com/dotnet/corefx/labels/area-System.Runtime) | **[@joperezr](https://github.com/joperezr)**, [@AlexGhiondea](https://github.com/AlexGhiondea) | Included:<ul><li>System.Runtime.Serialization.Formatters</li><li>System.Runtime.InteropServices.RuntimeInfo</li><li>System.Array</li></ul>Excluded:<ul><li>Path -> System.IO</li><li>StopWatch -> System.Diagnostics</li><li>Uri -> System.Net</li><li>WebUtility -> System.Net</li></ul> |
|
||||
| [System.Runtime.Caching](https://github.com/dotnet/corefx/labels/area-System.Runtime.Caching) | [@KKhurin](https://github.com/KKhurin), [@zhenlan](https://github.com/zhenlan) | |
|
||||
| [System.Runtime.CompilerServices](https://github.com/dotnet/corefx/labels/area-System.Runtime.CompilerServices) | **[@joperezr](https://github.com/joperezr)**, [@AlexGhiondea](https://github.com/AlexGhiondea) | |
|
||||
| [System.Runtime.Extensions](https://github.com/dotnet/corefx/labels/area-System.Runtime.Extensions) | **[@joperezr](https://github.com/joperezr)**, [@AlexGhiondea](https://github.com/AlexGhiondea) | |
|
||||
| [System.Runtime.InteropServices](https://github.com/dotnet/corefx/labels/area-System.Runtime.InteropServices) | [@tijoytom](https://github.com/tijoytom), [@luqunl](https://github.com/luqunl) | Excluded:<ul><li>System.Runtime.InteropServices.RuntimeInfo</li></ul> |
|
||||
| [System.Runtime.InteropServices](https://github.com/dotnet/corefx/labels/area-System.Runtime.InteropServices) | [@luqunl](https://github.com/luqunl), [@shrah](https://github.com/shrah) | Excluded:<ul><li>System.Runtime.InteropServices.RuntimeInfo</li></ul> |
|
||||
| [System.Runtime.Intrinsics](https://github.com/dotnet/corefx/labels/area-System.Runtime.Intrinsics) | [@eerhardt](https://github.com/eerhardt), [@CarolEidt](https://github.com/CarolEidt), [@RussKeldorph](https://github.com/RussKeldorph) | |
|
||||
| [System.Security](https://github.com/dotnet/corefx/labels/area-System.Security) | [@bartonjs](https://github.com/bartonjs), [@ianhays](https://github.com/ianhays) | |
|
||||
| System.ServiceModel | N/A | [dotnet/wcf](https://github.com/dotnet/wcf) (except System.ServiceModel.Syndication) |
|
||||
| [System.ServiceModel.Syndication](https://github.com/dotnet/corefx/labels/area-System.ServiceModel.Syndication) | [@shmao](https://github.com/shmao), [@zhenlan](https://github.com/zhenlan) | |
|
||||
| [System.ServiceProcess](https://github.com/dotnet/corefx/labels/area-System.ServiceProcess) | [@maryamariyan](https://github.com/maryamariyan) | |
|
||||
| [System.ServiceModel.Syndication](https://github.com/dotnet/corefx/labels/area-System.ServiceModel.Syndication) | [@huanwu](https://github.com/huanwu), [@zhenlan](https://github.com/zhenlan) | |
|
||||
| [System.ServiceProcess](https://github.com/dotnet/corefx/labels/area-System.ServiceProcess) | **[@maryamariyan](https://github.com/maryamariyan)**, [@Anipik](https://github.com/Anipik) | |
|
||||
| [System.Text.Encoding](https://github.com/dotnet/corefx/labels/area-System.Text.Encoding) | **[@krwq](https://github.com/krwq)**, [@tarekgh](https://github.com/tarekgh) | Included:<ul><li>System.Text.Encoding**s**.Web</li></ul> |
|
||||
| [System.Text.RegularExpressions](https://github.com/dotnet/corefx/labels/area-System.Text.RegularExpressions) | **[@ViktorHofer](https://github.com/ViktorHofer)**, [@Priya91](https://github.com/Priya91) | |
|
||||
| [System.Threading](https://github.com/dotnet/corefx/labels/area-System.Threading) | [@kouvel](https://github.com/kouvel) | |
|
||||
| [System.Threading](https://github.com/dotnet/corefx/labels/area-System.Threading) | **[@kouvel](https://github.com/kouvel)**| |
|
||||
| [System.Transactions](https://github.com/dotnet/corefx/labels/area-System.Transactions) | [@jimcarley](https://github.com/jimcarley), [@qizhanMS](https://github.com/qizhanMS), [@dmetzgar](https://github.com/dmetzgar) | |
|
||||
| [System.Xml](https://github.com/dotnet/corefx/labels/area-System.Xml) | **[@krwq](https://github.com/krwq)**, [@pjanotti](https://github.com/pjanotti) | |
|
||||
| [System.Xml](https://github.com/dotnet/corefx/labels/area-System.Xml) | **[@krwq](https://github.com/krwq)**, [@pjanotti](https://github.com/pjanotti) | |
|
||||
| **Microsoft contract assemblies** | | |
|
||||
| [Microsoft.CSharp](https://github.com/dotnet/corefx/labels/area-Microsoft.CSharp) | [@VSadov](https://github.com/VSadov), [@OmarTawfik](https://github.com/OmarTawfik) | |
|
||||
| [Microsoft.VisualBasic](https://github.com/dotnet/corefx/labels/area-Microsoft.VisualBasic) | [@VSadov](https://github.com/VSadov), [@OmarTawfik](https://github.com/OmarTawfik) | |
|
||||
| [Microsoft.Win32](https://github.com/dotnet/corefx/labels/area-Microsoft.Win32) | [@maryamariyan](https://github.com/maryamariyan) | |
|
||||
| [Microsoft.Win32](https://github.com/dotnet/corefx/labels/area-Microsoft.Win32) | **[@maryamariyan](https://github.com/maryamariyan)**, , [@Anipik](https://github.com/Anipik) | |
|
||||
|
||||
|
||||
Note: Area triage will apply the new scheme (issue types and assignee) throughout 2016.
|
||||
|
106
external/corefx/README.md
vendored
106
external/corefx/README.md
vendored
@ -1,105 +1,3 @@
|
||||
# .NET Core Libraries (CoreFX)
|
||||
# Mono fork of .NET Core Libraries (CoreFX)
|
||||
|
||||
This repo contains the library implementation (called "CoreFX") for .NET Core. It includes System.Collections, System.IO, System.Xml, and many other components.
|
||||
The corresponding [.NET Core Runtime repo](https://github.com/dotnet/coreclr) (called "CoreCLR") contains the runtime implementation for .NET Core. It includes RyuJIT, the .NET GC, and many other components.
|
||||
Runtime-specific library code ([mscorlib](https://github.com/dotnet/coreclr/tree/master/src/mscorlib)) lives in the CoreCLR repo. It needs to be built and versioned in tandem with the runtime. The rest of CoreFX is agnostic of runtime-implementation and can be run on any compatible .NET runtime (e.g. [CoreRT](https://github.com/dotnet/corert)).
|
||||
|
||||
|
||||
|
||||
## .NET Core
|
||||
|
||||
Official Starting Page: http://dotnet.github.io
|
||||
|
||||
* [How to use .NET Core](https://github.com/dotnet/core/#get-started) (with VS, VS Code, command-line CLI)
|
||||
* [Install official releases](https://www.microsoft.com/net/core)
|
||||
* [Documentation](https://docs.microsoft.com/en-us/dotnet) (Get Started, Tutorials, Porting from .NET Framework, API reference, ...)
|
||||
* [Deploying apps](https://docs.microsoft.com/en-us/dotnet/articles/core/preview3/deploying)
|
||||
* [Supported OS versions](https://github.com/dotnet/core/blob/master/roadmap.md#technology-roadmaps)
|
||||
* [Roadmap](https://github.com/dotnet/core/blob/master/roadmap.md)
|
||||
* [Releases](https://github.com/dotnet/core/tree/master/release-notes)
|
||||
* [Bringing more APIs to .NET Core](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/porting.md) (and why some APIs will be left out)
|
||||
|
||||
|
||||
|
||||
## How to Engage, Contribute and Provide Feedback
|
||||
|
||||
Some of the best ways to contribute are to try things out, file bugs, join in design conversations, and fix issues.
|
||||
|
||||
* [Dogfooding daily builds](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md)
|
||||
* If you have a question or idea, [file a new issue](https://github.com/dotnet/corefx/issues/new).
|
||||
|
||||
If you are having issues with the "full" .NET Framework (also called "Desktop"), the best way to file a bug is at [Connect](http://connect.microsoft.com/VisualStudio) or through [Product Support](https://support.microsoft.com/en-us/contactus?ws=support) if you have a contract.
|
||||
|
||||
### Issue Guide
|
||||
|
||||
This section is **in progress** here: [New contributor Docs - Issues](https://github.com/dotnet/corefx/wiki/New-contributor-Docs#issue-guide) (feel free to make it better - it's easy-to-edit wiki with RW permissions to everyone!)
|
||||
|
||||
Each issue area has one or more Microsoft owners, who are [listed here](https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/issue-guide.md).
|
||||
|
||||
### Contributing Guide
|
||||
|
||||
This section is **in progress** here: [New contributor Docs - Contributing](https://github.com/dotnet/corefx/wiki/New-contributor-Docs#contributing-guide) (feel free to make it better - it's easy-to-edit wiki with RW permissions to everyone!)
|
||||
|
||||
### Useful Links
|
||||
|
||||
* CoreFX source index: https://source.dot.net
|
||||
* API Reference docs: https://docs.microsoft.com/en-us/dotnet/core/api
|
||||
* .NET API Catalog: http://apisof.net (incl. APIs from daily builds and API usage info)
|
||||
* "Full" .NET Framework source index: https://referencesource.microsoft.com
|
||||
|
||||
### Community
|
||||
|
||||
* General .NET OSS discussions: [.NET Foundation forums](http://forums.dotnetfoundation.org)
|
||||
* Chat with other community members [![Join the chat at https://gitter.im/dotnet/corefx](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/corefx?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![.NET Slack Status](https://aspnetcoreslack.herokuapp.com/badge.svg?2)](http://tattoocoder.com/aspnet-slack-sign-up)
|
||||
|
||||
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/)
|
||||
to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).
|
||||
|
||||
### Reporting security issues and security bugs
|
||||
|
||||
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) <secure@microsoft.com>. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the [Security TechCenter](https://technet.microsoft.com/en-us/security/ff852094.aspx).
|
||||
|
||||
Also see info about related [Microsoft .NET Core and ASP.NET Core Bug Bounty Program](https://technet.microsoft.com/en-us/mt764065.aspx).
|
||||
|
||||
## License
|
||||
|
||||
.NET Core (including the corefx repo) is licensed under the [MIT license](LICENSE.TXT).
|
||||
|
||||
|
||||
|
||||
## .NET Foundation
|
||||
|
||||
.NET Core is a [.NET Foundation](http://www.dotnetfoundation.org/projects) project.
|
||||
|
||||
There are many .NET related projects on GitHub.
|
||||
|
||||
- [.NET home repo](https://github.com/Microsoft/dotnet) - links to 100s of .NET projects, from Microsoft and the community.
|
||||
- [ASP.NET Core home](https://github.com/aspnet/home) - the best place to start learning about ASP.NET Core.
|
||||
|
||||
|
||||
|
||||
## CoreFX Project
|
||||
|
||||
### Daily Builds
|
||||
|
||||
Daily builds of .NET Core components are published to [dotnet-core MyGet gallery](https://dotnet.myget.org/gallery/dotnet-core).
|
||||
The latest version number of each library can be seen in that gallery.
|
||||
|
||||
### Build & Test Status
|
||||
|
||||
Note: See officially supported [OS versions](https://github.com/dotnet/core/blob/master/roadmap.md#technology-roadmaps).
|
||||
|
||||
| | Inner x64 Debug | Inner x64 Release | Outer x64 Debug | Outer x64 Release |
|
||||
|:---|----------------:|------------------:|----------------:|------------------:|
|
||||
|**CentOS 7.1**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/centos7.1_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/centos7.1_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/centos7.1_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/centos7.1_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_centos7.1_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_centos7.1_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_centos7.1_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_centos7.1_release/lastCompletedBuild/testReport)|
|
||||
|**Debian 8**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/debian8.4_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/debian8.4_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/debian8.4_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/debian8.4_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_debian8.4_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_debian8.4_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_debian8.4_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_debian8.4_release/lastCompletedBuild/testReport)|
|
||||
|**Fedora 24**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/fedora24_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/fedora24_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/fedora24_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/fedora24_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_fedora24_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_fedora24_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_fedora24_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_fedora24_release/lastCompletedBuild/testReport)|
|
||||
|**OS X 10.12**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/osx10.12_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/osx10.12_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/osx10.12_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/osx10.12_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_osx_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_osx_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_osx_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_osx_release/lastCompletedBuild/testReport)|
|
||||
|**Red Hat 7.2**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/rhel7.2_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/rhel7.2_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/rhel7.2_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/rhel7.2_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_rhel7.2_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_rhel7.2_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_rhel7.2_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_rhel7.2_release/lastCompletedBuild/testReport)|
|
||||
|**Ubuntu 14.04**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu14.04_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu14.04_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu14.04_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu14.04_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu14.04_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu14.04_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu14.04_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu14.04_release/lastCompletedBuild/testReport)|
|
||||
|**Ubuntu 16.04**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.04_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.04_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.04_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.04_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.04_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.04_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.04_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.04_release/lastCompletedBuild/testReport)|
|
||||
|**Ubuntu 16.10**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.10_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.10_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.10_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/ubuntu16.10_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.10_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.10_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.10_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_ubuntu16.10_release/lastCompletedBuild/testReport)|
|
||||
|**PortableLinux**|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/portablelinux_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/portablelinux_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/portablelinux_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/portablelinux_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_portablelinux_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_portablelinux_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_portablelinux_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_portablelinux_release/lastCompletedBuild/testReport)|
|
||||
|**Windows 7**| | |[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_win7_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_win7_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_win7_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_win7_release/lastCompletedBuild/testReport)|
|
||||
|**Windows 8.1**|(x86) [![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/windows_nt_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/windows_nt_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/windows_nt_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/windows_nt_release/lastCompletedBuild/testReport)|[![x64-debug](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_windows_nt_debug/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_windows_nt_debug/lastCompletedBuild/testReport)|[![x64-release](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_windows_nt_release/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/outerloop_netcoreapp_windows_nt_release/lastCompletedBuild/testReport)|
|
||||
|**Code Coverage (Windows)**| | |[![code coverage](https://ci.dot.net/job/dotnet_corefx/job/master/job/code_coverage_windows/badge/icon)](https://ci.dot.net/job/dotnet_corefx/job/master/job/code_coverage_windows/Code_Coverage_Report)|
|
||||
Tracking https://github.com/dotnet/corefx/tree/release/2.1 branch
|
||||
|
83
external/corefx/THIRD-PARTY-NOTICES.TXT
vendored
83
external/corefx/THIRD-PARTY-NOTICES.TXT
vendored
@ -224,3 +224,86 @@ descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
|
||||
distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
|
||||
without even the implied warranty of merchantability or fitness for a particular
|
||||
purpose.
|
||||
|
||||
License notice for Brotli
|
||||
--------------------------------------
|
||||
|
||||
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
compress_fragment.c:
|
||||
Copyright (c) 2011, Google Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
decode_fuzzer.c:
|
||||
Copyright (c) 2015 The Chromium Authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
|
||||
|
2
external/corefx/build-managed.sh
vendored
2
external/corefx/build-managed.sh
vendored
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
$working_tree_root/run.sh build-managed $*
|
||||
$working_tree_root/run.sh build-managed "$@"
|
||||
exit $?
|
||||
|
2
external/corefx/build-native.sh
vendored
2
external/corefx/build-native.sh
vendored
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
#The Run Command Tool is calling src/Native/build-native.sh
|
||||
$working_tree_root/run.sh build-native $*
|
||||
$working_tree_root/run.sh build-native "$@"
|
||||
exit $?
|
||||
|
2
external/corefx/build-packages.sh
vendored
2
external/corefx/build-packages.sh
vendored
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
$working_tree_root/run.sh build-managed -packages $*
|
||||
$working_tree_root/run.sh build-managed -packages "$@"
|
||||
exit $?
|
||||
|
4
external/corefx/build.sh
vendored
4
external/corefx/build.sh
vendored
@ -38,10 +38,10 @@ if [ "$1" != "" ] && [[ "$1" != -* ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
"$__scriptpath/build-native.sh" $*
|
||||
"$__scriptpath/build-native.sh" "$@"
|
||||
if [ $? -ne 0 ];then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$__scriptpath/build-managed.sh" -BuildPackages=true $*
|
||||
"$__scriptpath/build-managed.sh" -BuildPackages=true "$@"
|
||||
exit $?
|
||||
|
@ -153,7 +153,7 @@
|
||||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run $(PB_DockerCommonRunArgs) $(PB_DockerVolumeName)/sync.sh -p -- /p:ArchGroup=$(PB_Architecture)",
|
||||
"arguments": "run $(PB_DockerCommonRunArgs) $(PB_DockerVolumeName)/sync.sh $(PB_SyncArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
@ -205,6 +205,7 @@
|
||||
"alwaysRun": true,
|
||||
"displayName": "Copy Files to: $(Build.StagingDirectory)\\BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "CopyFiles1",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
@ -227,6 +228,7 @@
|
||||
"alwaysRun": true,
|
||||
"displayName": "Publish Artifact: BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "PublishBuildArtifacts2",
|
||||
"task": {
|
||||
"id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
|
||||
@ -246,9 +248,10 @@
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Cleanup Docker",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task12",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -266,9 +269,10 @@
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Cleanup VSTS Agent",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task13",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -342,7 +346,7 @@
|
||||
"value": "Release"
|
||||
},
|
||||
"PB_DockerCommonRunArgs": {
|
||||
"value": "--rm --name $(PB_DockerContainerName) -v \"$(PB_GitDirectory):$(PB_DockerVolumeName)\" -w=\"$(PB_DockerVolumeName)\" $(PB_DockerImageName)"
|
||||
"value": "--rm --name $(PB_DockerContainerName) -v \"$(PB_GitDirectory):$(PB_DockerVolumeName)\" -w=\"$(PB_DockerVolumeName)\" -e \"PACKAGEVERSIONPROPSURL=$(PB_PackageVersionPropsUrl)\" $(PB_DockerImageName)"
|
||||
},
|
||||
"PB_DockerContainerName": {
|
||||
"value": "corefx-cross-$(Build.BuildId)"
|
||||
@ -396,6 +400,16 @@
|
||||
"VsoPassword": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
},
|
||||
"PB_SyncArguments": {
|
||||
"value": "-p -- /p:ArchGroup=$(PB_Architecture)",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_PackageVersionPropsUrl": {
|
||||
"value": ""
|
||||
},
|
||||
"PB_AssetRootUrl": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"demands": [
|
||||
@ -442,6 +456,7 @@
|
||||
},
|
||||
"processParameters": {},
|
||||
"quality": "definition",
|
||||
"drafts": [],
|
||||
"queue": {
|
||||
"id": 36,
|
||||
"name": "DotNet-Build",
|
||||
@ -461,7 +476,7 @@
|
||||
"description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ",
|
||||
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
|
||||
"state": "wellFormed",
|
||||
"revision": 418098167,
|
||||
"revision": 418098432,
|
||||
"visibility": "organization"
|
||||
}
|
||||
}
|
||||
}
|
@ -85,6 +85,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Create host machine tools sandbox",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task5",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
"versionSpec": "2.*",
|
||||
@ -92,7 +93,7 @@
|
||||
},
|
||||
"inputs": {
|
||||
"SourceFolder": "$(PB_GitDirectory)",
|
||||
"Contents": "init-tools.sh\nBuildToolsVersion.txt\nDotnetCLIVersion.txt\ninit-tools.msbuild",
|
||||
"Contents": "init-tools.sh\nBuildToolsVersion.txt\nDotnetCLIVersion.txt\ninit-tools.msbuild\ndependencies.props",
|
||||
"TargetFolder": "$(DockerHost_Sandbox)",
|
||||
"CleanTargetFolder": "false",
|
||||
"OverWrite": "false",
|
||||
@ -100,6 +101,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
@ -205,6 +207,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Build tests",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), ne(variables.PB_SkipTests, 'true'), ne(variables.PB_SkipTestBuild, 'true'))",
|
||||
"refName": "Task10",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -225,6 +228,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Create Helix Test Jobs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), ne(variables.PB_SkipTests, 'true'), ne(variables.PB_EnableCloudTest, 'false'))",
|
||||
"refName": "Task11",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -265,6 +269,7 @@
|
||||
"alwaysRun": true,
|
||||
"displayName": "Copy Files to: $(Build.StagingDirectory)\\BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "CopyFiles1",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
@ -287,6 +292,7 @@
|
||||
"alwaysRun": true,
|
||||
"displayName": "Publish Artifact: BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "PublishBuildArtifacts2",
|
||||
"task": {
|
||||
"id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
|
||||
@ -306,9 +312,10 @@
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Cleanup Docker",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task14",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -326,9 +333,10 @@
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Cleanup VSTS Agent",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task15",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -416,7 +424,7 @@
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_DockerCommonRunArgs": {
|
||||
"value": "--rm --name $(PB_DockerContainerName) -v \"$(PB_GitDirectory):$(PB_DockerVolumeName)\" -w=\"$(PB_DockerVolumeName)\" $(PB_DockerImageName)"
|
||||
"value": "--rm --name $(PB_DockerContainerName) -v \"$(PB_GitDirectory):$(PB_DockerVolumeName)\" -w=\"$(PB_DockerVolumeName)\" -e \"PACKAGEVERSIONPROPSURL=$(PB_PackageVersionPropsUrl)\" $(PB_DockerImageName)"
|
||||
},
|
||||
"PB_DockerContainerName": {
|
||||
"value": "corefx-$(Build.BuildId)"
|
||||
@ -471,6 +479,16 @@
|
||||
"VsoPassword": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
},
|
||||
"PB_SkipTests": {
|
||||
"value": "false",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_PackageVersionPropsUrl": {
|
||||
"value": ""
|
||||
},
|
||||
"PB_AssetRootUrl": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"demands": [
|
||||
@ -516,6 +534,7 @@
|
||||
},
|
||||
"processParameters": {},
|
||||
"quality": "definition",
|
||||
"drafts": [],
|
||||
"queue": {
|
||||
"id": 36,
|
||||
"name": "DotNet-Build",
|
||||
@ -535,7 +554,7 @@
|
||||
"description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ",
|
||||
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
|
||||
"state": "wellFormed",
|
||||
"revision": 418098167,
|
||||
"revision": 418098432,
|
||||
"visibility": "organization"
|
||||
}
|
||||
}
|
||||
}
|
@ -145,6 +145,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Run $(Agent.BuildDirectory)/s/corefx/build-tests.sh",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), ne(variables.PB_SkipTests, 'true'))",
|
||||
"refName": "Task8",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -165,6 +166,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Create Helix Test Jobs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), ne(variables.PB_SkipTests, 'true'), ne(variables.PB_EnableCloudTest, 'false'))",
|
||||
"refName": "Task9",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -205,6 +207,7 @@
|
||||
"alwaysRun": true,
|
||||
"displayName": "Copy Files to: $(Build.StagingDirectory)\\BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "CopyFiles1",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
@ -227,6 +230,7 @@
|
||||
"alwaysRun": true,
|
||||
"displayName": "Publish Artifact: BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "PublishBuildArtifacts2",
|
||||
"task": {
|
||||
"id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
|
||||
@ -328,6 +332,19 @@
|
||||
"PB_CreateHelixArguments": {
|
||||
"value": "/t:CloudBuild /p:ArchGroup=x64 /p:ConfigurationGroup=Release /p:\"EnableCloudTest=true /p:\"TestProduct=corefx /p:\"TimeoutInSeconds=1200\" /p:\"TargetOS=OSX\" /p:FilterToOSGroup=OSX",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_SkipTests": {
|
||||
"value": "false",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_PackageVersionPropsUrl": {
|
||||
"value": ""
|
||||
},
|
||||
"PACKAGEVERSIONPROPSURL": {
|
||||
"value": "$(PB_PackageVersionPropsUrl)"
|
||||
},
|
||||
"PB_AssetRootUrl": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"demands": [
|
||||
@ -373,6 +390,7 @@
|
||||
},
|
||||
"processParameters": {},
|
||||
"quality": "definition",
|
||||
"drafts": [],
|
||||
"queue": {
|
||||
"id": 330,
|
||||
"name": "DotNetCore-Build",
|
||||
@ -392,7 +410,7 @@
|
||||
"description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ",
|
||||
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
|
||||
"state": "wellFormed",
|
||||
"revision": 418098167,
|
||||
"revision": 418098432,
|
||||
"visibility": "organization"
|
||||
}
|
||||
}
|
@ -18,7 +18,7 @@
|
||||
"scriptName": "",
|
||||
"arguments": "-path $(build.SourcesDirectory)\\corefx",
|
||||
"workingFolder": "",
|
||||
"inlineScript": "param($path)\n\nif (Test-Path $path){\n Stop-Process -processname msbuild -ErrorAction Ignore -Verbose\n Stop-Process -processname dotnet -ErrorAction Ignore -Verbose\n Stop-Process -processname vbcscompiler -ErrorAction Ignore -Verbose\n # this will print out an error each time a file can't be deleted.\n Remove-Item -Recurse -Force $path\n }\n",
|
||||
"inlineScript": "param($path)\nif ($path -and (Test-Path $path)){\nStop-Process -processname msbuild -ErrorAction Ignore -Verbose\nStop-Process -processname dotnet -ErrorAction Ignore -Verbose\nStop-Process -processname vbcscompiler -ErrorAction Ignore -Verbose\n$emptyFolder = (New-Item -ItemType Directory (Join-Path -Path $env:TEMP -ChildPath ([System.IO.Path]::GetRandomFileName()))).FullName\nrobocopy $emptyFolder $path /purge\nRemove-Item -Recurse -Force $path,$emptyFolder \nexit 0\n}",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
@ -69,7 +69,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Install Signing Plugin",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "ne(variables['PB_SignType'], 'oss')",
|
||||
"condition": "and(succeeded(), in(variables.PB_SignType, 'real', 'test'))",
|
||||
"refName": "Task4",
|
||||
"task": {
|
||||
"id": "30666190-6959-11e5-9f96-f56098202fef",
|
||||
@ -183,50 +183,6 @@
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Copy Files to: $(Build.StagingDirectory)\\BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "CopyFiles1",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
"versionSpec": "2.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"SourceFolder": "$(Build.SourcesDirectory)\\corefx",
|
||||
"Contents": "*.log",
|
||||
"TargetFolder": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"CleanTargetFolder": "false",
|
||||
"OverWrite": "false",
|
||||
"flattenFolders": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Publish Artifact: BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "PublishBuildArtifacts2",
|
||||
"task": {
|
||||
"id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
|
||||
"versionSpec": "1.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"PathtoPublish": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"ArtifactName": "BuildLogs",
|
||||
"ArtifactType": "Container",
|
||||
"TargetPath": "\\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)",
|
||||
"Parallel": "false",
|
||||
"ParallelCount": "8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
@ -252,6 +208,52 @@
|
||||
"SymbolsArtifactName": "Symbols_$(PB_ConfigurationGroup)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Copy Files to: $(Build.StagingDirectory)\\BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "CopyFiles1",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
"versionSpec": "2.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"SourceFolder": "$(Build.SourcesDirectory)\\corefx",
|
||||
"Contents": "*.log",
|
||||
"TargetFolder": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"CleanTargetFolder": "false",
|
||||
"OverWrite": "false",
|
||||
"flattenFolders": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Publish Artifact: BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "PublishBuildArtifacts2",
|
||||
"task": {
|
||||
"id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
|
||||
"versionSpec": "1.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"PathtoPublish": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"ArtifactName": "BuildLogs",
|
||||
"ArtifactType": "Container",
|
||||
"TargetPath": "\\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)",
|
||||
"Parallel": "false",
|
||||
"ParallelCount": "8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
@ -259,6 +261,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Execute cleanup tasks",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task12",
|
||||
"task": {
|
||||
"id": "521a94ea-9e68-468a-8167-6dcf361ea776",
|
||||
@ -274,6 +277,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Final clean to remove any lingering process",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task13",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -294,6 +298,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Build solution corefx\\Tools\\scripts\\vstsagent\\cleanupagent.proj",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task14",
|
||||
"task": {
|
||||
"id": "c6c4c611-aa2e-4a33-b606-5eaba2196824",
|
||||
@ -422,6 +427,15 @@
|
||||
"PB_SignType": {
|
||||
"value": "real",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_PackageVersionPropsUrl": {
|
||||
"value": ""
|
||||
},
|
||||
"PACKAGEVERSIONPROPSURL": {
|
||||
"value": "$(PB_PackageVersionPropsUrl)"
|
||||
},
|
||||
"PB_AssetRootUrl": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"demands": [
|
||||
@ -468,6 +482,7 @@
|
||||
},
|
||||
"processParameters": {},
|
||||
"quality": "definition",
|
||||
"drafts": [],
|
||||
"queue": {
|
||||
"id": 36,
|
||||
"name": "DotNet-Build",
|
||||
@ -487,7 +502,7 @@
|
||||
"description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ",
|
||||
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
|
||||
"state": "wellFormed",
|
||||
"revision": 418098167,
|
||||
"revision": 418098432,
|
||||
"visibility": "organization"
|
||||
}
|
||||
}
|
||||
}
|
@ -18,7 +18,7 @@
|
||||
"scriptName": "",
|
||||
"arguments": "-path $(build.SourcesDirectory)\\corefx",
|
||||
"workingFolder": "",
|
||||
"inlineScript": "param($path)\n\nif (Test-Path $path){\n Stop-Process -processname msbuild -ErrorAction Ignore -Verbose\n Stop-Process -processname dotnet -ErrorAction Ignore -Verbose\n Stop-Process -processname vbcscompiler -ErrorAction Ignore -Verbose\n # this will print out an error each time a file can't be deleted.\n Remove-Item -Recurse -Force $path\n }",
|
||||
"inlineScript": "param($path)\nif ($path -and (Test-Path $path)){\nStop-Process -processname msbuild -ErrorAction Ignore -Verbose\nStop-Process -processname dotnet -ErrorAction Ignore -Verbose\nStop-Process -processname vbcscompiler -ErrorAction Ignore -Verbose\n$emptyFolder = (New-Item -ItemType Directory (Join-Path -Path $env:TEMP -ChildPath ([System.IO.Path]::GetRandomFileName()))).FullName\nrobocopy $emptyFolder $path /purge\nRemove-Item -Recurse -Force $path,$emptyFolder \nexit 0\n}",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
@ -69,7 +69,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Install Signing Plugin",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "ne(variables['PB_SignType'], 'oss')",
|
||||
"condition": "and(succeeded(), in(variables.PB_SignType, 'real', 'test'))",
|
||||
"refName": "Task4",
|
||||
"task": {
|
||||
"id": "30666190-6959-11e5-9f96-f56098202fef",
|
||||
@ -170,6 +170,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Run $(Build.SourcesDirectory)\\corefx\\build-tests.cmd",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), ne(variables.PB_SkipTests, 'true'))",
|
||||
"refName": "Task9",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -190,6 +191,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Create Helix Test Jobs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), ne(variables.PB_SkipTests, 'true'), ne(variables.PB_EnableCloudTest, 'false'))",
|
||||
"refName": "Task10",
|
||||
"task": {
|
||||
"id": "c6c4c611-aa2e-4a33-b606-5eaba2196824",
|
||||
@ -232,50 +234,6 @@
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Copy Files to: $(Build.StagingDirectory)\\BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "CopyFiles1",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
"versionSpec": "2.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"SourceFolder": "$(Build.SourcesDirectory)\\corefx",
|
||||
"Contents": "*.log",
|
||||
"TargetFolder": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"CleanTargetFolder": "false",
|
||||
"OverWrite": "false",
|
||||
"flattenFolders": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Publish Artifact: BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "PublishBuildArtifacts2",
|
||||
"task": {
|
||||
"id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
|
||||
"versionSpec": "1.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"PathtoPublish": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"ArtifactName": "BuildLogs",
|
||||
"ArtifactType": "Container",
|
||||
"TargetPath": "\\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)",
|
||||
"Parallel": "false",
|
||||
"ParallelCount": "8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
@ -301,6 +259,52 @@
|
||||
"SymbolsArtifactName": "Symbols_$(PB_ConfigurationGroup)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Copy Files to: $(Build.StagingDirectory)\\BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "CopyFiles1",
|
||||
"task": {
|
||||
"id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
|
||||
"versionSpec": "2.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"SourceFolder": "$(Build.SourcesDirectory)\\corefx",
|
||||
"Contents": "*.log",
|
||||
"TargetFolder": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"CleanTargetFolder": "false",
|
||||
"OverWrite": "false",
|
||||
"flattenFolders": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": true,
|
||||
"displayName": "Publish Artifact: BuildLogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeededOrFailed()",
|
||||
"refName": "PublishBuildArtifacts2",
|
||||
"task": {
|
||||
"id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
|
||||
"versionSpec": "1.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"PathtoPublish": "$(Build.StagingDirectory)\\BuildLogs",
|
||||
"ArtifactName": "BuildLogs",
|
||||
"ArtifactType": "Container",
|
||||
"TargetPath": "\\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)",
|
||||
"Parallel": "false",
|
||||
"ParallelCount": "8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
@ -308,6 +312,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Execute cleanup tasks",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task14",
|
||||
"task": {
|
||||
"id": "521a94ea-9e68-468a-8167-6dcf361ea776",
|
||||
@ -323,6 +328,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Final clean to remove any lingering process",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task15",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
@ -343,6 +349,7 @@
|
||||
"alwaysRun": false,
|
||||
"displayName": "Build solution corefx\\Tools\\scripts\\vstsagent\\cleanupagent.proj",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task16",
|
||||
"task": {
|
||||
"id": "c6c4c611-aa2e-4a33-b606-5eaba2196824",
|
||||
@ -503,6 +510,19 @@
|
||||
"PB_SignType": {
|
||||
"value": "real",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_SkipTests": {
|
||||
"value": "false",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_PackageVersionPropsUrl": {
|
||||
"value": ""
|
||||
},
|
||||
"PACKAGEVERSIONPROPSURL": {
|
||||
"value": "$(PB_PackageVersionPropsUrl)"
|
||||
},
|
||||
"PB_AssetRootUrl": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"demands": [
|
||||
@ -548,6 +568,7 @@
|
||||
},
|
||||
"processParameters": {},
|
||||
"quality": "definition",
|
||||
"drafts": [],
|
||||
"queue": {
|
||||
"id": 36,
|
||||
"name": "DotNet-Build",
|
||||
@ -567,7 +588,7 @@
|
||||
"description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ",
|
||||
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
|
||||
"state": "wellFormed",
|
||||
"revision": 418098167,
|
||||
"revision": 418098432,
|
||||
"visibility": "organization"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +1,14 @@
|
||||
{
|
||||
"build": [
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Install Signing Plugin",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), ne(variables['PB_SignType'], 'oss'))",
|
||||
"condition": "and(succeeded(), in(variables.PB_SignType, 'real', 'test'))",
|
||||
"refName": "Task1",
|
||||
"task": {
|
||||
"id": "30666190-6959-11e5-9f96-f56098202fef",
|
||||
"versionSpec": "1.*",
|
||||
@ -20,11 +22,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Run script $(VS140COMNTOOLS)\\VsDevCmd.bat",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task2",
|
||||
"task": {
|
||||
"id": "bfc8bf76-e7ac-4a8c-9a55-a944a9f632fd",
|
||||
"versionSpec": "1.*",
|
||||
@ -39,11 +43,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Fetch custom tooling (NuGet, EmbedIndex)",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task3",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -53,17 +59,19 @@
|
||||
"scriptType": "filePath",
|
||||
"scriptName": "scripts/DotNet-Trusted-Publish/Fetch-Tools.ps1",
|
||||
"arguments": "$(Build.StagingDirectory)\\ToolingDownload",
|
||||
"inlineScript": "# You can write your powershell scripts inline here. \n# You can also pass predefined and custom variables to this scripts using arguments\n\n Write-Host \"Hello World\"",
|
||||
"workingFolder": "",
|
||||
"inlineScript": "# You can write your powershell scripts inline here. \n# You can also pass predefined and custom variables to this scripts using arguments\n\n Write-Host \"Hello World\"",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Set up pipeline-specific git repository",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task4",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -73,17 +81,19 @@
|
||||
"scriptType": "inlineScript",
|
||||
"scriptName": "",
|
||||
"arguments": "-gitUrl $(PB_VstsRepoGitUrl) -root $(Pipeline.SourcesDirectory)",
|
||||
"inlineScript": "param($gitUrl, $root)\n\nif (Test-Path $root)\n{\n Remove-Item -Recurse -Force $root\n}\ngit clone --no-checkout $gitUrl $root 2>&1 | Write-Host\ncd $root\ngit checkout $env:SourceVersion 2>&1 | Write-Host\n\nWrite-Host (\"##vso[task.setvariable variable=Pipeline.SourcesDirectory;]$root\")",
|
||||
"workingFolder": "",
|
||||
"inlineScript": "param($gitUrl, $root)\n\nif (Test-Path $root)\n{\n Remove-Item -Recurse -Force $root\n}\ngit clone --no-checkout $gitUrl $root 2>&1 | Write-Host\ncd $root\ngit checkout $env:SourceVersion 2>&1 | Write-Host\n\nWrite-Host (\"##vso[task.setvariable variable=Pipeline.SourcesDirectory;]$root\")",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "sync -ab",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task5",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -93,18 +103,20 @@
|
||||
"scriptType": "inlineScript",
|
||||
"scriptName": "",
|
||||
"arguments": "$(PB_CloudDropAccountName) $(CloudDropAccessToken) $(PB_Label)",
|
||||
"inlineScript": "param($account, $token, $container)\n.\\sync.cmd -ab -- /p:CloudDropAccountName=$account /p:CloudDropAccessToken=$token /p:ContainerName=$container",
|
||||
"workingFolder": "$(Pipeline.SourcesDirectory)",
|
||||
"inlineScript": "param($account, $token, $container)\n.\\sync.cmd -ab -- /p:CloudDropAccountName=$account /p:CloudDropAccessToken=$token /p:ContainerName=$container",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Inject signed symbol catalogs",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "succeeded()",
|
||||
"refName": "Task6",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -120,11 +132,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Index symbol packages",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task7",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -134,17 +148,19 @@
|
||||
"scriptType": "inlineScript",
|
||||
"scriptName": "",
|
||||
"arguments": "-ConfigGroup $(PB_ConfigurationGroup) -SymPkgGlob $(PB_AzureContainerSymbolPackageGlob) -PipelineSrcDir $(Pipeline.SourcesDirectory)",
|
||||
"inlineScript": "param($ConfigGroup, $SymPkgGlob, $PipelineSrcDir)\nif ($ConfigGroup -ne \"Release\") { exit }\n\n& $env:Build_SourcesDirectory\\scripts\\DotNet-Trusted-Publish\\Embed-Index.ps1 `\n $PipelineSrcDir\\packages\\AzureTransfer\\$ConfigGroup\\$SymPkgGlob `\n $env:Build_StagingDirectory\\IndexedSymbolPackages",
|
||||
"workingFolder": "",
|
||||
"inlineScript": "param($ConfigGroup, $SymPkgGlob, $PipelineSrcDir)\nif ($ConfigGroup -ne \"Release\") { exit }\n\n& $env:Build_SourcesDirectory\\scripts\\DotNet-Trusted-Publish\\Embed-Index.ps1 `\n $PipelineSrcDir\\packages\\AzureTransfer\\$ConfigGroup\\$SymPkgGlob `\n $env:Build_StagingDirectory\\IndexedSymbolPackages",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Generate Version Assets",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task8",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -154,17 +170,20 @@
|
||||
"scriptType": "inlineScript",
|
||||
"scriptName": "",
|
||||
"arguments": "-OfficialBuildId $(OfficialBuildId)",
|
||||
"inlineScript": "param($OfficialBuildId)\n msbuild build.proj /t:CreateOrUpdateCurrentVersionFile /p:OfficialBuildId=$OfficialBuildId /p:BuildVersionFile=bin\\obj\\BuildVersion-$OfficialBuildId.props",
|
||||
"workingFolder": "$(Pipeline.SourcesDirectory)",
|
||||
"inlineScript": "param($OfficialBuildId)\n msbuild build.proj /t:CreateOrUpdateCurrentVersionFile /p:OfficialBuildId=$OfficialBuildId /p:BuildVersionFile=bin\\obj\\BuildVersion-$OfficialBuildId.props",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "packages -> dotnet.myget.org",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(variables.PB_ConfigurationGroup, 'Release'))",
|
||||
"refName": "Task9",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -173,18 +192,42 @@
|
||||
"inputs": {
|
||||
"scriptType": "inlineScript",
|
||||
"scriptName": "",
|
||||
"arguments": "-ApiKey $(MyGetApiKey) -ConfigurationGroup $(PB_ConfigurationGroup) -PackagesGlob $(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(PB_ConfigurationGroup)\\$(PB_AzureContainerPackageGlob) -MyGetFeedUrl $(PB_MyGetFeedUrl)",
|
||||
"arguments": "-ApiKey $(MyGetApiKey) -PackagesGlob $(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(PB_ConfigurationGroup)\\$(PB_AzureContainerPackageGlob) -MyGetFeedUrl $(PB_MyGetFeedUrl)",
|
||||
"workingFolder": "$(Pipeline.SourcesDirectory)",
|
||||
"inlineScript": "param($ApiKey, $ConfigurationGroup, $PackagesGlob, $MyGetFeedUrl, $SignType=\"unset\")\n\nif ($ConfigurationGroup.ToLower() -ne \"release\" ) { Write-host \"Chose not to publish\"; exit }\n\n.\\build-managed.cmd -- /t:NuGetPush /v:Normal `\n/p:NuGetExePath=$env:CustomNuGetPath `\n/p:NuGetApiKey=$ApiKey `\n/p:NuGetSource=$MyGetFeedUrl `\n/p:PackagesGlob=$PackagesGlob",
|
||||
"inlineScript": "param($ApiKey, $PackagesGlob, $MyGetFeedUrl)\n.\\build-managed.cmd -- /t:NuGetPush /v:Normal `\n/p:NuGetExePath=$env:CustomNuGetPath `\n/p:NuGetApiKey=$ApiKey `\n/p:NuGetSource=$MyGetFeedUrl `\n/p:PackagesGlob=$PackagesGlob",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "packages -> Blob Feed",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.PB_ConfigurationGroup, 'Release'))",
|
||||
"refName": "CmdLine1",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
"versionSpec": "1.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"filename": "msbuild",
|
||||
"arguments": "src\\publish.proj /t:PublishToAzureBlobFeed $(FeedPublishArguments)",
|
||||
"workingFolder": "$(Pipeline.SourcesDirectory)",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "symbol packages -> dotnet.myget.org",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(variables.PB_ConfigurationGroup, 'Release'))",
|
||||
"refName": "Task11",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -195,16 +238,40 @@
|
||||
"scriptName": "",
|
||||
"arguments": "-ApiKey $(MyGetApiKey) -ConfigurationGroup $(PB_ConfigurationGroup) -PackagesGlob $(Build.StagingDirectory)\\IndexedSymbolPackages\\*.nupkg -MyGetFeedUrl $(PB_MyGetFeedUrl)",
|
||||
"workingFolder": "$(Pipeline.SourcesDirectory)",
|
||||
"inlineScript": "param($ApiKey, $ConfigurationGroup, $PackagesGlob, $MyGetFeedUrl, $SignType=\"unset\")\n\nif ($ConfigurationGroup.ToLower() -ne \"release\" ) { Write-host \"Chose not to publish\"; exit }\nif ($env:SourceBranch.StartsWith(\"release/\")) { exit }\n\n.\\build-managed.cmd -- /t:NuGetPush /v:Normal `\n/p:NuGetExePath=$env:CustomNuGetPath `\n/p:NuGetApiKey=$ApiKey `\n/p:NuGetSource=$MyGetFeedUrl `\n/p:PackagesGlob=$PackagesGlob",
|
||||
"inlineScript": "param($ApiKey, $ConfigurationGroup, $PackagesGlob, $MyGetFeedUrl)\nif ($env:SourceBranch.StartsWith(\"release/\")) { exit }\n\n.\\build-managed.cmd -- /t:NuGetPush /v:Normal `\n/p:NuGetExePath=$env:CustomNuGetPath `\n/p:NuGetApiKey=$ApiKey `\n/p:NuGetSource=$MyGetFeedUrl `\n/p:PackagesGlob=$PackagesGlob",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "symbol packages -> Blob Feed",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.PB_ConfigurationGroup, 'Release'))",
|
||||
"refName": "CmdLine2",
|
||||
"task": {
|
||||
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
|
||||
"versionSpec": "1.*",
|
||||
"definitionType": "task"
|
||||
},
|
||||
"inputs": {
|
||||
"filename": "msbuild",
|
||||
"arguments": "src\\publish.proj /t:PublishSymbolsToAzureBlobFeed /p:PublishSymbols=\"true\" $(FeedPublishArguments)",
|
||||
"workingFolder": "$(Pipeline.SourcesDirectory)",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Update versions repository",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'versions'), eq(variables.PB_ConfigurationGroup, 'Release'))",
|
||||
"refName": "Task13",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -214,17 +281,19 @@
|
||||
"scriptType": "inlineScript",
|
||||
"scriptName": "",
|
||||
"arguments": "-ghAuthToken $(PB_DotNetBuildBotAccessToken) -root $(Pipeline.SourcesDirectory) -cg $(PB_ConfigurationGroup) -fullPkgGlob $(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(PB_ConfigurationGroup)\\$(PB_AzureContainerPackageGlob) ",
|
||||
"inlineScript": "param($ghAuthToken, $root, $cg, $fullPkgGlob, $SignType=\"unset\")\nif ($cg -ne \"Release\" ) { exit }\ncd $root\n. $root\\build-managed.cmd -- /t:UpdatePublishedVersions `\n/p:GitHubUser=dotnet-helix-bot `\n/p:GitHubEmail=dotnet-helix-bot@microsoft.com `\n/p:GitHubAuthToken=$ghAuthToken `\n/p:VersionsRepoOwner=$env:PB_VersionsRepoOwner `\n/p:VersionsRepo=versions `\n/p:VersionsRepoPath=build-info/dotnet/$env:PB_GitHubRepositoryName/$env:SourceBranch `\n/p:ShippedNuGetPackageGlobPath=$fullPkgGlob",
|
||||
"workingFolder": "",
|
||||
"inlineScript": "param($ghAuthToken, $root, $cg, $fullPkgGlob, $SignType=\"unset\")\nif ($cg -ne \"Release\" ) { exit }\ncd $root\n. $root\\build-managed.cmd -- /t:UpdatePublishedVersions `\n/p:GitHubUser=dotnet-helix-bot `\n/p:GitHubEmail=dotnet-helix-bot@microsoft.com `\n/p:GitHubAuthToken=$ghAuthToken `\n/p:VersionsRepoOwner=$env:PB_VersionsRepoOwner `\n/p:VersionsRepo=versions `\n/p:VersionsRepoPath=build-info/dotnet/$env:PB_GitHubRepositoryName/$env:SourceBranch `\n/p:ShippedNuGetPackageGlobPath=$fullPkgGlob",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Get Build Number",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task14",
|
||||
"task": {
|
||||
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
|
||||
"versionSpec": "1.*",
|
||||
@ -234,17 +303,19 @@
|
||||
"scriptType": "inlineScript",
|
||||
"scriptName": "",
|
||||
"arguments": "$(OfficialBuildId) $(Pipeline.SourcesDirectory)",
|
||||
"inlineScript": "param(\n [string]$OfficialBuildId,\n [string]$SourcesDir\n)\n$VersionPropsFile=$SourcesDir + \"\\bin\\obj\\BuildVersion-\" + $OfficialBuildId + \".props\"\n[xml]$versionXml=Get-Content $VersionPropsFile\n$env:BuildNumber=$versionXml.Project.PropertyGroup.BuildNumberMajor.InnerText + \".\" + $versionXml.Project.PropertyGroup.BuildNumberMinor.InnerText\nWrite-Host (\"##vso[task.setvariable variable=BuildNumber;]$env:BuildNumber\")",
|
||||
"workingFolder": "",
|
||||
"inlineScript": "param(\n [string]$OfficialBuildId,\n [string]$SourcesDir\n)\n$VersionPropsFile=$SourcesDir + \"\\bin\\obj\\BuildVersion-\" + $OfficialBuildId + \".props\"\n[xml]$versionXml=Get-Content $VersionPropsFile\n$env:BuildNumber=$versionXml.Project.PropertyGroup.BuildNumberMajor.InnerText + \".\" + $versionXml.Project.PropertyGroup.BuildNumberMinor.InnerText\nWrite-Host (\"##vso[task.setvariable variable=BuildNumber;]$env:BuildNumber\")",
|
||||
"failOnStandardError": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": true,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Publish to Artifact Services Drop",
|
||||
"timeoutInMinutes": 0,
|
||||
"refName": "Task15",
|
||||
"task": {
|
||||
"id": "f9d96d25-0c81-4e77-8282-1ad1f785cbb4",
|
||||
"versionSpec": "0.*",
|
||||
@ -263,12 +334,14 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"environment": {},
|
||||
"enabled": true,
|
||||
"continueOnError": false,
|
||||
"alwaysRun": false,
|
||||
"displayName": "Send Telemetry",
|
||||
"timeoutInMinutes": 0,
|
||||
"condition": "always()",
|
||||
"refName": "Task16",
|
||||
"task": {
|
||||
"id": "521a94ea-9e68-468a-8167-6dcf361ea776",
|
||||
"versionSpec": "1.*",
|
||||
@ -278,18 +351,6 @@
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"enabled": false,
|
||||
"definition": {
|
||||
"id": "7c555368-ca64-4199-add6-9ebaf0b0137d"
|
||||
},
|
||||
"inputs": {
|
||||
"multipliers": "[]",
|
||||
"parallel": "false",
|
||||
"continueOnError": "true",
|
||||
"additionalFields": "{}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"enabled": false,
|
||||
"definition": {
|
||||
@ -309,6 +370,16 @@
|
||||
"inputs": {
|
||||
"additionalFields": "{}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"enabled": false,
|
||||
"definition": {
|
||||
"id": "5d58cc01-7c75-450c-be18-a388ddb129ec"
|
||||
},
|
||||
"inputs": {
|
||||
"branchFilters": "[\"+refs/heads/*\"]",
|
||||
"additionalFields": "{}"
|
||||
}
|
||||
}
|
||||
],
|
||||
"variables": {
|
||||
@ -423,6 +494,9 @@
|
||||
"value": "master",
|
||||
"allowOverride": true
|
||||
},
|
||||
"FeedPublishArguments": {
|
||||
"value": "$(PB_BuildOutputManifestArguments) /p:AccountKey=$(PB_PublishBlobFeedKey) /p:ExpectedFeedUrl=$(PB_PublishBlobFeedUrl) /p:ConfigurationGroup=$(PB_ConfigurationGroup)"
|
||||
},
|
||||
"PB_AzureContainerPackageGlob": {
|
||||
"value": "*.nupkg",
|
||||
"allowOverride": true
|
||||
@ -441,6 +515,20 @@
|
||||
},
|
||||
"PB_ToolPackageSource": {
|
||||
"value": "https://www.myget.org/F/dagood-test-buildtools/api/v3/index.json"
|
||||
},
|
||||
"PB_PublishBlobFeedUrl": {
|
||||
"value": "",
|
||||
"allowOverride": true
|
||||
},
|
||||
"PB_PublishBlobFeedKey": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
},
|
||||
"PB_PublishType": {
|
||||
"value": ""
|
||||
},
|
||||
"PB_BuildOutputManifestArguments": {
|
||||
"value": "/p:ManifestBuildId=$(OfficialBuildId) /p:ManifestBranch=$(SourceBranch) /p:ManifestCommit=$(SourceVersion)"
|
||||
}
|
||||
},
|
||||
"retentionRules": [
|
||||
@ -462,6 +550,7 @@
|
||||
"buildNumberFormat": "$(date:yyyyMMdd)$(rev:-rr)",
|
||||
"jobAuthorizationScope": "projectCollection",
|
||||
"jobTimeoutInMinutes": 180,
|
||||
"jobCancelTimeoutInMinutes": 5,
|
||||
"repository": {
|
||||
"properties": {
|
||||
"labelSources": "0",
|
||||
@ -469,7 +558,9 @@
|
||||
"fetchDepth": "0",
|
||||
"gitLfsSupport": "false",
|
||||
"skipSyncSource": "false",
|
||||
"cleanOptions": "0"
|
||||
"cleanOptions": "0",
|
||||
"checkoutNestedSubmodules": "false",
|
||||
"labelSourcesFormat": "$(build.buildNumber)"
|
||||
},
|
||||
"id": "0a2b2664-c1be-429c-9b40-8a24dee27a4a",
|
||||
"type": "TfsGit",
|
||||
@ -479,25 +570,29 @@
|
||||
"clean": "true",
|
||||
"checkoutSubmodules": false
|
||||
},
|
||||
"processParameters": {},
|
||||
"quality": "definition",
|
||||
"drafts": [],
|
||||
"queue": {
|
||||
"id": 36,
|
||||
"name": "DotNet-Build",
|
||||
"pool": {
|
||||
"id": 39,
|
||||
"name": "DotNet-Build"
|
||||
},
|
||||
"id": 36,
|
||||
"name": "DotNet-Build"
|
||||
}
|
||||
},
|
||||
"path": "\\",
|
||||
"type": "build",
|
||||
"id": 2943,
|
||||
"name": "DotNet-Trusted-Publish",
|
||||
"path": "\\",
|
||||
"type": "build",
|
||||
"queueStatus": "enabled",
|
||||
"project": {
|
||||
"id": "0bdbc590-a062-4c3f-b0f6-9383f67865ee",
|
||||
"name": "DevDiv",
|
||||
"description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ",
|
||||
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
|
||||
"state": "wellFormed",
|
||||
"revision": 418097459
|
||||
"revision": 418098311,
|
||||
"visibility": "organization"
|
||||
}
|
||||
}
|
||||
|
39
external/corefx/buildpipeline/alpine.3.6.groovy
vendored
Normal file
39
external/corefx/buildpipeline/alpine.3.6.groovy
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
@Library('dotnet-ci') _
|
||||
|
||||
// Incoming parameters. Access with "params.<param name>".
|
||||
// Note that the parameters will be set as env variables so we cannot use names that conflict
|
||||
// with the engineering system parameter names.
|
||||
// CGroup - Build configuration.
|
||||
// TestOuter - If true, runs outerloop, if false runs just innerloop
|
||||
|
||||
simpleDockerNode('microsoft/dotnet-buildtools-prereqs:alpine-3.6-3148f11-20171119021156') {
|
||||
stage ('Checkout source') {
|
||||
checkoutRepo()
|
||||
}
|
||||
|
||||
stage ('Initialize tools') {
|
||||
// Init tools
|
||||
sh './init-tools.sh'
|
||||
}
|
||||
stage ('Generate version assets') {
|
||||
// Generate the version assets. Do we need to even do this for non-official builds?
|
||||
sh "./build-managed.sh -runtimeos=alpine.3.6 -- /t:GenerateVersionSourceFile /p:GenerateVersionSourceFile=true /p:PortableBuild=false"
|
||||
}
|
||||
stage ('Sync') {
|
||||
sh "./sync.sh -p -runtimeos=alpine.3.6 -- /p:ArchGroup=x64 /p:PortableBuild=false"
|
||||
}
|
||||
stage ('Build Product') {
|
||||
sh "./build.sh -buildArch=x64 -runtimeos=alpine.3.6 -${params.CGroup} -- /p:PortableBuild=false"
|
||||
}
|
||||
stage ('Build Tests') {
|
||||
def additionalArgs = ''
|
||||
if (params.TestOuter) {
|
||||
additionalArgs = '-Outerloop'
|
||||
}
|
||||
sh "./build-tests.sh -buildArch=x64 -${params.CGroup} -SkipTests ${additionalArgs} -- /p:ArchiveTests=true /p:EnableDumpling=true /p:PortableBuild=false"
|
||||
}
|
||||
|
||||
// TODO: Add submission for Helix testing once we have queue for Alpine Linux working
|
||||
}
|
||||
|
||||
// TODO: Add "Execute tests" stage once we have queue for Alpine Linux working
|
5
external/corefx/buildpipeline/linux.groovy
vendored
5
external/corefx/buildpipeline/linux.groovy
vendored
@ -52,13 +52,12 @@ simpleDockerNode('microsoft/dotnet-buildtools-prereqs:rhel7_prereqs_2') {
|
||||
'Debian.87.Amd64.Open',
|
||||
'Ubuntu.1404.Amd64.Open',
|
||||
'Ubuntu.1604.Amd64.Open',
|
||||
'suse.422.amd64.Open',
|
||||
'opensuse.422.amd64.open',
|
||||
'fedora.25.amd64.Open',]
|
||||
if (params.TestOuter) {
|
||||
targetHelixQueues += ['Debian.90.Amd64.Open',
|
||||
'Fedora.26.Amd64.Open',
|
||||
'SLES.12.Amd64.Open',
|
||||
'Ubuntu.1704.Amd64.Open',]
|
||||
'SLES.12.Amd64.Open',]
|
||||
}
|
||||
|
||||
sh "./Tools/msbuild.sh src/upload-tests.proj /p:ArchGroup=x64 /p:ConfigurationGroup=${params.CGroup} /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux /p:HelixJobType=test/functional/cli/ /p:HelixSource=${helixSource} /p:BuildMoniker=${helixBuild} /p:HelixCreator=${helixCreator} /p:CloudDropAccountName=dotnetbuilddrops /p:CloudResultsAccountName=dotnetjobresults /p:CloudDropAccessToken=\$CloudDropAccessToken /p:CloudResultsAccessToken=\$OutputCloudResultsAccessToken /p:HelixApiEndpoint=https://helix.dot.net/api/2017-04-14/jobs /p:TargetQueues=${targetHelixQueues.join('+')} /p:HelixLogFolder=${WORKSPACE}/${logFolder}/ /p:HelixCorrelationInfoFileName=SubmittedHelixRuns.txt"
|
||||
|
506
external/corefx/buildpipeline/pipeline.json
vendored
506
external/corefx/buildpipeline/pipeline.json
vendored
@ -7,45 +7,58 @@
|
||||
},
|
||||
"Pipelines": [
|
||||
{
|
||||
"Name": "Trusted-All-Release-Linux",
|
||||
"Name": "Trusted-All-Linux",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_ConfigurationGroup": "Release"
|
||||
},
|
||||
"Definitions": [{
|
||||
"Name": "DotNet-CoreFx-Trusted-Linux",
|
||||
"Parameters": {
|
||||
"PB_DockerTag": "centos-7-d485f41-20173404063424",
|
||||
"PB_BuildArguments": "-buildArch=x64 -Release -stripSymbols",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -Release -SkipTests -Outerloop -- /p:ArchiveTests=true /p:EnableDumpling=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64",
|
||||
"PB_BuildArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -stripSymbols",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:ArchiveTests=true /p:EnableDumpling=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Centos.73.Amd64+RedHat.72.Amd64+RedHat.73.Amd64+Debian.87.Amd64+Debian.90.Amd64+Ubuntu.1404.Amd64+Ubuntu.1604.Amd64+Ubuntu.1704.Amd64+Ubuntu.1710.Amd64+suse.422.amd64+SLES.12.Amd64+fedora.25.amd64+Fedora.26.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux"
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Linux",
|
||||
"Platform": "x64",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Release"
|
||||
"Type": "build/product/"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Linux",
|
||||
"Parameters": {
|
||||
"PB_DockerTag": "centos-6-376e1a3-20174311014331",
|
||||
"PB_BuildArguments": "-buildArch=x64 -Release -stripSymbols -RuntimeOS=rhel.6 -- /p:PortableBuild=false",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -Release -SkipTests -Outerloop -RuntimeOS=rhel.6 -- /p:ArchiveTests=true /p:EnableDumpling=true /p:PortableBuild=false",
|
||||
"PB_SyncArguments": "-p -RuntimeOS=rhel.6 -- /p:ArchGroup=x64 /p:PortableBuild=false",
|
||||
"PB_BuildArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -stripSymbols -RuntimeOS=rhel.6 -- /p:PortableBuild=false",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -RuntimeOS=rhel.6 -- /p:ArchiveTests=true /p:EnableDumpling=true /p:PortableBuild=false",
|
||||
"PB_SyncArguments": "-p -RuntimeOS=rhel.6 -- /p:ArchGroup=x64 /p:PortableBuild=false /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "RedHat.69.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux"
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "RedHat6",
|
||||
"Platform": "x64",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Release"
|
||||
"Type": "build/product/"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Linux",
|
||||
"Parameters": {
|
||||
"PB_DockerTag": "alpine-3.6-3148f11-20171119021156",
|
||||
"PB_BuildArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -BuildTests=false -stripSymbols -RuntimeOS=alpine.3.6 -- /p:PortableBuild=false",
|
||||
"PB_SkipTestBuild" : "true",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -RuntimeOS=alpine.3.6 -- /p:ArchiveTests=false /p:EnableDumpling=true /p:PortableBuild=false",
|
||||
"PB_SyncArguments": "-p -BuildTests=false -RuntimeOS=alpine.3.6 -- /p:ArchGroup=x64 /p:PortableBuild=false /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Alpine.36.Amd64",
|
||||
"PB_EnableCloudTest" : "false",
|
||||
"PB_CreateHelixArguments": "/p:EnableCloudTest=$(PB_EnableCloudTest) /p:ArchGroup=x64 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Alpine3.6",
|
||||
"Platform": "x64",
|
||||
"Type": "build/product/"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -53,53 +66,50 @@
|
||||
"Parameters": {
|
||||
"PB_DockerTag": "ubuntu-14.04-cross-0cd4667-20170319080304",
|
||||
"PB_Architecture": "arm",
|
||||
"PB_BuildArguments": "-buildArch=arm -Release -stripSymbols",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm"
|
||||
"PB_BuildArguments": "-buildArch=arm -$(PB_ConfigurationGroup) -stripSymbols",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Linux",
|
||||
"Platform": "arm",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Release"
|
||||
"Type": "build/product/"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Trusted-All-Release-OSX",
|
||||
"Name": "Trusted-All-OSX",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_BuildArguments": "-buildArch=x64 -Release -stripSymbols",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -Release -SkipTests -Outerloop -- /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=Release /p:EnableCloudTest=false /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=OSX"
|
||||
"PB_BuildArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -stripSymbols",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:EnableCloudTest=false /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=OSX"
|
||||
},
|
||||
"Definitions": [{
|
||||
"Name": "DotNet-CoreFx-Trusted-OSX",
|
||||
"Parameters": {
|
||||
"PB_BuildArguments": "-buildArch=x64 -Release",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64",
|
||||
"PB_BuildArguments": "-buildArch=x64 -$(PB_ConfigurationGroup)",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "OSX.1012.Amd64+OSX.1013.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=OSX"
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=OSX"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "OSX",
|
||||
"Platform": "x64",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Release"
|
||||
"Type": "build/product/"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Trusted-All-Release-Windows",
|
||||
"Name": "Trusted-All-Windows",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_ConfigurationGroup": "Release",
|
||||
"PB_PipelineBuildMSBuildArguments": "/p:EnableProfileGuidedOptimization=true"
|
||||
},
|
||||
"Definitions": [
|
||||
@ -107,16 +117,15 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "arm",
|
||||
"PB_BuildArguments": "-buildArch=arm -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=arm -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:ConfigurationGroup=Release /p:EnableCloudTest=false /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
"PB_BuildArguments": "-buildArch=arm -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=arm -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:EnableCloudTest=false /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "arm",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "netcoreapp"
|
||||
}
|
||||
},
|
||||
@ -124,16 +133,15 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "arm64",
|
||||
"PB_BuildArguments": "-buildArch=arm64 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=arm64 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm64 /p:RuntimeOS=win10",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm64 /p:ConfigurationGroup=Release /p:EnableCloudTest=false /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
"PB_BuildArguments": "-buildArch=arm64 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=arm64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm64 /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm64 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:EnableCloudTest=false /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "arm64",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "netcoreapp"
|
||||
}
|
||||
},
|
||||
@ -141,17 +149,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-buildArch=x64 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10",
|
||||
"PB_BuildArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64+Windows.10.Nano.Amd64+Windows.10.Amd64.Core+Windows.7.Amd64+Windows.81.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "netcoreapp"
|
||||
}
|
||||
},
|
||||
@ -159,17 +166,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x86",
|
||||
"PB_BuildArguments": "-buildArch=x86 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=x86 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10",
|
||||
"PB_BuildArguments": "-buildArch=x86 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-buildArch=x86 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64+Windows.10.Amd64.Core+Windows.7.Amd64+Windows.81.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x86",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "netcoreapp"
|
||||
}
|
||||
},
|
||||
@ -177,17 +183,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "arm",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=arm -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=arm -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10 /p:TargetGroup=uap",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=arm -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=arm -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10 /p:TargetGroup=uap /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Arm64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:TargetGroup=uap /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:TargetGroup=uap /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "arm",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "uap"
|
||||
}
|
||||
},
|
||||
@ -195,17 +200,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=x64 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=x64 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=uap",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=x64 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=uap /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=uap /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=uap /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "uap"
|
||||
}
|
||||
},
|
||||
@ -213,17 +217,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x86",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=x86 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=x86 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:TargetGroup=uap",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=x86 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=x86 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:TargetGroup=uap /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=uap /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=uap /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x86",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "uap"
|
||||
}
|
||||
},
|
||||
@ -231,17 +234,30 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "arm",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=arm -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=arm -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10 /p:TargetGroup=uapaot",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=arm -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=arm -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10 /p:TargetGroup=uapaot /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:TargetGroup=uapaot /p:ConfigurationGroup=Release /p:SecondaryQueue=Windows.10.Arm64 /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:TargetGroup=uapaot /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:SecondaryQueue=Windows.10.Arm64 /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "arm",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "uapaot"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows-NoTest",
|
||||
"Parameters": {
|
||||
"PB_Platform": "arm64",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=arm64 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm64 /p:RuntimeOS=win10 /p:TargetGroup=uapaot /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "arm64",
|
||||
"SubType": "uapaot"
|
||||
}
|
||||
},
|
||||
@ -249,17 +265,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=x64 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=x64 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=uapaot",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=x64 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=uapaot /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=uapaot /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=uapaot /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "uapaot"
|
||||
}
|
||||
},
|
||||
@ -267,17 +282,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x86",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=x86 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=x86 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=x86 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=x86 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=uapaot /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=uapaot /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x86",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "uapaot"
|
||||
}
|
||||
},
|
||||
@ -285,14 +299,13 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows-NoTest",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-allConfigurations -buildArch=x64 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10"
|
||||
"PB_BuildArguments": "-allConfigurations -buildArch=x64 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:BuildAllConfigurations=true /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "AllConfigurations"
|
||||
}
|
||||
},
|
||||
@ -300,17 +313,16 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-framework=netfx -buildArch=x64 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=netfx -buildArch=x64 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=netfx",
|
||||
"PB_BuildArguments": "-framework=netfx -buildArch=x64 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=netfx -buildArch=x64 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=netfx /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:EnableCloudTest=false /p:ArchGroup=x64 /p:TargetGroup=netfx /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/desktop/cli/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=netfx /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/desktop/cli/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "netfx"
|
||||
}
|
||||
},
|
||||
@ -318,283 +330,26 @@
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x86",
|
||||
"PB_BuildArguments": "-framework=netfx -buildArch=x86 -Release -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=netfx -buildArch=x86 -Release -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:TargetGroup=netfx",
|
||||
"PB_BuildArguments": "-framework=netfx -buildArch=x86 -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=netfx -buildArch=x86 -$(PB_ConfigurationGroup) -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:TargetGroup=netfx /p:DotNetRestoreSources=$(PB_RestoreSource) /p:DotNetAssetRootUrl=$(PB_AssetRootUrl)",
|
||||
"PB_TargetQueue": "Windows.10.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:EnableCloudTest=false /p:ArchGroup=x86 /p:TargetGroup=netfx /p:ConfigurationGroup=Release /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/desktop/cli/\""
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=netfx /p:ConfigurationGroup=$(PB_ConfigurationGroup) /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/desktop/cli/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x86",
|
||||
"ConfigurationGroup": "Release",
|
||||
"SubType": "netfx"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Trusted-All-Debug-Linux",
|
||||
"Name": "Publish Packages",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_ConfigurationGroup": "Debug"
|
||||
},
|
||||
"Definitions": [{
|
||||
"Name": "DotNet-CoreFx-Trusted-Linux",
|
||||
"Parameters": {
|
||||
"PB_DockerTag": "centos-7-34f1db9-20171620021620",
|
||||
"PB_BuildArguments": "-buildArch=x64 -Debug",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -Debug -SkipTests -Outerloop -- /p:ArchiveTests=true /p:EnableDumpling=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64",
|
||||
"PB_TargetQueue": "Centos.73.Amd64+RedHat.72.Amd64+RedHat.73.Amd64+Debian.87.Amd64+Debian.90.Amd64+Ubuntu.1404.Amd64+Ubuntu.1604.Amd64+Ubuntu.1704.Amd64+Ubuntu.1710.Amd64+suse.422.amd64+SLES.12.Amd64+fedora.25.amd64+Fedora.26.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Linux",
|
||||
"Platform": "x64",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Linux",
|
||||
"Parameters": {
|
||||
"PB_DockerTag": "centos-6-c8c9b08-20174310104313",
|
||||
"PB_BuildArguments": "-buildArch=x64 -Debug -RuntimeOS=rhel.6 -- /p:PortableBuild=false",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -Debug -SkipTests -Outerloop -RuntimeOS=rhel.6 -- /p:ArchiveTests=true /p:EnableDumpling=true /p:PortableBuild=false",
|
||||
"PB_SyncArguments": "-p -RuntimeOS=rhel.6 -- /p:ArchGroup=x64 /p:PortableBuild=false",
|
||||
"PB_TargetQueue": "RedHat.69.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "RedHat6",
|
||||
"Platform": "x64",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Linux-Crossbuild",
|
||||
"Parameters": {
|
||||
"PB_DockerTag": "ubuntu-14.04-cross-0cd4667-20170319080304",
|
||||
"PB_Architecture": "arm",
|
||||
"PB_BuildArguments": "-buildArch=arm -Debug",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Linux",
|
||||
"Platform": "arm",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Debug"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Trusted-All-Debug-OSX",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_BuildArguments": "-buildArch=x64 -Debug",
|
||||
"PB_BuildTestsArguments": "-buildArch=x64 -Debug -SkipTests -Outerloop -- /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64",
|
||||
"PB_CreateHelixArguments": "/p:EnableCloudTest=false /p:ArchGroup=x64 /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:\"TargetOS=OSX\""
|
||||
},
|
||||
"Definitions": [{
|
||||
"Name": "DotNet-CoreFx-Trusted-OSX",
|
||||
"Parameters": {
|
||||
"PB_TargetQueue": "OSX.1012.Amd64+OSX.1013.Amd64"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "OSX",
|
||||
"Platform": "x64",
|
||||
"Type": "build/product/",
|
||||
"ConfigurationGroup": "Debug"
|
||||
}
|
||||
}]
|
||||
},
|
||||
{
|
||||
"Name": "Trusted-All-Debug-Windows",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_ConfigurationGroup": "Debug"
|
||||
},
|
||||
"Definitions": [
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "arm",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=arm -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=arm -Debug -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10 /p:TargetGroup=uap",
|
||||
"PB_TargetQueue": "Windows.10.Arm64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:TargetGroup=uap /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "arm",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "uap"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=x64 -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=x64 -Debug -SkipTests -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=uap",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=uap /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "uap"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x86",
|
||||
"PB_BuildArguments": "-framework=uap -buildArch=x86 -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uap -buildArch=x86 -Debug -SkipTests -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:TargetGroup=uap",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=uap /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/uwp/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x86",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "uap"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "arm",
|
||||
"PB_BuildArguments": "-framework=uapaot -buildArch=arm -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=arm -Debug -SkipTests -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=arm /p:RuntimeOS=win10 /p:TargetGroup=uapaot",
|
||||
"PB_TargetQueue": "Windows.10.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=arm /p:TargetGroup=uapaot /p:ConfigurationGroup=Debug /p:SecondaryQueue=Windows.10.Arm64 /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "arm",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "uapaot"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-framework:uapaot -buildArch=x64 -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=x64 -Debug -SkipTests -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=uapaot",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=uapaot /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "uapaot"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x86",
|
||||
"PB_BuildArguments": "-framework:uapaot -buildArch=x86 -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=uapaot -buildArch=x86 -Debug -SkipTests -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10",
|
||||
"PB_TargetQueue": "Windows.10.Amd64.ClientRS3",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=uapaot /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/ilc/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x86",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "uapaot"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows-NoTest",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-allConfigurations -buildArch=x64 -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "AllConfigurations"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x64",
|
||||
"PB_BuildArguments": "-framework=netfx -buildArch=x64 -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=netfx -buildArch=x64 -Debug -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10 /p:TargetGroup=netfx",
|
||||
"PB_TargetQueue": "Windows.10.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x64 /p:TargetGroup=netfx /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/desktop/cli/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x64",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "netfx"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "DotNet-CoreFx-Trusted-Windows",
|
||||
"Parameters": {
|
||||
"PB_Platform": "x86",
|
||||
"PB_BuildArguments": "-framework=netfx -buildArch=x86 -Debug -- /p:SignType=$(PB_SignType) /p:RuntimeOS=win10",
|
||||
"PB_BuildTestsArguments": "-framework=netfx -buildArch=x86 -Debug -SkipTests -Outerloop -- /p:RuntimeOS=win10 /p:ArchiveTests=true",
|
||||
"PB_SyncArguments": "-p -- /p:ArchGroup=x86 /p:RuntimeOS=win10 /p:TargetGroup=netfx",
|
||||
"PB_TargetQueue": "Windows.10.Amd64",
|
||||
"PB_CreateHelixArguments": "/p:ArchGroup=x86 /p:TargetGroup=netfx /p:ConfigurationGroup=Debug /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:\"HelixJobType=test/functional/desktop/cli/\""
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"OperatingSystem": "Windows",
|
||||
"Type": "build/product/",
|
||||
"Platform": "x86",
|
||||
"ConfigurationGroup": "Debug",
|
||||
"SubType": "netfx"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Publish Packages to Feeds - Release",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_ConfigurationGroup": "Release"
|
||||
},
|
||||
"Definitions": [{
|
||||
"Name": "DotNet-Trusted-Publish",
|
||||
"Parameters": {
|
||||
@ -604,49 +359,20 @@
|
||||
"ReportingParameters": {
|
||||
"TaskName": "Package Publish",
|
||||
"Type": "build/publish/",
|
||||
"ConfigurationGroup": "Release - Push to MyGet Feed"
|
||||
"ConfigurationGroup": "Publish Packages"
|
||||
}
|
||||
}],
|
||||
"DependsOn": [
|
||||
"Trusted-All-Release-Windows",
|
||||
"Trusted-All-Release-OSX",
|
||||
"Trusted-All-Release-Linux"
|
||||
"Trusted-All-Windows",
|
||||
"Trusted-All-OSX",
|
||||
"Trusted-All-Linux"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Publish Packages to Drop - Debug",
|
||||
"Name": "Publish Symbols",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_ConfigurationGroup": "Debug"
|
||||
},
|
||||
"Definitions": [{
|
||||
"Name": "DotNet-Trusted-Publish",
|
||||
"Parameters": {
|
||||
"PB_VsoRepositoryName": "DotNet-CoreFX-Trusted",
|
||||
"PB_Repo": "corefx"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
"TaskName": "Package Publish",
|
||||
"Type": "build/publish/",
|
||||
"ConfigurationGroup": "Debug - Push to Azure Storage"
|
||||
}
|
||||
}],
|
||||
"DependsOn": [
|
||||
"Trusted-All-Debug-Windows",
|
||||
"Trusted-All-Debug-OSX",
|
||||
"Trusted-All-Debug-Linux"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Publish Symbols - Release",
|
||||
"Parameters": {
|
||||
"TreatWarningsAsErrors": "false"
|
||||
},
|
||||
"BuildParameters": {
|
||||
"PB_ConfigurationGroup": "Release"
|
||||
},
|
||||
"Definitions": [{
|
||||
"Name": "DotNet-Trusted-Publish-Symbols",
|
||||
"Parameters": {
|
||||
@ -655,13 +381,13 @@
|
||||
"ReportingParameters": {
|
||||
"TaskName": "Symbol Publish",
|
||||
"Type": "build/publish/",
|
||||
"ConfigurationGroup": "Release - Publish Symbols"
|
||||
"ConfigurationGroup": "Publish Symbols"
|
||||
}
|
||||
}],
|
||||
"DependsOn": [
|
||||
"Trusted-All-Release-Windows",
|
||||
"Trusted-All-Release-OSX",
|
||||
"Trusted-All-Release-Linux"
|
||||
"Trusted-All-Windows",
|
||||
"Trusted-All-OSX",
|
||||
"Trusted-All-Linux"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -16,12 +16,14 @@ def branch = GithubBranchName
|
||||
|
||||
def linPipeline = Pipeline.createPipelineForGithub(this, project, branch, 'buildpipeline/linux.groovy')
|
||||
def centos6Pipeline = Pipeline.createPipelineForGithub(this, project, branch, 'buildpipeline/centos.6.groovy')
|
||||
def alpine36Pipeline = Pipeline.createPipelineForGithub(this, project, branch, 'buildpipeline/alpine.3.6.groovy')
|
||||
def osxPipeline = Pipeline.createPipelineForGithub(this, project, branch, 'buildpipeline/osx.groovy')
|
||||
def winPipeline = Pipeline.createPipelineForGithub(this, project, branch, 'buildpipeline/windows.groovy')
|
||||
|
||||
def configurations = [
|
||||
['TGroup':"netcoreapp", 'Pipeline':linPipeline, 'Name':'Linux' ,'ForPR':"Release-x64", 'Arch':['x64']],
|
||||
['TGroup':"netcoreapp", 'Pipeline':centos6Pipeline, 'Name':'CentOS.6' ,'ForPR':"", 'Arch':['x64']],
|
||||
['TGroup':"netcoreapp", 'Pipeline':alpine36Pipeline, 'Name':'Alpine.3.6' ,'ForPR':"Debug-x64", 'Arch':['x64']],
|
||||
['TGroup':"netcoreapp", 'Pipeline':osxPipeline, 'Name':'OSX', 'ForPR':"Debug-x64", 'Arch':['x64']],
|
||||
['TGroup':"netcoreapp", 'Pipeline':winPipeline, 'Name':'Windows' , 'ForPR':"Debug-x64|Release-x86"],
|
||||
['TGroup':"netfx", 'Pipeline':winPipeline, 'Name':'NETFX', 'ForPR':"Release-x86"],
|
||||
@ -62,4 +64,4 @@ JobReport.Report.generateJobReport(out)
|
||||
// Make the call to generate the help job
|
||||
Utilities.createHelperJob(this, project, branch,
|
||||
"Welcome to the ${project} Repository", // This is prepended to the help message
|
||||
"Have a nice day!") // This is appended to the help message. You might put known issues here.
|
||||
"Have a nice day!") // This is appended to the help message. You might put known issues here.
|
||||
|
8
external/corefx/buildvertical.targets
vendored
8
external/corefx/buildvertical.targets
vendored
@ -28,6 +28,9 @@
|
||||
<AdditionalProperties>Configuration=%(Identity);%(_projectBuildConfigurations.AdditionalProperties)</AdditionalProperties>
|
||||
</_projectBuildConfigurations>
|
||||
|
||||
<!-- we need to ignore placeholder build configurations that start with _ -->
|
||||
<_projectBuildConfigurations Remove="@(_projectBuildConfigurations)" Condition="$([System.String]::Copy('%(Identity)').StartsWith('_'))" />
|
||||
|
||||
<!-- transform back to project -->
|
||||
<_projectWithConfiguration Include="@(_projectBuildConfigurations->'%(OriginalItemSpec)')" />
|
||||
</ItemGroup>
|
||||
@ -54,6 +57,9 @@
|
||||
<AdditionalProperties>Configuration=%(Identity);%(_NonPkgProjProjectReferenceBuildConfigurations.AdditionalProperties)</AdditionalProperties>
|
||||
</_NonPkgProjProjectReferenceBuildConfigurations>
|
||||
|
||||
<!-- we need to ignore placeholder build configurations that start with _ -->
|
||||
<_NonPkgProjProjectReferenceBuildConfigurations Remove="@(_NonPkgProjProjectReferenceBuildConfigurations)" Condition="$([System.String]::Copy('%(Identity)').StartsWith('_'))" />
|
||||
|
||||
<!-- transform back to project -->
|
||||
<_NonPkgProjProjectReferenceWitnConfiguration Include="@(_NonPkgProjProjectReferenceBuildConfigurations->'%(OriginalItemSpec)')" />
|
||||
</ItemGroup>
|
||||
@ -176,6 +182,8 @@
|
||||
<Target Name="_getAllBuildConfigurations">
|
||||
<ItemGroup>
|
||||
<_buildConfigurations Include="$(BuildConfigurations)" />
|
||||
<!-- For BuildAllConfigurations we need to ignore any placeholder build configuration that starts with _ -->
|
||||
<_buildConfigurations Remove="@(_buildConfigurations)" Condition="$([System.String]::Copy('%(Identity)').StartsWith('_'))" />
|
||||
<_buildConfigurations Condition="'@(_buildConfigurations)' == ''" Include="$(_traversalBuildConfigurations)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
32
external/corefx/clean.cmd
vendored
32
external/corefx/clean.cmd
vendored
@ -1,19 +1,30 @@
|
||||
@if not defined _echo @echo off
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
echo Stop VBCSCompiler.exe execution.
|
||||
for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq VBCSCompiler.exe" /fo csv') do taskkill /f /PID %%~F
|
||||
set NO_DASHES_ARG=%1
|
||||
if not defined NO_DASHES_ARG goto no_help
|
||||
if /I [%NO_DASHES_ARG:-=%] == [?] goto Usage
|
||||
if /I [%NO_DASHES_ARG:-=%] == [h] goto Usage
|
||||
|
||||
:no_help
|
||||
:: Check if VBCSCompiler.exe is running
|
||||
tasklist /fi "imagename eq VBCSCompiler.exe" |find ":" > nul
|
||||
:: Compiler is running if errorlevel == 1
|
||||
if errorlevel 1 (
|
||||
echo Stop VBCSCompiler.exe execution.
|
||||
for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq VBCSCompiler.exe" /fo csv') do taskkill /f /PID %%~F
|
||||
)
|
||||
|
||||
:: Strip all dashes off the argument and use invariant
|
||||
:: compare to match as many versions of "all" that we can
|
||||
:: All other argument validation happens inside Run.exe
|
||||
set NO_DASHES_ARG=%1
|
||||
if not defined NO_DASHES_ARG goto no_args
|
||||
if /I [%NO_DASHES_ARG:-=%] == [all] (
|
||||
echo Cleaning entire working directory ...
|
||||
call git clean -xdf
|
||||
exit /b !ERRORLEVEL!
|
||||
)
|
||||
|
||||
:no_args
|
||||
if [%1]==[] set __args=-b
|
||||
call %~dp0run.cmd clean %__args% %*
|
||||
@ -21,14 +32,13 @@ exit /b %ERRORLEVEL%
|
||||
|
||||
:Usage
|
||||
echo.
|
||||
echo Usage: clean [-b] [-p] [-c] [-all]
|
||||
echo Repository cleaning script.
|
||||
echo.
|
||||
echo Options:
|
||||
echo -b - Deletes the binary output directory.
|
||||
echo -p - Deletes the repo-local nuget package directory.
|
||||
echo -c - Deletes the user-local nuget package cache.
|
||||
echo -all - Combines all of the above.
|
||||
echo -b - Delete the binary output directory.
|
||||
echo -p - Delete the repo-local NuGet package directory.
|
||||
echo -c - Deletes the user-local NuGet package cache.
|
||||
echo -all - Cleans repository and restores it to pristine state.
|
||||
echo.
|
||||
echo If no option is specified then clean.cmd -b is implied.
|
||||
|
||||
exit /b 1
|
||||
echo ^If no option is specified then "clean -b" is implied.
|
||||
exit /b
|
4
external/corefx/clean.sh
vendored
4
external/corefx/clean.sh
vendored
@ -18,6 +18,8 @@ if [ "$1" == "-?" ] || [ "$1" == "-h" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
# Implement VBCSCompiler.exe kill logic once VBCSCompiler.exe is ported to unixes
|
||||
|
||||
__working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
if [ "$*" == "-all" ]
|
||||
@ -31,5 +33,5 @@ if [ $# == 0 ]; then
|
||||
__args=-b
|
||||
fi
|
||||
|
||||
$__working_tree_root/run.sh clean $__args $*
|
||||
$__working_tree_root/run.sh clean $__args "$@"
|
||||
exit $?
|
||||
|
115
external/corefx/dependencies.props
vendored
115
external/corefx/dependencies.props
vendored
@ -9,39 +9,52 @@
|
||||
These ref versions are pulled from https://github.com/dotnet/versions.
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<CoreFxCurrentRef>3a5b9d25514fe788eeeb6ecdca6c5b187703d5f3</CoreFxCurrentRef>
|
||||
<CoreClrCurrentRef>41cec0941b3e81e30e69648c44110acc2a069bba</CoreClrCurrentRef>
|
||||
<CoreSetupCurrentRef>41cec0941b3e81e30e69648c44110acc2a069bba</CoreSetupCurrentRef>
|
||||
<CoreFxCurrentRef>3c5f8e69e456790cc711a78c66b89f5b8035f02b</CoreFxCurrentRef>
|
||||
<CoreClrCurrentRef>f9f2dcffe189a681d43949ee3b02dd1fc9d9e636</CoreClrCurrentRef>
|
||||
<CoreSetupCurrentRef>3c5f8e69e456790cc711a78c66b89f5b8035f02b</CoreSetupCurrentRef>
|
||||
<ExternalCurrentRef>96dc7805f5df4a70a55783964ce69dcd91bfca80</ExternalCurrentRef>
|
||||
<ProjectNTfsCurrentRef>20f0758de84e9de4a31912d79333a34b16017a21</ProjectNTfsCurrentRef>
|
||||
<ProjectNTfsTestILCCurrentRef>20f0758de84e9de4a31912d79333a34b16017a21</ProjectNTfsTestILCCurrentRef>
|
||||
<ProjectNTfsCurrentRef>f9f2dcffe189a681d43949ee3b02dd1fc9d9e636</ProjectNTfsCurrentRef>
|
||||
<ProjectNTfsTestILCCurrentRef>f9f2dcffe189a681d43949ee3b02dd1fc9d9e636</ProjectNTfsTestILCCurrentRef>
|
||||
<SniCurrentRef>8bd1ec5fac9f0eec34ff6b34b1d878b4359e02dd</SniCurrentRef>
|
||||
<StandardCurrentRef>3814b0d53f4139b68c2fac85c28030fe8fa50a9d</StandardCurrentRef>
|
||||
<BuildToolsCurrentRef>075b515e3dfb615b45182c033af48abed349eea5</BuildToolsCurrentRef>
|
||||
<StandardCurrentRef>6298244e25cf84d91e3cda9627315f2425274624</StandardCurrentRef>
|
||||
<BuildToolsCurrentRef>e697c7d95c14fc4e39a0de1a09d0dd9f1faf3f92</BuildToolsCurrentRef>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Auto-upgraded properties for each build info dependency. -->
|
||||
<!-- Product dependency versions. -->
|
||||
<PropertyGroup>
|
||||
<PlatformPackageVersion>2.1.0-preview1-25819-01</PlatformPackageVersion>
|
||||
<CoreFxExpectedPrerelease>preview1-25819-01</CoreFxExpectedPrerelease>
|
||||
<CoreClrPackageVersion>2.1.0-preview1-25818-04</CoreClrPackageVersion>
|
||||
<ExternalExpectedPrerelease>beta-25627-00</ExternalExpectedPrerelease>
|
||||
<ProjectNTfsExpectedPrerelease>beta-25813-00</ProjectNTfsExpectedPrerelease>
|
||||
<ProjectNTfsTestILCExpectedPrerelease>beta-25813-00</ProjectNTfsTestILCExpectedPrerelease>
|
||||
<ProjectNTfsTestILCPackageVersion>1.0.0-beta-25813-00</ProjectNTfsTestILCPackageVersion>
|
||||
<NETStandardPackageVersion>2.1.0-preview1-25818-01</NETStandardPackageVersion>
|
||||
<NETStandardPackageId>NETStandard.Library</NETStandardPackageId>
|
||||
<MicrosoftNETCoreAppPackageVersion>2.1.0-preview1-25818-02</MicrosoftNETCoreAppPackageVersion>
|
||||
<!-- Use the SNI runtime package -->
|
||||
<SniPackageVersion>4.4.0</SniPackageVersion>
|
||||
<NETStandardLibraryPackageVersion>2.0.1</NETStandardLibraryPackageVersion>
|
||||
<NETStandardLibraryPackageId>NETStandard.Library</NETStandardLibraryPackageId>
|
||||
|
||||
<!-- SNI runtime package -->
|
||||
<RuntimeWinX64RuntimeNativeSystemDataSqlClientSniPackageVersion>4.4.0</RuntimeWinX64RuntimeNativeSystemDataSqlClientSniPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Full package version strings that are used in other parts of the build. -->
|
||||
<!-- Tests/infrastructure dependency versions. -->
|
||||
<PropertyGroup>
|
||||
<CoreFxExpectedPrerelease>preview1-26122-01</CoreFxExpectedPrerelease>
|
||||
<MicrosoftNETCorePlatformsPackageVersion>2.1.0-preview1-26122-01</MicrosoftNETCorePlatformsPackageVersion>
|
||||
<MicrosoftNETCoreRuntimeCoreCLRPackageVersion>2.1.0-preview1-26122-04</MicrosoftNETCoreRuntimeCoreCLRPackageVersion>
|
||||
<ProjectNTfsExpectedPrerelease>beta-26122-00</ProjectNTfsExpectedPrerelease>
|
||||
<ProjectNTfsTestILCExpectedPrerelease>beta-26122-00</ProjectNTfsTestILCExpectedPrerelease>
|
||||
<ProjectNTfsTestILCPackageVersion>1.0.0-beta-26122-00</ProjectNTfsTestILCPackageVersion>
|
||||
<MicrosoftNETCoreDotNetHostPackageVersion>2.1.0-preview1-26121-02</MicrosoftNETCoreDotNetHostPackageVersion>
|
||||
<MicrosoftNETCoreDotNetHostPolicyPackageVersion>2.1.0-preview1-26121-02</MicrosoftNETCoreDotNetHostPolicyPackageVersion>
|
||||
<MicrosoftNETCoreAppPackageVersion>2.1.0-preview1-26121-02</MicrosoftNETCoreAppPackageVersion>
|
||||
<MicrosoftDotNetPlatformAbstractionsPackageVersion>2.1.0-preview1-26121-02</MicrosoftDotNetPlatformAbstractionsPackageVersion>
|
||||
|
||||
<!-- CoreFX-built SNI identity package -->
|
||||
<RuntimeNativeSystemDataSqlClientSniPackageVersion>4.4.0</RuntimeNativeSystemDataSqlClientSniPackageVersion>
|
||||
|
||||
<AppXRunnerVersion>1.0.3-prerelease-00921-01</AppXRunnerVersion>
|
||||
<XunitPerfAnalysisPackageVersion>1.0.0-beta-build0007</XunitPerfAnalysisPackageVersion>
|
||||
<XunitPerfAnalysisPackageVersion>1.0.0-beta-build0015</XunitPerfAnalysisPackageVersion>
|
||||
<TraceEventPackageVersion>1.0.3-alpha-experimental</TraceEventPackageVersion>
|
||||
<XunitNetcoreExtensionsVersion>1.0.1-prerelease-02118-01</XunitNetcoreExtensionsVersion>
|
||||
<XunitNetcoreExtensionsVersion>2.1.0-prerelease-02419-02</XunitNetcoreExtensionsVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Package versions used as toolsets -->
|
||||
<PropertyGroup>
|
||||
<FeedTasksPackage>Microsoft.DotNet.Build.Tasks.Feed</FeedTasksPackage>
|
||||
<FeedTasksPackageVersion>2.1.0-prerelease-02419-02</FeedTasksPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Package dependency verification/auto-upgrade configuration. -->
|
||||
@ -73,7 +86,7 @@
|
||||
<CurrentRef>$(SniCurrentRef)</CurrentRef>
|
||||
</RemoteDependencyBuildInfo>
|
||||
<RemoteDependencyBuildInfo Include="Standard">
|
||||
<BuildInfoPath>$(BaseDotNetBuildInfo)standard/$(DependencyBranch)</BuildInfoPath>
|
||||
<BuildInfoPath>$(BaseDotNetBuildInfo)standard/release/2.0.0</BuildInfoPath>
|
||||
<CurrentRef>$(StandardCurrentRef)</CurrentRef>
|
||||
</RemoteDependencyBuildInfo>
|
||||
<RemoteDependencyBuildInfo Include="ProjectNTfs">
|
||||
@ -100,23 +113,18 @@
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="CoreFx">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>PlatformPackageVersion</ElementName>
|
||||
<ElementName>MicrosoftNETCorePlatformsPackageVersion</ElementName>
|
||||
<PackageId>Microsoft.NETCore.Platforms</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="CoreClr">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>CoreClrPackageVersion</ElementName>
|
||||
<ElementName>MicrosoftNETCoreRuntimeCoreCLRPackageVersion</ElementName>
|
||||
<PackageId>Microsoft.NETCore.Runtime.CoreCLR</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="External">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>ExternalExpectedPrerelease</ElementName>
|
||||
<BuildInfoName>External</BuildInfoName>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="Standard">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>NETStandardPackageVersion</ElementName>
|
||||
<PackageId>$(NETStandardPackageId)</PackageId>
|
||||
<ElementName>NETStandardLibraryPackageVersion</ElementName>
|
||||
<PackageId>$(NETStandardLibraryPackageId)</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="ProjectNTfs">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
@ -135,28 +143,54 @@
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="Sni">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>SniPackageVersion</ElementName>
|
||||
<ElementName>RuntimeWinX64RuntimeNativeSystemDataSqlClientSniPackageVersion</ElementName>
|
||||
<PackageId>runtime.win-x64.runtime.native.System.Data.SqlClient.sni</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="CoreSetup">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>MicrosoftNETCoreDotNetHostPackageVersion</ElementName>
|
||||
<PackageId>Microsoft.NETCore.DotNetHost</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="CoreSetup">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>MicrosoftNETCoreDotNetHostPolicyPackageVersion</ElementName>
|
||||
<PackageId>Microsoft.NETCore.DotNetHostPolicy</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="CoreSetup">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>MicrosoftNETCoreAppPackageVersion</ElementName>
|
||||
<PackageId>Microsoft.NETCore.App</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="CoreSetup">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>MicrosoftDotNetPlatformAbstractionsPackageVersion</ElementName>
|
||||
<PackageId>Microsoft.DotNet.PlatformAbstractions</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<UpdateStep Include="BuildTools">
|
||||
<UpdaterType>File</UpdaterType>
|
||||
<Path>$(MSBuildThisFileDirectory)BuildToolsVersion.txt</Path>
|
||||
<PackageId>Microsoft.DotNet.BuildTools</PackageId>
|
||||
</UpdateStep>
|
||||
<UpdateStep Include="BuildTools">
|
||||
<UpdaterType>File</UpdaterType>
|
||||
<Path>$(MSBuildThisFileDirectory)tools-local/ILAsmVersion.txt</Path>
|
||||
<PackageId>Microsoft.NETCore.ILAsm</PackageId>
|
||||
</UpdateStep>
|
||||
<XmlUpdateStep Include="BuildTools">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>XunitNetcoreExtensionsVersion</ElementName>
|
||||
<PackageId>Microsoft.xunit.netcore.extensions</PackageId>
|
||||
</XmlUpdateStep>
|
||||
<XmlUpdateStep Include="BuildTools">
|
||||
<Path>$(MSBuildThisFileFullPath)</Path>
|
||||
<ElementName>FeedTasksPackageVersion</ElementName>
|
||||
<PackageId>$(FeedTasksPackage)</PackageId>
|
||||
</XmlUpdateStep>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<XUnitPackageVersion>2.3.0-beta1-build3642</XUnitPackageVersion>
|
||||
<CompatibilityShimsPackageVersion>2.0.0</CompatibilityShimsPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set up dependencies on packages that aren't found in a BuildInfo. -->
|
||||
@ -207,4 +241,17 @@
|
||||
<!-- project.json files to update -->
|
||||
<ProjectJsonFiles Include="$(MSBuildThisFileDirectory)external\**\optional.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Override isolated build dependency versions with versions from Repo API. -->
|
||||
<Import Project="$(DotNetPackageVersionPropsPath)"
|
||||
Condition="'$(DotNetPackageVersionPropsPath)' != ''" />
|
||||
|
||||
<!--
|
||||
Map PackageVersion properties that don't match the Repo API naming conventions. This must be
|
||||
defined after the DotNetPackageVersionPropsPath Import so overrides apply correctly.
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<!-- Backward compatibility for BuildTools usage. -->
|
||||
<PlatformPackageVersion>$(MicrosoftNETCorePlatformsPackageVersion)</PlatformPackageVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
51
external/corefx/dir.props
vendored
51
external/corefx/dir.props
vendored
@ -11,7 +11,7 @@
|
||||
|
||||
<!-- Define vNext UAP Moniker -->
|
||||
<PropertyGroup>
|
||||
<UAPvNextVersion>10.0.15138</UAPvNextVersion>
|
||||
<UAPvNextVersion>10.0.16300</UAPvNextVersion>
|
||||
<UAPvNextTFMFull>UAP,Version=v$(UAPvNextVersion)</UAPvNextTFMFull>
|
||||
<UAPvNextTFM>uap$(UAPvNextVersion)</UAPvNextTFM>
|
||||
</PropertyGroup>
|
||||
@ -23,6 +23,11 @@
|
||||
<IsDotNetFrameworkProductAssembly>true</IsDotNetFrameworkProductAssembly>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Indicates this is not an officially supported release. Release branches should set this to false. -->
|
||||
<PropertyGroup>
|
||||
<IsPrerelease>false</IsPrerelease>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Common repo directories -->
|
||||
<PropertyGroup>
|
||||
<ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
|
||||
@ -41,6 +46,7 @@
|
||||
<PackageOutputRoot Condition="'$(PackageOutputRoot)'==''">$(BinDir)packages/</PackageOutputRoot>
|
||||
|
||||
<!-- Input Directories -->
|
||||
<PackagesDir>$(DotNetRestorePackagesPath)</PackagesDir>
|
||||
<PackagesDir Condition="'$(PackagesDir)'==''">$(ProjectDir)packages/</PackagesDir>
|
||||
<ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)Tools/</ToolsDir>
|
||||
<IlasmToolPath>$(ToolsDir)ilasm/ilasm</IlasmToolPath>
|
||||
@ -66,17 +72,19 @@
|
||||
<Import Project="$(MSBuildThisFileDirectory)dependencies.props" />
|
||||
|
||||
<!-- list of nuget package sources passed to nuget restore -->
|
||||
<ItemGroup Condition="'$(ExcludeInternetFeeds)' != 'true'">
|
||||
<!-- Example to consume local CoreCLR package:
|
||||
/p:OverridePackageSource=C:\coreclr\bin\Product\Windows_NT.x64.Debug\.nuget\pkg
|
||||
-->
|
||||
<DotnetSourceList Include="$(OverridePackageSource)" />
|
||||
<!-- Need to escape double forward slash (%2F) or MSBuild will normalize to one slash on Unix. -->
|
||||
<!-- Including buildtools to pull in TestSuite packages and repackaged xunit dependencies-->
|
||||
<DotnetSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-buildtools/api/v3/index.json" />
|
||||
<DotnetSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-core/api/v3/index.json" />
|
||||
<DotnetSourceList Include="https:%2F%2Fapi.nuget.org/v3/index.json" />
|
||||
</ItemGroup>
|
||||
<!-- Example to consume local CoreCLR package:
|
||||
/p:OverridePackageSource=C:\coreclr\bin\Product\Windows_NT.x64.Debug\.nuget\pkg
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<RestoreSources Condition="'$(DotNetBuildOffline)' != 'true'">
|
||||
$(OverridePackageSource);
|
||||
https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;
|
||||
https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
|
||||
https://api.nuget.org/v3/index.json;
|
||||
$(RestoreSources)
|
||||
</RestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- By default make all libraries to be AnyCPU but individual projects can override it if they need to -->
|
||||
@ -145,7 +153,7 @@
|
||||
<PackageRID Condition="'$(PackageRID)' == ''">$(_packageRID)</PackageRID>
|
||||
<PackageRID Condition="'$(PackageRID)' == ''">$(RuntimeOS)-$(ArchGroup)</PackageRID>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<!-- Set some shortcuts for more terse conditions in project files -->
|
||||
<PropertyGroup>
|
||||
<TargetsNetCoreApp Condition="$(TargetGroup.StartsWith('netcoreapp'))">true</TargetsNetCoreApp>
|
||||
@ -163,6 +171,12 @@
|
||||
<BuildingUAPAOTVertical Condition="'$(BuildingUAPAOTVertical)' == '' AND ('$(_bc_TargetGroup)'=='uapaot' OR '$(BuildAllConfigurations)' == 'true')">true</BuildingUAPAOTVertical>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set the kind of PDB to Portable and turn on SourceLink (fetching source from GitHub) -->
|
||||
<PropertyGroup>
|
||||
<DebugType Condition="'$(DebugType)' == ''">Portable</DebugType>
|
||||
<UseSourceLink>true</UseSourceLink>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set up Default symbol and optimization for Configuration -->
|
||||
<Choose>
|
||||
<When Condition="'$(ConfigurationGroup)'=='Debug'">
|
||||
@ -209,7 +223,7 @@
|
||||
<GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
|
||||
<CopyNuGetImplementations>false</CopyNuGetImplementations>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<!-- Language configuration -->
|
||||
<PropertyGroup>
|
||||
<LangVersion>latest</LangVersion> <!-- default to allowing all language features -->
|
||||
@ -217,6 +231,11 @@
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(IsReferenceAssembly)' == 'true'">
|
||||
<!-- disable warnings about unused fields -->
|
||||
<NoWarn>$(NoWarn);0169;0649</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set up some common paths -->
|
||||
<PropertyGroup>
|
||||
<CommonPath>$(SourceDir)Common\src</CommonPath>
|
||||
@ -240,9 +259,9 @@
|
||||
<TestPath Condition="'$(TestPath)' == ''">$(TestWorkingDir)$(MSBuildProjectName)/$(BuildConfiguration)/</TestPath>
|
||||
<RefRootPath>$(BinDir)ref/</RefRootPath>
|
||||
<BuildConfigurationRefPath>$(RefRootPath)$(_bc_TargetGroup)/</BuildConfigurationRefPath>
|
||||
<BuildConfigurationRefPath Condition="$(_bc_TargetGroup.EndsWith('aot'))">$(RefRootPath)$(_bc_TargetGroup.TrimEnd('aot'))/</BuildConfigurationRefPath>
|
||||
<BuildConfigurationRefPath Condition="$(_bc_TargetGroup.EndsWith('aot'))">$(RefRootPath)$(_bc_TargetGroup.TrimEnd('t').TrimEnd('o').TrimEnd('a'))/</BuildConfigurationRefPath>
|
||||
<RefPath>$(RefRootPath)$(TargetGroup)/</RefPath>
|
||||
<RefPath Condition="$(TargetGroup.EndsWith('aot'))">$(RefRootPath)$(TargetGroup.TrimEnd('aot'))/</RefPath>
|
||||
<RefPath Condition="$(TargetGroup.EndsWith('aot'))">$(RefRootPath)$(TargetGroup.TrimEnd('t').TrimEnd('o').TrimEnd('a'))/</RefPath>
|
||||
<NetStandardRefPath>$(RefRootPath)netstandard/</NetStandardRefPath>
|
||||
<NetFxRefPath>$(RefRootPath)netfx/</NetFxRefPath>
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
<NugetRuntimeIdentifier>$(ToolRuntimeRID)</NugetRuntimeIdentifier>
|
||||
<RidSpecificAssets>true</RidSpecificAssets>
|
||||
<ILLinkTasksPackageId>illink.tasks</ILLinkTasksPackageId>
|
||||
<ILLinkTasksPackageVersion>0.1.4-preview-981901</ILLinkTasksPackageVersion>
|
||||
<ILLinkTasksPackageVersion>0.1.4-preview-1222833</ILLinkTasksPackageVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="$(ILLinkTasksPackageId)">
|
||||
|
9
external/corefx/external/dir.proj
vendored
9
external/corefx/external/dir.proj
vendored
@ -7,15 +7,14 @@
|
||||
|
||||
<!-- Build for all configurations -->
|
||||
<ItemGroup>
|
||||
<Project Include="netcoreapp/netcoreapp.depproj" />
|
||||
<Project Condition="'$(BuildAllConfigurations)' == 'true'" Include="netcoreapp/netcoreapp.depproj" />
|
||||
<Project Include="netstandard/netstandard.depproj" />
|
||||
<Project Include="netfx/netfx.depproj" />
|
||||
<Project Include="runtime/runtime.depproj" />
|
||||
<Project Include="test-runtime/XUnit.Runtime.depproj" />
|
||||
<Project Include="test-runtime/XUnit.Runtime.depproj" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<Project Include="harvestPackages/harvestPackages.depproj" />
|
||||
<Project Include="portable\portable.depproj" />
|
||||
<Project Include="ilasm/ilasm.depproj" />
|
||||
<Project Include="docs/docs.depproj" />
|
||||
<Project Include="portable/portable.depproj" />
|
||||
<Project Include="docs/docs.depproj" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<Project Condition="'$(ILLinkTrimAssembly)' != 'false'" Include="ILLink/ILLink.depproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
26
external/corefx/external/ilasm/ilasm.depproj
vendored
26
external/corefx/external/ilasm/ilasm.depproj
vendored
@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<PropertyGroup>
|
||||
<NugetRuntimeIdentifier>$(ToolRuntimeRID)</NugetRuntimeIdentifier>
|
||||
<OutputPath>$(ToolsDir)ilasm</OutputPath>
|
||||
<EnableBinPlacing>false</EnableBinPlacing>
|
||||
<RidSpecificAssets>true</RidSpecificAssets>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETCore.Platforms">
|
||||
<Version>$(PlatformPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NETCore.Runtime.CoreCLR">
|
||||
<Version>$(CoreClrPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NETCore.ILAsm">
|
||||
<Version>$(CoreClrPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
<!-- Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424 -->
|
||||
<Target Name="MakeIlasmExecutable" AfterTargets="CopyFilesToOutputDirectory" Condition="'$(RunningOnUnix)' == 'true'">
|
||||
<Exec Command="chmod +x $(OutputPath)ilasm" />
|
||||
</Target>
|
||||
</Project>
|
@ -11,7 +11,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NETStandard.Library">
|
||||
<Version>$(NETStandardPackageVersion)</Version>
|
||||
<Version>$(NETStandardLibraryPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
@ -53,13 +53,13 @@
|
||||
<Target Name="AddNETStandardRefs" AfterTargets="ResolveReferences"
|
||||
Condition="'$(_NETStandardTFMFolder)' != ''">
|
||||
<PropertyGroup>
|
||||
<_NETStandardRefFolder>$(PackagesDir)$(NETStandardPackageId.ToLower())\$(NETStandardPackageVersion)\build\$(_NETStandardTFMFolder)\ref</_NETStandardRefFolder>
|
||||
<_NETStandardRefFolder>$(PackagesDir)$(NETStandardLibraryPackageId.ToLower())\$(NETStandardLibraryPackageVersion)\build\$(_NETStandardTFMFolder)\ref</_NETStandardRefFolder>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="$(_NETStandardRefFolder)\*.dll">
|
||||
<Private>False</Private>
|
||||
<NuGetPackageId>$(NETStandardPackageId)</NuGetPackageId>
|
||||
<NuGetPackageVersion>$(NETStandardPackageVersion)</NuGetPackageVersion>
|
||||
<NuGetPackageId>$(NETStandardLibraryPackageId)</NuGetPackageId>
|
||||
<NuGetPackageVersion>$(NETStandardLibraryPackageVersion)</NuGetPackageVersion>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
16
external/corefx/external/runtime/runtime.depproj
vendored
16
external/corefx/external/runtime/runtime.depproj
vendored
@ -26,22 +26,22 @@
|
||||
|
||||
<ItemGroup Condition="'$(TargetGroup)'!='uapaot'">
|
||||
<PackageReference Include="Microsoft.NETCore.Platforms">
|
||||
<Version>$(PlatformPackageVersion)</Version>
|
||||
<Version>$(MicrosoftNETCorePlatformsPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NETCore.Runtime.CoreCLR">
|
||||
<Version>$(CoreClrPackageVersion)</Version>
|
||||
<Version>$(MicrosoftNETCoreRuntimeCoreCLRPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NETCore.TestHost">
|
||||
<Version>$(CoreClrPackageVersion)</Version>
|
||||
<Version>$(MicrosoftNETCoreRuntimeCoreCLRPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="runtime.native.System.Data.SqlClient.sni">
|
||||
<Version>$(PackageVersion)-$(CoreFxExpectedPrerelease)</Version>
|
||||
<Version>$(RuntimeNativeSystemDataSqlClientSniPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NETCore.DotNetHost">
|
||||
<Version>2.0.1-servicing-25615-03</Version>
|
||||
<Version>$(MicrosoftNETCoreDotNetHostPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NETCore.DotNetHostPolicy">
|
||||
<Version>2.0.1-servicing-25615-03</Version>
|
||||
<Version>$(MicrosoftNETCoreDotNetHostPolicyPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
@ -82,7 +82,9 @@
|
||||
|
||||
<ItemGroup>
|
||||
<_CoreCLRSymbolPackagesToDownload Include="@(ReferenceCopyLocalPaths->'%(NuGetPackageId)')" Condition="$([System.String]::Copy('%(Identity)').EndsWith('System.Private.CoreLib.dll'))">
|
||||
<Url>https://dotnet.myget.org/F/dotnet-core/symbols/%(NuGetPackageId)/%(NuGetPackageVersion)/</Url>
|
||||
<!-- If there is an asset root URL set (for orchestrated build), then append symbols to that to grab the coreclr symbol location. The orchestrated build uses a flat package layout. -->
|
||||
<Url Condition="'$(DotNetAssetRootUrl)'!=''">$(DotNetAssetRootUrl)symbols/%(NuGetPackageId).%(NuGetPackageVersion).symbols.nupkg</Url>
|
||||
<Url Condition="'$(DotNetAssetRootUrl)'==''">https://dotnet.myget.org/F/dotnet-core/symbols/%(NuGetPackageId)/%(NuGetPackageVersion)/</Url>
|
||||
<DestinationFile>%(NuGetPackageId).%(NuGetPackageVersion).symbols.nupkg.zip</DestinationFile>
|
||||
<UnzipDestinationDir>$(SymbolPackagesDir)/%(NuGetPackageId).%(NuGetPackageVersion)</UnzipDestinationDir>
|
||||
</_CoreCLRSymbolPackagesToDownload>
|
||||
|
@ -50,6 +50,9 @@
|
||||
<PackageReference Include="Microsoft.3rdpartytools.MarkdownLog">
|
||||
<Version>0.10.0-alpha-experimental</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Condition="'$(TargetGroup)' != 'uapaot'" Include="Microsoft.DotNet.PlatformAbstractions">
|
||||
<Version>$(MicrosoftDotNetPlatformAbstractionsPackageVersion)</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="CommandLineParser">
|
||||
<Version>2.1.1-beta</Version>
|
||||
</PackageReference>
|
||||
@ -66,7 +69,7 @@
|
||||
<Version>3.0.1</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="System.IO.Compression.TestData">
|
||||
<Version>1.0.5-prerelease</Version>
|
||||
<Version>1.0.6-prerelease</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="System.IO.Packaging.TestData">
|
||||
<Version>1.0.0-prerelease</Version>
|
||||
@ -95,6 +98,7 @@
|
||||
<PackageToInclude Include="xunit.runner.utility"/>
|
||||
<PackageToInclude Include="Microsoft.xunit.netcore.extensions"/>
|
||||
<PackageToInclude Include="Newtonsoft.Json"/>
|
||||
<PackageToInclude Condition="'$(TargetGroup)' != 'uapaot'" Include="Microsoft.DotNet.PlatformAbstractions" />
|
||||
<PackageToInclude Include="$(XUnitRunnerPackageId)" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -3,9 +3,9 @@
|
||||
"net45": {
|
||||
"dependencies": {
|
||||
"Microsoft.DotNet.IBCMerge": "4.6.0-alpha-00001",
|
||||
"TestILC.amd64ret": "1.0.0-beta-25813-00",
|
||||
"TestILC.armret": "1.0.0-beta-25813-00",
|
||||
"TestILC.x86ret": "1.0.0-beta-25813-00"
|
||||
"TestILC.amd64ret": "1.0.0-beta-26122-00",
|
||||
"TestILC.armret": "1.0.0-beta-26122-00",
|
||||
"TestILC.x86ret": "1.0.0-beta-26122-00"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
external/corefx/illink.targets
vendored
2
external/corefx/illink.targets
vendored
@ -71,6 +71,8 @@
|
||||
<ILLinkArgs>$(ILLinkArgs) -v true</ILLinkArgs>
|
||||
<!-- reflection heuristics to apply -->
|
||||
<ILLinkArgs>$(ILLinkArgs) -h LdtokenTypeMethods,InstanceConstructors</ILLinkArgs>
|
||||
<!-- add a linker step to clear initlocals flag on all assemblies before the output step -->
|
||||
<ILLinkArgs Condition="'$(ILLinkClearInitLocals)' == 'true'">$(ILLinkArgs) -s ILLink.CustomSteps.ClearInitLocalsStep,ILLink.CustomSteps:OutputStep</ILLinkArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(ILLinkTrimInputPath)" />
|
||||
|
22
external/corefx/init-tools.cmd
vendored
22
external/corefx/init-tools.cmd
vendored
@ -10,7 +10,8 @@ if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/do
|
||||
set /P BUILDTOOLS_VERSION=< "%~dp0BuildToolsVersion.txt"
|
||||
set BUILD_TOOLS_PATH=%PACKAGES_DIR%Microsoft.DotNet.BuildTools\%BUILDTOOLS_VERSION%\lib\
|
||||
set INIT_TOOLS_RESTORE_PROJECT=%~dp0init-tools.msbuild
|
||||
set BUILD_TOOLS_SEMAPHORE=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION%\init-tools.completed
|
||||
set BUILD_TOOLS_SEMAPHORE_DIR=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION%
|
||||
set BUILD_TOOLS_SEMAPHORE=%BUILD_TOOLS_SEMAPHORE_DIR%\init-tools.completed
|
||||
|
||||
:: if force option is specified then clean the tool runtime and build tools package directory to force it to get recreated
|
||||
if [%1]==[force] (
|
||||
@ -26,6 +27,22 @@ if exist "%BUILD_TOOLS_SEMAPHORE%" (
|
||||
|
||||
if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%"
|
||||
|
||||
if NOT exist "%BUILD_TOOLS_SEMAPHORE_DIR%" mkdir "%BUILD_TOOLS_SEMAPHORE_DIR%"
|
||||
|
||||
if exist "%DotNetBuildToolsDir%" (
|
||||
echo Using tools from '%DotNetBuildToolsDir%'.
|
||||
mklink /j "%TOOLRUNTIME_DIR%" "%DotNetBuildToolsDir%"
|
||||
|
||||
if not exist "%DOTNET_CMD%" (
|
||||
echo ERROR: Ensure that '%DotNetBuildToolsDir%' contains the .NET Core SDK at '%DOTNET_PATH%'
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Done initializing tools.
|
||||
echo Using tools from '%DotNetBuildToolsDir%'. > "%BUILD_TOOLS_SEMAPHORE%"
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
echo Running %0 > "%INIT_TOOLS_LOG%"
|
||||
|
||||
set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt"
|
||||
@ -56,6 +73,9 @@ if NOT exist "%BUILD_TOOLS_PATH%init-tools.cmd" (
|
||||
|
||||
:afterbuildtoolsrestore
|
||||
|
||||
:: Ask init-tools to also restore ILAsm
|
||||
set /p ILASMCOMPILER_VERSION=< "%~dp0tools-local\ILAsmVersion.txt"
|
||||
|
||||
echo Initializing BuildTools...
|
||||
echo Running: "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%"
|
||||
call "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%"
|
||||
|
2
external/corefx/init-tools.msbuild
vendored
2
external/corefx/init-tools.msbuild
vendored
@ -5,7 +5,9 @@
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
<BaseIntermediateOutputPath>$(MSBuildThisFileDirectory)Tools/$(BuildToolsPackageVersion)</BaseIntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildThisFileDirectory)dependencies.props" />
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.DotNet.BuildTools" Version="$(BuildToolsPackageVersion)" />
|
||||
<PackageReference Include="$(FeedTasksPackage)" Version="$(FeedTasksPackageVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
274
external/corefx/init-tools.sh
vendored
274
external/corefx/init-tools.sh
vendored
@ -8,147 +8,175 @@ __DOTNET_PATH=$__TOOLRUNTIME_DIR/dotnetcli
|
||||
__DOTNET_CMD=$__DOTNET_PATH/dotnet
|
||||
if [ -z "$__BUILDTOOLS_SOURCE" ]; then __BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json; fi
|
||||
export __BUILDTOOLS_USE_CSPROJ=true
|
||||
__BUILD_TOOLS_PACKAGE_VERSION=$(cat $__scriptpath/BuildToolsVersion.txt)
|
||||
__DOTNET_TOOLS_VERSION=$(cat $__scriptpath/DotnetCLIVersion.txt)
|
||||
__BUILD_TOOLS_PACKAGE_VERSION=$(cat $__scriptpath/BuildToolsVersion.txt | sed 's/\r$//') # remove CR if mounted repo on Windows drive
|
||||
__DOTNET_TOOLS_VERSION=$(cat $__scriptpath/DotnetCLIVersion.txt | sed 's/\r$//') # remove CR if mounted repo on Windows drive
|
||||
__ILASM_VERSION=$(cat $__scriptpath/tools-local/ILAsmVersion.txt | sed 's/\r$//') # remove CR if mounted repo on Windows drive
|
||||
__BUILD_TOOLS_PATH=$__PACKAGES_DIR/microsoft.dotnet.buildtools/$__BUILD_TOOLS_PACKAGE_VERSION/lib
|
||||
__INIT_TOOLS_RESTORE_PROJECT=$__scriptpath/init-tools.msbuild
|
||||
__INIT_TOOLS_DONE_MARKER_DIR=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION
|
||||
__INIT_TOOLS_DONE_MARKER=$__INIT_TOOLS_DONE_MARKER_DIR/done
|
||||
__BUILD_TOOLS_SEMAPHORE=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION/init-tools.complete
|
||||
|
||||
if [ -z "$__DOTNET_PKG" ]; then
|
||||
if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then
|
||||
echo "Warning: build not supported on 32 bit Unix"
|
||||
if [ -e $__BUILD_TOOLS_SEMAPHORE ]; then
|
||||
echo "Tools are already initialized"
|
||||
return #return instead of exit because this script is inlined in other scripts which we don't want to exit
|
||||
fi
|
||||
|
||||
if [ -e $__TOOLRUNTIME_DIR ]; then rm -rf -- $__TOOLRUNTIME_DIR; fi
|
||||
|
||||
if [ -d "$DotNetBuildToolsDir" ]; then
|
||||
echo "Using tools from '$DotNetBuildToolsDir'."
|
||||
ln -s "$DotNetBuildToolsDir" "$__TOOLRUNTIME_DIR"
|
||||
|
||||
if [ ! -e "$__DOTNET_CMD" ]; then
|
||||
echo "ERROR: Ensure that $DotNetBuildToolsDir contains the .NET Core SDK at $__DOTNET_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
__PKG_ARCH=x64
|
||||
|
||||
OSName=$(uname -s)
|
||||
case $OSName in
|
||||
Darwin)
|
||||
OS=OSX
|
||||
__PKG_RID=osx
|
||||
ulimit -n 2048
|
||||
# Format x.y.z as single integer with three digits for each part
|
||||
VERSION=`sw_vers -productVersion| sed -e 's/\./ /g' | xargs printf "%03d%03d%03d"`
|
||||
if [ "$VERSION" -lt 010012000 ]; then
|
||||
echo error: macOS version `sw_vers -productVersion` is too old. 10.12 is needed as minimum.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
Linux)
|
||||
__PKG_RID=linux
|
||||
OS=Linux
|
||||
|
||||
if [ -e /etc/os-release ]; then
|
||||
source /etc/os-release
|
||||
if [[ $ID == "alpine" ]]; then
|
||||
# remove the last version digit
|
||||
VERSION_ID=${VERSION_ID%.*}
|
||||
__PKG_RID=alpine.$VERSION_ID
|
||||
fi
|
||||
elif [ -e /etc/redhat-release ]; then
|
||||
redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
__PKG_RID=rhel.6
|
||||
fi
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unsupported OS '$OSName' detected. Downloading linux-$__PKG_ARCH tools."
|
||||
OS=Linux
|
||||
__PKG_RID=linux
|
||||
;;
|
||||
esac
|
||||
|
||||
__DOTNET_PKG=dotnet-sdk-${__DOTNET_TOOLS_VERSION}-$__PKG_RID-$__PKG_ARCH
|
||||
echo "Done initializing tools."
|
||||
mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch $__BUILD_TOOLS_SEMAPHORE
|
||||
return #return instead of exit because this script is inlined in other scripts which we don't want to exit
|
||||
fi
|
||||
|
||||
echo "Running: $__scriptpath/init-tools.sh" > $__init_tools_log
|
||||
|
||||
display_error_message()
|
||||
{
|
||||
echo "Please check the detailed log that follows." 1>&2
|
||||
cat "$__init_tools_log" 1>&2
|
||||
}
|
||||
|
||||
if [ ! -e $__INIT_TOOLS_DONE_MARKER ]; then
|
||||
__PATCH_CLI_NUGET_FRAMEWORKS=0
|
||||
|
||||
if [ -e $__TOOLRUNTIME_DIR ]; then rm -rf -- $__TOOLRUNTIME_DIR; fi
|
||||
echo "Running: $__scriptpath/init-tools.sh" > $__init_tools_log
|
||||
|
||||
if [ ! -e $__DOTNET_PATH ]; then
|
||||
|
||||
mkdir -p "$__DOTNET_PATH"
|
||||
|
||||
if [ -n "$DOTNET_TOOLSET_DIR" ] && [ -d "$DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION" ]; then
|
||||
echo "Copying $DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION to $__DOTNET_PATH" >> $__init_tools_log
|
||||
cp -r $DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION/* $__DOTNET_PATH
|
||||
elif [ -n "$DOTNET_TOOL_DIR" ] && [ -d "$DOTNET_TOOL_DIR" ]; then
|
||||
echo "Copying $DOTNET_TOOL_DIR to $__DOTNET_PATH" >> $__init_tools_log
|
||||
cp -r $DOTNET_TOOL_DIR/* $__DOTNET_PATH
|
||||
# Executes a command and retries if it fails.
|
||||
execute_with_retry() {
|
||||
local count=0
|
||||
local retries=${retries:-5}
|
||||
local waitFactor=${waitFactor:-6}
|
||||
until "$@"; do
|
||||
local exit=$?
|
||||
count=$(( $count + 1 ))
|
||||
if [ $count -lt $retries ]; then
|
||||
local wait=$(( waitFactor ** (( count - 1 )) ))
|
||||
echo "Retry $count/$retries exited $exit, retrying in $wait seconds..."
|
||||
sleep $wait
|
||||
else
|
||||
echo "Installing dotnet cli..."
|
||||
__DOTNET_LOCATION="https://dotnetcli.azureedge.net/dotnet/Sdk/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.tar.gz"
|
||||
# curl has HTTPS CA trust-issues less often than wget, so lets try that first.
|
||||
echo "Installing '${__DOTNET_LOCATION}' to '$__DOTNET_PATH/dotnet.tar'" >> $__init_tools_log
|
||||
if command -v curl > /dev/null; then
|
||||
curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
else
|
||||
wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
fi
|
||||
cd $__DOTNET_PATH
|
||||
tar -xf $__DOTNET_PATH/dotnet.tar
|
||||
|
||||
cd $__scriptpath
|
||||
|
||||
__PATCH_CLI_NUGET_FRAMEWORKS=1
|
||||
say_err "Retry $count/$retries exited $exit, no more retries left."
|
||||
return $exit
|
||||
fi
|
||||
done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
if [ ! -e $__DOTNET_PATH ]; then
|
||||
if [ -z "$__DOTNET_PKG" ]; then
|
||||
if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then
|
||||
echo "Warning: build not supported on 32 bit Unix"
|
||||
fi
|
||||
|
||||
__PKG_ARCH=x64
|
||||
|
||||
OSName=$(uname -s)
|
||||
case $OSName in
|
||||
Darwin)
|
||||
OS=OSX
|
||||
__PKG_RID=osx
|
||||
ulimit -n 2048
|
||||
# Format x.y.z as single integer with three digits for each part
|
||||
VERSION=`sw_vers -productVersion| sed -e 's/\./ /g' | xargs printf "%03d%03d%03d"`
|
||||
if [ "$VERSION" -lt 010012000 ]; then
|
||||
echo error: macOS version `sw_vers -productVersion` is too old. 10.12 is needed as minimum.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
Linux)
|
||||
__PKG_RID=linux
|
||||
OS=Linux
|
||||
|
||||
if [ -e /etc/os-release ]; then
|
||||
source /etc/os-release
|
||||
if [[ $ID == "alpine" ]]; then
|
||||
# remove the last version digit
|
||||
VERSION_ID=${VERSION_ID%.*}
|
||||
__PKG_RID=alpine.$VERSION_ID
|
||||
fi
|
||||
elif [ -e /etc/redhat-release ]; then
|
||||
redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
__PKG_RID=rhel.6
|
||||
fi
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unsupported OS '$OSName' detected. Downloading linux-$__PKG_ARCH tools."
|
||||
OS=Linux
|
||||
__PKG_RID=linux
|
||||
;;
|
||||
esac
|
||||
|
||||
__DOTNET_PKG=dotnet-sdk-${__DOTNET_TOOLS_VERSION}-$__PKG_RID-$__PKG_ARCH
|
||||
fi
|
||||
mkdir -p "$__DOTNET_PATH"
|
||||
|
||||
echo "Installing dotnet cli..."
|
||||
__DOTNET_LOCATION="https://dotnetcli.azureedge.net/dotnet/Sdk/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.tar.gz"
|
||||
|
||||
if [ -n "$BUILD_TOOLS_TOOLSET_DIR" ] && [ -d "$BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION" ]; then
|
||||
echo "Copying $BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION to $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
cp -r $BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION/* $__TOOLRUNTIME_DIR
|
||||
elif [ -n "$BUILD_TOOLS_TOOL_DIR" ] && [ -d "$BUILD_TOOLS_TOOL_DIR" ]; then
|
||||
echo "Copying $BUILD_TOOLS_TOOL_DIR to $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
cp -r $BUILD_TOOLS_TOOL_DIR/* $__TOOLRUNTIME_DIR
|
||||
else
|
||||
if [ ! -e $__BUILD_TOOLS_PATH ]; then
|
||||
echo "Restoring BuildTools version $__BUILD_TOOLS_PACKAGE_VERSION..."
|
||||
echo "Running: $__DOTNET_CMD restore \"$__INIT_TOOLS_RESTORE_PROJECT\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION" >> $__init_tools_log
|
||||
$__DOTNET_CMD restore "$__INIT_TOOLS_RESTORE_PROJECT" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION >> $__init_tools_log
|
||||
if [ ! -e "$__BUILD_TOOLS_PATH/init-tools.sh" ]; then
|
||||
echo "ERROR: Could not restore build tools correctly." 1>&2
|
||||
display_error_message
|
||||
fi
|
||||
install_dotnet_cli() {
|
||||
echo "Installing '${__DOTNET_LOCATION}' to '$__DOTNET_PATH/dotnet.tar'" >> "$__init_tools_log"
|
||||
rm -rf -- "$__DOTNET_PATH/*"
|
||||
# curl has HTTPS CA trust-issues less often than wget, so lets try that first.
|
||||
if command -v curl > /dev/null; then
|
||||
curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
else
|
||||
wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
fi
|
||||
cd $__DOTNET_PATH
|
||||
tar -xf $__DOTNET_PATH/dotnet.tar
|
||||
}
|
||||
execute_with_retry install_dotnet_cli >> "$__init_tools_log" 2>&1
|
||||
|
||||
echo "Initializing BuildTools..."
|
||||
echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
chmod +x $__BUILD_TOOLS_PATH/init-tools.sh
|
||||
$__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR >> $__init_tools_log
|
||||
if [ "$?" != "0" ]; then
|
||||
echo "ERROR: An error occurred when trying to initialize the tools." 1>&2
|
||||
display_error_message
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Making all .sh files executable under Tools."
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
ls $__scriptpath/Tools/*.sh | xargs chmod +x
|
||||
ls $__scriptpath/Tools/scripts/docker/*.sh | xargs chmod +x
|
||||
|
||||
Tools/crossgen.sh $__scriptpath/Tools
|
||||
|
||||
mkdir -p $__INIT_TOOLS_DONE_MARKER_DIR
|
||||
touch $__INIT_TOOLS_DONE_MARKER
|
||||
|
||||
echo "Done initializing tools."
|
||||
else
|
||||
echo "Tools are already initialized"
|
||||
cd $__scriptpath
|
||||
fi
|
||||
|
||||
if [ ! -e $__BUILD_TOOLS_PATH ]; then
|
||||
echo "Restoring BuildTools version $__BUILD_TOOLS_PACKAGE_VERSION..."
|
||||
echo "Running: $__DOTNET_CMD restore \"$__INIT_TOOLS_RESTORE_PROJECT\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION" >> $__init_tools_log
|
||||
$__DOTNET_CMD restore "$__INIT_TOOLS_RESTORE_PROJECT" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION >> $__init_tools_log
|
||||
if [ ! -e "$__BUILD_TOOLS_PATH/init-tools.sh" ]; then
|
||||
echo "ERROR: Could not restore build tools correctly." 1>&2
|
||||
display_error_message
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$__ILASM_RID" ]; then
|
||||
__ILASM_RID=$__PKG_RID-$__PKG_ARCH
|
||||
fi
|
||||
|
||||
echo "Using RID $__ILASM_RID for BuildTools native tools"
|
||||
|
||||
export ILASMCOMPILER_VERSION=$__ILASM_VERSION
|
||||
export NATIVE_TOOLS_RID=$__ILASM_RID
|
||||
|
||||
echo "Initializing BuildTools..."
|
||||
echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
chmod +x $__BUILD_TOOLS_PATH/init-tools.sh
|
||||
$__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR >> $__init_tools_log
|
||||
if [ "$?" != "0" ]; then
|
||||
echo "ERROR: An error occurred when trying to initialize the tools." 1>&2
|
||||
display_error_message
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Making all .sh files executable under Tools."
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
ls $__scriptpath/Tools/*.sh | xargs chmod +x
|
||||
ls $__scriptpath/Tools/scripts/docker/*.sh | xargs chmod +x
|
||||
|
||||
Tools/crossgen.sh $__scriptpath/Tools
|
||||
|
||||
mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch $__BUILD_TOOLS_SEMAPHORE
|
||||
|
||||
echo "Done initializing tools."
|
||||
|
||||
|
8
external/corefx/perf.groovy
vendored
8
external/corefx/perf.groovy
vendored
@ -49,7 +49,7 @@ def osShortName = ['Windows 10': 'win10',
|
||||
// **************************
|
||||
[true, false].each { isPR ->
|
||||
['Release'].each { configurationGroup ->
|
||||
['Windows_NT', 'Ubuntu14.04'].each { os ->
|
||||
['Windows_NT', 'Ubuntu16.04'].each { os ->
|
||||
def osGroup = osGroupMap[os]
|
||||
def newJobName = "perf_${os.toLowerCase()}_${configurationGroup.toLowerCase()}"
|
||||
|
||||
@ -58,7 +58,7 @@ def osShortName = ['Windows 10': 'win10',
|
||||
label('windows_server_2016_clr_perf')
|
||||
}
|
||||
else {
|
||||
label('linux_clr_perf')
|
||||
label('ubuntu_1604_clr_perf')
|
||||
}
|
||||
|
||||
wrappers {
|
||||
@ -103,7 +103,7 @@ def osShortName = ['Windows 10': 'win10',
|
||||
steps {
|
||||
//We need to specify the max cpu count to be one as we do not want to be executing performance tests in parallel
|
||||
shell("./build.sh -release")
|
||||
shell("sudo find . -type f -name dotnet | xargs chmod +x")
|
||||
shell("find . -type f -name dotnet | xargs chmod u+x")
|
||||
shell("curl \"http://benchviewtestfeed.azurewebsites.net/nuget/FindPackagesById()?id='Microsoft.BenchView.JSONFormat'\" | grep \"content type\" | sed \"\$ s/.*src=\\\"\\([^\\\"]*\\)\\\".*/\\1/;tx;d;:x\" | xargs curl -o benchview.zip")
|
||||
shell("unzip -q -o benchview.zip -d \"\${WORKSPACE}/Tools/Microsoft.BenchView.JSONFormat\"")
|
||||
|
||||
@ -113,7 +113,7 @@ def osShortName = ['Windows 10': 'win10',
|
||||
"python3.5 \"\${WORKSPACE}/Tools/Microsoft.BenchView.JSONFormat/tools/submission-metadata.py\" --name " + "\"" + benchViewName + "\"" + " --user-email " + "\"dotnet-bot@microsoft.com\"\n" +
|
||||
"python3.5 \"\${WORKSPACE}/Tools/Microsoft.BenchView.JSONFormat/tools/build.py\" git --branch \$GIT_BRANCH_WITHOUT_ORIGIN --type " + runType)
|
||||
shell("python3.5 \"\${WORKSPACE}/Tools/Microsoft.BenchView.JSONFormat/tools/machinedata.py\"")
|
||||
shell("sudo -E bash ./build-managed.sh -release -tests -- /p:Performance=true /p:TargetOS=${osGroup} /m:1 /p:LogToBenchview=true /p:BenchviewRunType=${runType}")
|
||||
shell("bash ./build-managed.sh -release -tests -- /p:Performance=true /p:TargetOS=${osGroup} /m:1 /p:LogToBenchview=true /p:BenchviewRunType=${runType}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,15 @@
|
||||
{
|
||||
"alpine": [
|
||||
"alpine",
|
||||
"unix",
|
||||
"any",
|
||||
"base"
|
||||
],
|
||||
"alpine-corert": [
|
||||
"alpine-corert",
|
||||
"alpine",
|
||||
"unix-corert",
|
||||
"unix",
|
||||
"corert",
|
||||
"any",
|
||||
"base"
|
||||
@ -14,6 +17,8 @@
|
||||
"alpine-x64": [
|
||||
"alpine-x64",
|
||||
"alpine",
|
||||
"unix-x64",
|
||||
"unix",
|
||||
"any",
|
||||
"base"
|
||||
],
|
||||
@ -21,7 +26,11 @@
|
||||
"alpine-x64-corert",
|
||||
"alpine-corert",
|
||||
"alpine-x64",
|
||||
"unix-x64-corert",
|
||||
"alpine",
|
||||
"unix-corert",
|
||||
"unix-x64",
|
||||
"unix",
|
||||
"corert",
|
||||
"any",
|
||||
"base"
|
||||
@ -29,6 +38,7 @@
|
||||
"alpine.3.6": [
|
||||
"alpine.3.6",
|
||||
"alpine",
|
||||
"unix",
|
||||
"any",
|
||||
"base"
|
||||
],
|
||||
@ -37,6 +47,8 @@
|
||||
"alpine.3.6",
|
||||
"alpine-corert",
|
||||
"alpine",
|
||||
"unix-corert",
|
||||
"unix",
|
||||
"corert",
|
||||
"any",
|
||||
"base"
|
||||
@ -46,6 +58,8 @@
|
||||
"alpine.3.6",
|
||||
"alpine-x64",
|
||||
"alpine",
|
||||
"unix-x64",
|
||||
"unix",
|
||||
"any",
|
||||
"base"
|
||||
],
|
||||
@ -58,6 +72,10 @@
|
||||
"alpine-corert",
|
||||
"alpine-x64",
|
||||
"alpine",
|
||||
"unix-x64-corert",
|
||||
"unix-corert",
|
||||
"unix-x64",
|
||||
"unix",
|
||||
"corert",
|
||||
"any",
|
||||
"base"
|
||||
|
@ -2,24 +2,26 @@
|
||||
"runtimes": {
|
||||
"alpine": {
|
||||
"#import": [
|
||||
"any"
|
||||
"unix"
|
||||
]
|
||||
},
|
||||
"alpine-corert": {
|
||||
"#import": [
|
||||
"alpine",
|
||||
"corert"
|
||||
"unix-corert"
|
||||
]
|
||||
},
|
||||
"alpine-x64": {
|
||||
"#import": [
|
||||
"alpine"
|
||||
"alpine",
|
||||
"unix-x64"
|
||||
]
|
||||
},
|
||||
"alpine-x64-corert": {
|
||||
"#import": [
|
||||
"alpine-corert",
|
||||
"alpine-x64"
|
||||
"alpine-x64",
|
||||
"unix-x64-corert"
|
||||
]
|
||||
},
|
||||
"alpine.3.6": {
|
||||
|
@ -11,7 +11,7 @@
|
||||
</RuntimeGroup>
|
||||
|
||||
<RuntimeGroup Include="alpine">
|
||||
<Parent>any</Parent>
|
||||
<Parent>unix</Parent>
|
||||
<Architectures>x64</Architectures>
|
||||
<Versions>3.6</Versions>
|
||||
</RuntimeGroup>
|
||||
|
@ -1,57 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageVersion>2.1.0</PackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<LibraryPackage>
|
||||
<Version>4.4.0</Version>
|
||||
</LibraryPackage>
|
||||
<PrereleaseLibraryPackage>
|
||||
<Version>4.5.0</Version>
|
||||
</PrereleaseLibraryPackage>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageIndex Include="$(MSBuildThisFileDirectory)externalIndex.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<LibraryPackage Include="Microsoft.Win32.Registry" />
|
||||
<LibraryPackage Include="Microsoft.Win32.Registry.AccessControl" />
|
||||
<LibraryPackage Include="System.CodeDom" />
|
||||
<LibraryPackage Include="System.Configuration.ConfigurationManager" />
|
||||
<LibraryPackage Include="System.Data.SqlClient" />
|
||||
<LibraryPackage Include="System.IO.FileSystem.AccessControl" />
|
||||
<LibraryPackage Include="System.IO.Packaging" />
|
||||
<LibraryPackage Include="System.IO.Pipes.AccessControl" />
|
||||
<LibraryPackage Include="System.IO.Ports" />
|
||||
<LibraryPackage Include="System.Security.AccessControl" />
|
||||
<LibraryPackage Include="System.Security.Cryptography.Cng" />
|
||||
<LibraryPackage Include="System.Security.Cryptography.Pkcs" />
|
||||
<LibraryPackage Include="System.Security.Cryptography.ProtectedData" />
|
||||
<LibraryPackage Include="System.Security.Cryptography.Xml" />
|
||||
<LibraryPackage Include="System.Security.Permissions" />
|
||||
<LibraryPackage Include="System.Security.Principal.Windows" />
|
||||
<LibraryPackage Include="System.ServiceProcess.ServiceController" />
|
||||
<LibraryPackage Include="System.Text.Encoding.CodePages" />
|
||||
<LibraryPackage Include="System.Threading.AccessControl" />
|
||||
<LibraryPackage Include="System.ServiceModel.Primitives" />
|
||||
<LibraryPackage Include="System.ServiceModel.Duplex" />
|
||||
<LibraryPackage Include="System.ServiceModel.Http" />
|
||||
<LibraryPackage Include="System.ServiceModel.NetTcp" />
|
||||
<LibraryPackage Include="System.ServiceModel.Security" />
|
||||
<PrereleaseLibraryPackage Include="System.Data.Odbc" />
|
||||
<PrereleaseLibraryPackage Include="System.Drawing.Common" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Dependency Include="@(LibraryPackage)" />
|
||||
<Dependency Include="@(PrereleaseLibraryPackage)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
</Project>
|
@ -8,6 +8,9 @@
|
||||
<OfficialBuildRID Include="win10-arm">
|
||||
<Platform>arm</Platform>
|
||||
</OfficialBuildRID>
|
||||
<OfficialBuildRID Include="win10-arm64">
|
||||
<Platform>arm64</Platform>
|
||||
</OfficialBuildRID>
|
||||
<OfficialBuildRID Include="win10-x86-aot">
|
||||
<Platform>x86</Platform>
|
||||
</OfficialBuildRID>
|
||||
@ -15,5 +18,8 @@
|
||||
<OfficialBuildRID Include="win10-arm-aot">
|
||||
<Platform>arm</Platform>
|
||||
</OfficialBuildRID>
|
||||
<OfficialBuildRID Include="win10-arm64-aot">
|
||||
<Platform>arm64</Platform>
|
||||
</OfficialBuildRID>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -36,10 +36,10 @@
|
||||
<FrameworkLayout Include="$(UAPPackageRefPath)">
|
||||
<TargetFramework>$(UAPvNextTFM)</TargetFramework>
|
||||
</FrameworkLayout>
|
||||
<FrameworkLayout Include="$(PackagesDir)$(NETStandardPackageId)\$(NETStandardPackageVersion)\build\netstandard2.0\ref">
|
||||
<FrameworkLayout Include="$(PackagesDir)$(NETStandardLibraryPackageId)\$(NETStandardLibraryPackageVersion)\build\netstandard2.0\ref">
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</FrameworkLayout>
|
||||
<FrameworkLayout Include="$(PackagesDir)$(NETStandardPackageId)\$(NETStandardPackageVersion)\build\net461\ref">
|
||||
<FrameworkLayout Include="$(PackagesDir)$(NETStandardLibraryPackageId)\$(NETStandardLibraryPackageVersion)\build\net461\ref">
|
||||
<TargetFramework>net461</TargetFramework>
|
||||
</FrameworkLayout>
|
||||
</ItemGroup>
|
||||
|
@ -1 +1 @@
|
||||
f3f128e745dd276fe999ccec1dd9d48f056ecb9f
|
||||
28e475f5bd0c3d7de2ba5852f5a4ed767748c8e4
|
@ -8,5 +8,4 @@
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
|
||||
|
||||
</Project>
|
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageVersion>$(CompatibilityShimsPackageVersion)</PackageVersion>
|
||||
<_ShimsLocationPath>$(BaseIntermediateOutputPath)shims/netcoreapp/facades/</_ShimsLocationPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ShimsToInclude Include="mscorlib.dll" />
|
||||
<ShimsToInclude Include="System.dll" />
|
||||
<ShimsToInclude Include="System.Configuration.dll" />
|
||||
<ShimsToInclude Include="System.Core.dll" />
|
||||
<ShimsToInclude Include="System.Data.dll" />
|
||||
<ShimsToInclude Include="System.Drawing.dll" />
|
||||
<ShimsToInclude Include="System.Net.dll" />
|
||||
<ShimsToInclude Include="System.Security.dll" />
|
||||
<ShimsToInclude Include="System.ServiceModel.Web.dll" />
|
||||
<ShimsToInclude Include="System.ServiceProcess.dll" />
|
||||
<ShimsToInclude Include="System.Transactions.dll" />
|
||||
<ShimsToInclude Include="WindowsBase.dll" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="AddShimsToPackage"
|
||||
BeforeTargets="GetPackageFiles">
|
||||
|
||||
<Error Text="Required facade: %(ShimsToInclude.Identity) was not found in $(_ShimsLocationPath)." Condition="!Exists('@(ShimsToInclude->'$(_ShimsLocationPath)%(Identity)')')" />
|
||||
|
||||
<ItemGroup>
|
||||
<File Include="@(ShimsToInclude->'$(_ShimsLocationPath)%(Identity)')">
|
||||
<TargetPath>/lib/netcoreapp2.0</TargetPath>
|
||||
<SkipPackageFileCheck>true</SkipPackageFileCheck>
|
||||
</File>
|
||||
<!-- Include placeholder to be netstandard2.0 compatible -->
|
||||
<File Include="$(PlaceHolderFile)">
|
||||
<TargetPath>/lib/netstandard2.0</TargetPath>
|
||||
</File>
|
||||
</ItemGroup>
|
||||
|
||||
<Message Importance="Low" Text="Added: %(ShimsToInclude.Identity) to package." />
|
||||
</Target>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
</Project>
|
11
external/corefx/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.builds
vendored
Normal file
11
external/corefx/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.builds
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
|
||||
<!-- only build during the AllConfigurations leg because it depends on other nupkgs from this leg -->
|
||||
<ItemGroup Condition="'$(BuildAllConfigurations)' == 'true'">
|
||||
<Project Include="$(MSBuildProjectName).pkgproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
|
||||
</Project>
|
78
external/corefx/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.pkgproj
vendored
Normal file
78
external/corefx/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.pkgproj
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageVersion>2.0.0</PackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<LibraryPackage>
|
||||
<Version>4.4.0</Version>
|
||||
</LibraryPackage>
|
||||
<PrereleaseLibraryPackage>
|
||||
<Version>4.5.0</Version>
|
||||
</PrereleaseLibraryPackage>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageIndex Include="$(MSBuildThisFileDirectory)externalIndex.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PrereleaseLibraryPackage Include="Microsoft.Win32.Registry" />
|
||||
<PrereleaseLibraryPackage Include="Microsoft.Win32.Registry.AccessControl" />
|
||||
<PrereleaseLibraryPackage Include="System.CodeDom" />
|
||||
<PrereleaseLibraryPackage Include="System.ComponentModel.Composition" />
|
||||
<PrereleaseLibraryPackage Include="System.Configuration.ConfigurationManager" />
|
||||
<PrereleaseLibraryPackage Include="System.Data.Odbc" />
|
||||
<PrereleaseLibraryPackage Include="System.Data.DataSetExtensions" />
|
||||
<PrereleaseLibraryPackage Include="System.Drawing.Common" />
|
||||
<PrereleaseLibraryPackage Include="System.Diagnostics.EventLog" />
|
||||
<PrereleaseLibraryPackage Include="System.Diagnostics.PerformanceCounter" />
|
||||
<PrereleaseLibraryPackage Include="System.DirectoryServices" />
|
||||
<PrereleaseLibraryPackage Include="System.DirectoryServices.AccountManagement" />
|
||||
<PrereleaseLibraryPackage Include="System.DirectoryServices.Protocols" />
|
||||
<PrereleaseLibraryPackage Include="System.IO.FileSystem.AccessControl" />
|
||||
<PrereleaseLibraryPackage Include="System.IO.Packaging" />
|
||||
<PrereleaseLibraryPackage Include="System.IO.Pipes.AccessControl" />
|
||||
<PrereleaseLibraryPackage Include="System.IO.Ports" />
|
||||
<PrereleaseLibraryPackage Include="System.Management" />
|
||||
<PrereleaseLibraryPackage Include="System.Runtime.Caching" />
|
||||
<PrereleaseLibraryPackage Include="System.Security.AccessControl" />
|
||||
<PrereleaseLibraryPackage Include="System.Security.Cryptography.Pkcs" />
|
||||
<PrereleaseLibraryPackage Include="System.Security.Cryptography.ProtectedData" />
|
||||
<PrereleaseLibraryPackage Include="System.Security.Cryptography.Xml" />
|
||||
<PrereleaseLibraryPackage Include="System.Security.Permissions" />
|
||||
<PrereleaseLibraryPackage Include="System.Security.Principal.Windows" />
|
||||
<PrereleaseLibraryPackage Include="System.ServiceModel.Syndication" />
|
||||
<PrereleaseLibraryPackage Include="System.ServiceProcess.ServiceController" />
|
||||
<PrereleaseLibraryPackage Include="System.Text.Encoding.CodePages" />
|
||||
<PrereleaseLibraryPackage Include="System.Threading.AccessControl" />
|
||||
|
||||
<!-- External pre-release packages -->
|
||||
<LibraryPackage Include="System.ServiceModel.Primitives">
|
||||
<Version>4.4.1-servicing-25917-01</Version>
|
||||
</LibraryPackage>
|
||||
|
||||
<!-- Stable packages shipped already for netcoreapp2.0 -->
|
||||
<LibraryPackage Include="System.Data.SqlClient" />
|
||||
<LibraryPackage Include="System.Security.Cryptography.Cng" />
|
||||
<LibraryPackage Include="System.ServiceModel.Duplex" />
|
||||
<LibraryPackage Include="System.ServiceModel.Http" />
|
||||
<LibraryPackage Include="System.ServiceModel.NetTcp" />
|
||||
<LibraryPackage Include="System.ServiceModel.Security" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Dependency Include="@(LibraryPackage)" />
|
||||
<Dependency Include="@(PrereleaseLibraryPackage)" />
|
||||
|
||||
<!-- Include dependency to shims package -->
|
||||
<Dependency Include="Microsoft.Windows.Compatibility.Shims">
|
||||
<Version>$(CompatibilityShimsPackageVersion)</Version>
|
||||
</Dependency>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<DisableImplicitFrameworkReferences Condition="'$(TargetFramework)' == 'netcoreapp2.0'">true</DisableImplicitFrameworkReferences>
|
||||
<PreserveCompilationContext>true</PreserveCompilationContext>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Windows.Compatibility" Version="$(CompatibilityPackageVersion)" />
|
||||
<PackageReference Condition="'$(TargetFramework)' == 'netcoreapp2.0'" Include="Microsoft.NETCore.App" Version="2.0.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
65
external/corefx/pkg/Microsoft.Windows.Compatibility/tests/publishcompatibilityassets.ps1
vendored
Normal file
65
external/corefx/pkg/Microsoft.Windows.Compatibility/tests/publishcompatibilityassets.ps1
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
$repoRoot = ((get-item $PSScriptRoot).parent.parent.parent.FullName);
|
||||
$winRID = "win7-x64";
|
||||
$dotnetPath = -join($repoRoot, "\Tools\dotnetcli\dotnet.exe")
|
||||
$csprojPath = -join($PSScriptRoot, "\", (Get-ChildItem $PSScriptRoot"\*.csproj" | Select-Object -ExpandProperty Name))
|
||||
$packagesCachePath = -join($repoRoot, "\packages")
|
||||
$localPackageSourcePath = -join($repoRoot, "\bin\packages\Debug\")
|
||||
$packageName = "Microsoft.Windows.Compatibility"
|
||||
|
||||
if (!(Test-Path $localPackageSourcePath))
|
||||
{
|
||||
$localPackageSourcePath = -join($repoRoot, "\bin\packages\Release\")
|
||||
if (!(Test-Path $localPackageSourcePath))
|
||||
{
|
||||
Write-Error -Message "Local package source must exist.";
|
||||
Exit;
|
||||
}
|
||||
}
|
||||
|
||||
function _getPackageVersion()
|
||||
{
|
||||
$searchPattern = -join($localPackageSourcePath, $packageName, ".[0-9].[0-9].[0-9]*.nupkg")
|
||||
if (!(Test-Path $searchPattern))
|
||||
{
|
||||
Write-Error -Message (-join("Didn't find package: Microsoft.Windows.Compatibility in source: ", $localPackageSourcePath, " please run build -allConfigurations"))
|
||||
Exit;
|
||||
}
|
||||
|
||||
if (!((get-item $searchPattern).FullName -match '([0-9].[0-9].[0-9][-a-z0-9]*)'))
|
||||
{
|
||||
Write-Error -Message "Package name is invalid"
|
||||
Exit;
|
||||
}
|
||||
|
||||
return $matches[0]
|
||||
}
|
||||
|
||||
function _restoreAndPublish($targetFramework, $rid, $runtimeFramework, $refDirName)
|
||||
{
|
||||
$packageVersion = _getPackageVersion
|
||||
& $dotnetPath restore --packages $packagesCachePath /p:RestoreSources="https://api.nuget.org/v3/index.json;$localPackageSourcePath" /p:TargetFramework=$targetFramework /p:CompatibilityPackageVersion=$packageVersion $csprojPath
|
||||
& $dotnetPath publish -r $rid /p:RestoreSources="https://api.nuget.org/v3/index.json;$localPackageSourcePath" /p:TargetFramework=$targetFramework /p:CompatibilityPackageVersion=$packageVersion /p:RuntimeFrameworkVersion=$runtimeFramework $csprojPath
|
||||
|
||||
$outputPath = -join($PSScriptRoot, "\bin\Debug\", $targetFramework, "\", $rid, "\publish\refs\")
|
||||
|
||||
if (!(Test-Path $outputPath))
|
||||
{
|
||||
Write-Error -Message (-join("There was an error while publishing for framework: ", $targetFramework))
|
||||
Exit;
|
||||
}
|
||||
|
||||
Write-Output (-join("Published succedded for: ", $targetFramework))
|
||||
|
||||
$refPath = -join($repoRoot, "\bin\ref\", $refDirName)
|
||||
|
||||
if (Test-Path $refPath)
|
||||
{
|
||||
Remove-Item $refPath -r -force
|
||||
}
|
||||
|
||||
New-Item $refPath -ItemType directory
|
||||
Copy-Item (-join($outputPath, "*")) $refPath
|
||||
}
|
||||
|
||||
_restoreAndPublish "netcoreapp2.0" $winRID "2.0.0" "netcoreapp20_compat"
|
||||
_restoreAndPublish "netstandard2.0" $winRID "2.0.0" "netstandard20_compat"
|
86
external/corefx/pkg/descriptions.json
vendored
86
external/corefx/pkg/descriptions.json
vendored
@ -64,8 +64,13 @@
|
||||
"CommonTypes": []
|
||||
},
|
||||
{
|
||||
"Name": "Microsoft.NETFramework.Compatibility",
|
||||
"Description": "References a number of .NET Core libraries that are intended to provide support for more APIs that exist on .NET Framework.",
|
||||
"Name": "Microsoft.Windows.Compatibility",
|
||||
"Description": "This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard.",
|
||||
"CommonTypes": []
|
||||
},
|
||||
{
|
||||
"Name": "Microsoft.Windows.Compatibility.Shims",
|
||||
"Description": "This package provides infrastructure services and shouldn't be referenced directly from your code. It provides facade assemblies in order to make the Microsoft.Windows.Compatibility package work across all .NET implementations.",
|
||||
"CommonTypes": []
|
||||
},
|
||||
{
|
||||
@ -163,7 +168,7 @@
|
||||
},
|
||||
{
|
||||
"Name": "Microsoft.XmlSerializer.Generator",
|
||||
"Description": "Provides SGen tool to generate Xml serialization code for types in a specified assembly in order to improve the startup performance of a XmlSerializer when it serializes or deserializes objects of the specified types",
|
||||
"Description": "Like the Xml Serializer Generator (sgen.exe) on desktop, Microsoft.XmlSerializer.Generator NuGet package is the solution for .NET Core and .NET Standard Libraries. It creates an Xml serialization assembly for types contained in an assembly in order to improve the startup performance of Xml serialization when serializing or de-serializing objects of those types using XmlSerializer.",
|
||||
"CommonTypes": []
|
||||
},
|
||||
{
|
||||
@ -334,6 +339,27 @@
|
||||
"System.ComponentModel.DataAnnotations.KeyAttribute"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.ComponentModel.Composition",
|
||||
"Description": "This namespace provides classes that constitute the core of the Managed Extensibility Framework, or MEF.",
|
||||
"CommonTypes": [
|
||||
"System.ComponentModel.Composition.ChangeRejectedException",
|
||||
"System.ComponentModel.Composition.CompositionContractMismatchException",
|
||||
"System.ComponentModel.Composition.CompositionError",
|
||||
"System.ComponentModel.Composition.CompositionException",
|
||||
"System.ComponentModel.Composition.ExportAttribute",
|
||||
"System.ComponentModel.Composition.ImportAttribute",
|
||||
"System.ComponentModel.Composition.ImportCardinalityMismatchException",
|
||||
"System.ComponentModel.Composition.Hosting.AggregateCatalog",
|
||||
"System.ComponentModel.Composition.Hosting.ApplicationCatalog",
|
||||
"System.ComponentModel.Composition.Hosting.AssemblyCatalog",
|
||||
"System.ComponentModel.Composition.Hosting.CompositionContainer",
|
||||
"System.ComponentModel.Composition.Primitives.ComposablePartException",
|
||||
"System.ComponentModel.Composition.Primitives.ExportDefinition",
|
||||
"System.ComponentModel.Composition.Primitives.ImportDefinition",
|
||||
"System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.ComponentModel.EventBasedAsync",
|
||||
"Description": "Provides support classes and delegates for the event-based asynchronous pattern. Developers should prefer the classes in the System.Threading.Tasks package.",
|
||||
@ -558,6 +584,20 @@
|
||||
"System.Diagnostics.FileVersionInfo"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Diagnostics.EventLog",
|
||||
"Description": "Provides the System.Diagnostics.EventLog class, which allows the applications to use the windows event log service.",
|
||||
"CommonTypes": [
|
||||
"System.Diagnostics.EventLog"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Diagnostics.PerformanceCounter",
|
||||
"Description": "Provides the System.Diagnostics.PerformanceCounter class, which allows access to Windows performance counters.",
|
||||
"CommonTypes": [
|
||||
"System.Diagnostics.PerformanceCounter"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Diagnostics.Process",
|
||||
"Description": "Provides the System.Diagnostics.Process class, which allows interaction with local and remote processes.",
|
||||
@ -940,6 +980,15 @@
|
||||
"System.Linq.EnumerableQuery"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Management",
|
||||
"Description": "Provides access to a rich set of management information and management events about the system, devices, and applications instrumented to the Windows Management Instrumentation (WMI) infrastructure.",
|
||||
"CommonTypes": [
|
||||
"System.Management.ManagementClass",
|
||||
"System.Management.ManagementObject",
|
||||
"System.Management.SelectQuery"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Memory",
|
||||
"Description": "Provides types for efficient low-allocation access to memory.",
|
||||
@ -990,6 +1039,13 @@
|
||||
"System.Net.WebResponse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Net.WebSockets.WebSocketProtocol",
|
||||
"Description": "Provides the WebSocketProtocol class, which allows creating a websocket from a connected stream using WebSocketsProtocol.CreateFromConnectedStream.",
|
||||
"CommonTypes": [
|
||||
"System.Net.WebSockets.WebSocketProtocol"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Net.Http.WinHttpHandler",
|
||||
"Description": "Provides a message handler for HttpClient based on the WinHTTP interface of Windows. While similar to HttpClientHandler, it provides developers more granular control over the application's HTTP communication than the HttpClientHandler.",
|
||||
@ -1349,6 +1405,22 @@
|
||||
"System.Uri"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Runtime.Caching",
|
||||
"Description": "Provides classes to use caching facilities.",
|
||||
"CommonTypes": [
|
||||
"System.Runtime.Caching.CacheEntryChangeMonitor",
|
||||
"System.Runtime.Caching.CacheEntryRemovedArguments",
|
||||
"System.Runtime.Caching.CacheEntryUpdateArguments",
|
||||
"System.Runtime.Caching.CacheItem",
|
||||
"System.Runtime.Caching.CacheItemPolicy",
|
||||
"System.Runtime.Caching.ChangeMonitor",
|
||||
"System.Runtime.Caching.FileChangeMonitor",
|
||||
"System.Runtime.Caching.HostFileChangeMonitor",
|
||||
"System.Runtime.Caching.MemoryCache",
|
||||
"System.Runtime.Caching.ObjectCache",
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Runtime.CompilerServices.Unsafe",
|
||||
"Description": "Provides the System.Runtime.CompilerServices.Unsafe class, which provides generic, low-level functionality for manipulating pointers.",
|
||||
@ -1872,6 +1944,14 @@
|
||||
"System.Security.AccessControl.SemaphoreSecurity"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Threading.Channels",
|
||||
"Description": "Provides types for passing data between producers and consumers.",
|
||||
"CommonTypes": [
|
||||
"System.Threading.Channel",
|
||||
"System.Threading.Channel<T>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "System.Threading.ExecutionContext",
|
||||
"Description": "Provides types for managing the information relevant to a logic thread or task of execution.",
|
||||
|
11
external/corefx/pkg/frameworkPackage.targets
vendored
11
external/corefx/pkg/frameworkPackage.targets
vendored
@ -6,7 +6,7 @@
|
||||
<PreventImplementationReference Condition="'$(PackageTargetRuntime)' != ''">true</PreventImplementationReference>
|
||||
|
||||
<NETStandardVersion Condition="'$(NETStandardVersion)' == ''">2.0</NETStandardVersion>
|
||||
<NETStandardPackageRefPath Condition="'$(NETStandardPackageRefPath)' == ''">$(PackagesDir)$(NETStandardPackageId.ToLower())\$(NETStandardPackageVersion)\build\netstandard$(NETStandardVersion)\ref</NETStandardPackageRefPath>
|
||||
<NETStandardPackageRefPath Condition="'$(NETStandardPackageRefPath)' == ''">$(PackagesDir)$(NETStandardLibraryPackageId.ToLower())\$(NETStandardLibraryPackageVersion)\build\netstandard$(NETStandardVersion)\ref</NETStandardPackageRefPath>
|
||||
|
||||
<IncludeReferenceFiles Condition="'$(IncludeReferenceFiles)' == '' AND '$(PackageTargetRuntime)' == ''">true</IncludeReferenceFiles>
|
||||
<IncludeLibFiles Condition="'$(IncludeLibFiles)' == '' AND '$(PackageTargetRuntime)' != ''">true</IncludeLibFiles>
|
||||
@ -30,7 +30,7 @@
|
||||
<Dependency Include="@(_buildRIDWithMetadata->'runtime.%(Identity).$(Id)')" />
|
||||
|
||||
<Dependency Include="Microsoft.NETCore.Platforms">
|
||||
<Version>$(PlatformPackageVersion)</Version>
|
||||
<Version>$(MicrosoftNETCorePlatformsPackageVersion)</Version>
|
||||
<TargetFramework>$(TargetFramework)</TargetFramework>
|
||||
</Dependency>
|
||||
|
||||
@ -165,6 +165,9 @@
|
||||
<ItemGroup>
|
||||
<_NETStandardFile Include="$(NETStandardPackageRefPath)\*.dll" />
|
||||
|
||||
<!-- Suppress errors caused by removing S.CM.C shim from inbox -->
|
||||
<SuppressNETStandardMissingFile Include="System.ComponentModel.Composition" />
|
||||
|
||||
<_NETStandardMissingFile Include="@(_NETStandardFile->'%(FileName)')" Exclude="@(ClosureFile->'%(FileName)')" />
|
||||
<_NETStandardMissingFileError Include="@(_NETStandardMissingFile)" Exclude="@(SuppressNETStandardMissingFile)" />
|
||||
<_NETStandardSuppressedMissingFile Include="@(_NETStandardMissingFile)" Exclude="@(_NETStandardMissingFileError)" />
|
||||
@ -173,8 +176,8 @@
|
||||
<Error Condition="'@(_NETStandardFile)' == ''"
|
||||
Text="Could not locate NETStandard package content at '$(NETStandardPackageRefPath)'" />
|
||||
|
||||
<Message Condition="'@(_NETStandardSuppressedMissingFile)' != ''" Text="Files'@(_NETStandardSuppressedMissingFile)' are part of '$(NETStandardPackageId)' but missing from this package's $(_fileSet) files. This error has been suppressed." />
|
||||
<Error Condition="'@(_NETStandardMissingFileError)' != ''" Text="Files '@(_NETStandardMissingFileError)' are part of '$(NETStandardPackageId)' but missing from this package's $(_fileSet) files." />
|
||||
<Message Condition="'@(_NETStandardSuppressedMissingFile)' != ''" Text="Files'@(_NETStandardSuppressedMissingFile)' are part of '$(NETStandardLibraryPackageId)' but missing from this package's $(_fileSet) files. This error has been suppressed." />
|
||||
<Error Condition="'@(_NETStandardMissingFileError)' != ''" Text="Files '@(_NETStandardMissingFileError)' are part of '$(NETStandardLibraryPackageId)' but missing from this package's $(_fileSet) files." />
|
||||
</Target>
|
||||
|
||||
<Target Name="GetSymbolPackageFiles" BeforeTargets="GetPackageFiles">
|
||||
|
2
external/corefx/publish-packages.sh
vendored
2
external/corefx/publish-packages.sh
vendored
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
$working_tree_root/run.sh publish-packages $*
|
||||
$working_tree_root/run.sh publish-packages "$@"
|
||||
exit $?
|
||||
|
6
external/corefx/run-test.sh
vendored
6
external/corefx/run-test.sh
vendored
@ -119,7 +119,9 @@ case $CPUName in
|
||||
aarch64)
|
||||
__Arch=arm64
|
||||
;;
|
||||
|
||||
amd64)
|
||||
__Arch=x64
|
||||
;;
|
||||
*)
|
||||
echo "Unknown CPU $CPUName detected, configuring as if for x64"
|
||||
__Arch=x64
|
||||
@ -385,7 +387,7 @@ if [ $RunTestSequential -eq 1 ]
|
||||
then
|
||||
maxProcesses=1;
|
||||
else
|
||||
if [ `uname` = "NetBSD" ]; then
|
||||
if [ `uname` = "NetBSD" ] || [ `uname` = "FreeBSD" ]; then
|
||||
maxProcesses=$(($(getconf NPROCESSORS_ONLN)+1))
|
||||
else
|
||||
maxProcesses=$(($(getconf _NPROCESSORS_ONLN)+1))
|
||||
|
7
external/corefx/run.cmd
vendored
7
external/corefx/run.cmd
vendored
@ -21,7 +21,7 @@ if defined VisualStudioVersion goto :Run
|
||||
|
||||
set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
|
||||
if exist %_VSWHERE% (
|
||||
for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools
|
||||
for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools
|
||||
)
|
||||
if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS%
|
||||
if not exist "%_VSCOMNTOOLS%" (
|
||||
@ -37,6 +37,11 @@ call "%_VSCOMNTOOLS%\VsDevCmd.bat"
|
||||
:: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (issue: #69).
|
||||
set Platform=
|
||||
|
||||
:: Disable telemetry, first time experience, and global sdk look for the CLI
|
||||
set DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
set DOTNET_MULTILEVEL_LOOKUP=0
|
||||
|
||||
:: Restore the Tools directory
|
||||
call %~dp0init-tools.cmd
|
||||
if NOT [%ERRORLEVEL%]==[0] exit /b 1
|
||||
|
7
external/corefx/run.sh
vendored
7
external/corefx/run.sh
vendored
@ -2,6 +2,11 @@
|
||||
|
||||
__scriptpath=$(cd "$(dirname "$0")"; pwd -P)
|
||||
|
||||
# Disable telemetry, first time experience, and global sdk look for the CLI
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
export DOTNET_MULTILEVEL_LOOKUP=0
|
||||
|
||||
# Source the init-tools.sh script rather than execute in order to preserve ulimit values in child-processes. https://github.com/dotnet/corefx/issues/19152
|
||||
. $__scriptpath/init-tools.sh
|
||||
|
||||
@ -9,5 +14,5 @@ __toolRuntime=$__scriptpath/Tools
|
||||
__dotnet=$__toolRuntime/dotnetcli/dotnet
|
||||
|
||||
cd $__scriptpath
|
||||
$__dotnet $__toolRuntime/run.exe $__scriptpath/config.json $*
|
||||
$__dotnet $__toolRuntime/run.exe $__scriptpath/config.json "$@"
|
||||
exit $?
|
||||
|
@ -2,4 +2,4 @@
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
[assembly: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAssembly]
|
||||
[assembly: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
|
||||
|
@ -1,3 +1,8 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Collections.Generic;
|
||||
@ -5,14 +10,25 @@ using Microsoft.Xunit.Performance.Api;
|
||||
|
||||
public class PerfHarness
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
public static int Main(string[] args)
|
||||
{
|
||||
using (XunitPerformanceHarness harness = new XunitPerformanceHarness(args))
|
||||
try
|
||||
{
|
||||
foreach(var testName in GetTestAssemblies())
|
||||
using (XunitPerformanceHarness harness = new XunitPerformanceHarness(args))
|
||||
{
|
||||
harness.RunBenchmarks(GetTestAssembly(testName));
|
||||
foreach(var testName in GetTestAssemblies())
|
||||
{
|
||||
harness.RunBenchmarks(GetTestAssembly(testName));
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("[ERROR] Benchmark execution failed.");
|
||||
Console.WriteLine($" {ex.ToString()}");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,4 +43,4 @@ public class PerfHarness
|
||||
{
|
||||
return Directory.EnumerateFiles(".", "*.Performance.Tests.dll");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<PropertyGroup>
|
||||
@ -9,21 +9,19 @@
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<CopyNuGetImplementations>false</CopyNuGetImplementations>
|
||||
<NoWarn>0436</NoWarn>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
<!-- Default configurations to help VS understand the configurations -->
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard1.3-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard1.3-Release|AnyCPU'" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="PerfRunner.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetGroup)' != 'net46'">
|
||||
<Compile Include="AssemblyAttributes.cs" />
|
||||
<Compile Include="$(CommonPath)\System\Diagnostics\CodeAnalysis\ExcludeFromCodeCoverageAssemblyAttribute.cs">
|
||||
<Link>Common\System\Diagnostics\CodeAnalysis\ExcludeFromCodeCoverageAssemblyAttribute.cs</Link>
|
||||
<Compile Include="$(CommonPath)\System\Diagnostics\CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs">
|
||||
<Link>Common\System\Diagnostics\CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -32,4 +30,4 @@
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
</Project>
|
||||
</Project>
|
||||
|
331
external/corefx/src/Common/src/CoreLib/Internal/Runtime/CompilerServices/Unsafe.cs
vendored
Normal file
331
external/corefx/src/Common/src/CoreLib/Internal/Runtime/CompilerServices/Unsafe.cs
vendored
Normal file
@ -0,0 +1,331 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.Versioning;
|
||||
|
||||
#if BIT64
|
||||
using nuint = System.UInt64;
|
||||
using nint = System.Int64;
|
||||
#else
|
||||
using nuint = System.UInt32;
|
||||
using nint = System.Int32;
|
||||
#endif
|
||||
|
||||
//
|
||||
// The implementations of most the methods in this file are provided as intrinsics.
|
||||
// In CoreCLR, the body of the functions are replaced by the EE with unsafe code. See see getILIntrinsicImplementationForUnsafe for details.
|
||||
// In CoreRT, see Internal.IL.Stubs.UnsafeIntrinsics for details.
|
||||
//
|
||||
|
||||
namespace Internal.Runtime.CompilerServices
|
||||
{
|
||||
//
|
||||
// Subsetted clone of System.Runtime.CompilerServices.Unsafe for internal runtime use.
|
||||
// Keep in sync with https://github.com/dotnet/corefx/tree/master/src/System.Runtime.CompilerServices.Unsafe.
|
||||
//
|
||||
|
||||
/// <summary>
|
||||
/// For internal use only. Contains generic, low-level functionality for manipulating pointers.
|
||||
/// </summary>
|
||||
[CLSCompliant(false)]
|
||||
public static unsafe class Unsafe
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns a pointer to the given by-ref parameter.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void* AsPointer<T>(ref T value)
|
||||
{
|
||||
throw new PlatformNotSupportedException();
|
||||
|
||||
// ldarg.0
|
||||
// conv.u
|
||||
// ret
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the size of an object of the given type parameter.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static int SizeOf<T>()
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
#endif
|
||||
throw new PlatformNotSupportedException();
|
||||
|
||||
// sizeof !!0
|
||||
// ret
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Casts the given object to the specified type, performs no dynamic type checking.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static T As<T>(object value) where T : class
|
||||
{
|
||||
throw new PlatformNotSupportedException();
|
||||
|
||||
// ldarg.0
|
||||
// ret
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo"/>.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static ref TTo As<TFrom, TTo>(ref TFrom source)
|
||||
{
|
||||
throw new PlatformNotSupportedException();
|
||||
|
||||
// ldarg.0
|
||||
// ret
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an element offset to the given reference.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static ref T Add<T>(ref T source, int elementOffset)
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
throw new PlatformNotSupportedException();
|
||||
#else
|
||||
return ref AddByteOffset(ref source, (IntPtr)(elementOffset * (nint)SizeOf<T>()));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an element offset to the given reference.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static ref T Add<T>(ref T source, IntPtr elementOffset)
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
throw new PlatformNotSupportedException();
|
||||
#else
|
||||
return ref AddByteOffset(ref source, (IntPtr)((nint)elementOffset * (nint)SizeOf<T>()));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an element offset to the given pointer.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void* Add<T>(void* source, int elementOffset)
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
throw new PlatformNotSupportedException();
|
||||
#else
|
||||
return (byte*)source + (elementOffset * (nint)SizeOf<T>());
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an element offset to the given reference.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
internal static ref T AddByteOffset<T>(ref T source, nuint byteOffset)
|
||||
{
|
||||
return ref AddByteOffset(ref source, (IntPtr)(void*)byteOffset);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the specified references point to the same location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static bool AreSame<T>(ref T left, ref T right)
|
||||
{
|
||||
throw new PlatformNotSupportedException();
|
||||
|
||||
// ldarg.0
|
||||
// ldarg.1
|
||||
// ceq
|
||||
// ret
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a block of memory at the given location with a given initial value
|
||||
/// without assuming architecture dependent alignment of the address.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void InitBlockUnaligned(ref byte startAddress, byte value, uint byteCount)
|
||||
{
|
||||
for (uint i = 0; i < byteCount; i++)
|
||||
AddByteOffset(ref startAddress, i) = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reads a value of type <typeparamref name="T"/> from the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static T ReadUnaligned<T>(void* source)
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
throw new PlatformNotSupportedException();
|
||||
#else
|
||||
return Unsafe.As<byte, T>(ref *(byte*)source);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reads a value of type <typeparamref name="T"/> from the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static T ReadUnaligned<T>(ref byte source)
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
throw new PlatformNotSupportedException();
|
||||
#else
|
||||
return Unsafe.As<byte, T>(ref source);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes a value of type <typeparamref name="T"/> to the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void WriteUnaligned<T>(void* destination, T value)
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
throw new PlatformNotSupportedException();
|
||||
#else
|
||||
Unsafe.As<byte, T>(ref *(byte*)destination) = value;
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes a value of type <typeparamref name="T"/> to the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void WriteUnaligned<T>(ref byte destination, T value)
|
||||
{
|
||||
#if CORECLR
|
||||
typeof(T).ToString(); // Type token used by the actual method body
|
||||
throw new PlatformNotSupportedException();
|
||||
#else
|
||||
Unsafe.As<byte, T>(ref destination) = value;
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an element offset to the given reference.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static ref T AddByteOffset<T>(ref T source, IntPtr byteOffset)
|
||||
{
|
||||
// This method is implemented by the toolchain
|
||||
throw new PlatformNotSupportedException();
|
||||
|
||||
// ldarg.0
|
||||
// ldarg.1
|
||||
// add
|
||||
// ret
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reads a value of type <typeparamref name="T"/> from the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static T Read<T>(void* source)
|
||||
{
|
||||
return Unsafe.As<byte, T>(ref *(byte*)source);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reads a value of type <typeparamref name="T"/> from the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static T Read<T>(ref byte source)
|
||||
{
|
||||
return Unsafe.As<byte, T>(ref source);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes a value of type <typeparamref name="T"/> to the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void Write<T>(void* destination, T value)
|
||||
{
|
||||
Unsafe.As<byte, T>(ref *(byte*)destination) = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes a value of type <typeparamref name="T"/> to the given location.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void Write<T>(ref byte destination, T value)
|
||||
{
|
||||
Unsafe.As<byte, T>(ref destination) = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reinterprets the given location as a reference to a value of type <typeparamref name="T"/>.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static ref T AsRef<T>(void* source)
|
||||
{
|
||||
return ref Unsafe.As<byte, T>(ref *(byte*)source);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines the byte offset from origin to target from the given references.
|
||||
/// </summary>
|
||||
[Intrinsic]
|
||||
[NonVersionable]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static IntPtr ByteOffset<T>(ref T origin, ref T target)
|
||||
{
|
||||
throw new PlatformNotSupportedException();
|
||||
}
|
||||
}
|
||||
}
|
207
external/corefx/src/Common/src/CoreLib/Interop/Unix/Interop.Errors.cs
vendored
Normal file
207
external/corefx/src/Common/src/CoreLib/Interop/Unix/Interop.Errors.cs
vendored
Normal file
@ -0,0 +1,207 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
/// <summary>Common Unix errno error codes.</summary>
|
||||
internal enum Error
|
||||
{
|
||||
// These values were defined in src/Native/System.Native/fxerrno.h
|
||||
//
|
||||
// They compare against values obtained via Interop.Sys.GetLastError() not Marshal.GetLastWin32Error()
|
||||
// which obtains the raw errno that varies between unixes. The strong typing as an enum is meant to
|
||||
// prevent confusing the two. Casting to or from int is suspect. Use GetLastErrorInfo() if you need to
|
||||
// correlate these to the underlying platform values or obtain the corresponding error message.
|
||||
//
|
||||
|
||||
SUCCESS = 0,
|
||||
|
||||
E2BIG = 0x10001, // Argument list too long.
|
||||
EACCES = 0x10002, // Permission denied.
|
||||
EADDRINUSE = 0x10003, // Address in use.
|
||||
EADDRNOTAVAIL = 0x10004, // Address not available.
|
||||
EAFNOSUPPORT = 0x10005, // Address family not supported.
|
||||
EAGAIN = 0x10006, // Resource unavailable, try again (same value as EWOULDBLOCK),
|
||||
EALREADY = 0x10007, // Connection already in progress.
|
||||
EBADF = 0x10008, // Bad file descriptor.
|
||||
EBADMSG = 0x10009, // Bad message.
|
||||
EBUSY = 0x1000A, // Device or resource busy.
|
||||
ECANCELED = 0x1000B, // Operation canceled.
|
||||
ECHILD = 0x1000C, // No child processes.
|
||||
ECONNABORTED = 0x1000D, // Connection aborted.
|
||||
ECONNREFUSED = 0x1000E, // Connection refused.
|
||||
ECONNRESET = 0x1000F, // Connection reset.
|
||||
EDEADLK = 0x10010, // Resource deadlock would occur.
|
||||
EDESTADDRREQ = 0x10011, // Destination address required.
|
||||
EDOM = 0x10012, // Mathematics argument out of domain of function.
|
||||
EDQUOT = 0x10013, // Reserved.
|
||||
EEXIST = 0x10014, // File exists.
|
||||
EFAULT = 0x10015, // Bad address.
|
||||
EFBIG = 0x10016, // File too large.
|
||||
EHOSTUNREACH = 0x10017, // Host is unreachable.
|
||||
EIDRM = 0x10018, // Identifier removed.
|
||||
EILSEQ = 0x10019, // Illegal byte sequence.
|
||||
EINPROGRESS = 0x1001A, // Operation in progress.
|
||||
EINTR = 0x1001B, // Interrupted function.
|
||||
EINVAL = 0x1001C, // Invalid argument.
|
||||
EIO = 0x1001D, // I/O error.
|
||||
EISCONN = 0x1001E, // Socket is connected.
|
||||
EISDIR = 0x1001F, // Is a directory.
|
||||
ELOOP = 0x10020, // Too many levels of symbolic links.
|
||||
EMFILE = 0x10021, // File descriptor value too large.
|
||||
EMLINK = 0x10022, // Too many links.
|
||||
EMSGSIZE = 0x10023, // Message too large.
|
||||
EMULTIHOP = 0x10024, // Reserved.
|
||||
ENAMETOOLONG = 0x10025, // Filename too long.
|
||||
ENETDOWN = 0x10026, // Network is down.
|
||||
ENETRESET = 0x10027, // Connection aborted by network.
|
||||
ENETUNREACH = 0x10028, // Network unreachable.
|
||||
ENFILE = 0x10029, // Too many files open in system.
|
||||
ENOBUFS = 0x1002A, // No buffer space available.
|
||||
ENODEV = 0x1002C, // No such device.
|
||||
ENOENT = 0x1002D, // No such file or directory.
|
||||
ENOEXEC = 0x1002E, // Executable file format error.
|
||||
ENOLCK = 0x1002F, // No locks available.
|
||||
ENOLINK = 0x10030, // Reserved.
|
||||
ENOMEM = 0x10031, // Not enough space.
|
||||
ENOMSG = 0x10032, // No message of the desired type.
|
||||
ENOPROTOOPT = 0x10033, // Protocol not available.
|
||||
ENOSPC = 0x10034, // No space left on device.
|
||||
ENOSYS = 0x10037, // Function not supported.
|
||||
ENOTCONN = 0x10038, // The socket is not connected.
|
||||
ENOTDIR = 0x10039, // Not a directory or a symbolic link to a directory.
|
||||
ENOTEMPTY = 0x1003A, // Directory not empty.
|
||||
ENOTSOCK = 0x1003C, // Not a socket.
|
||||
ENOTSUP = 0x1003D, // Not supported (same value as EOPNOTSUP).
|
||||
ENOTTY = 0x1003E, // Inappropriate I/O control operation.
|
||||
ENXIO = 0x1003F, // No such device or address.
|
||||
EOVERFLOW = 0x10040, // Value too large to be stored in data type.
|
||||
EPERM = 0x10042, // Operation not permitted.
|
||||
EPIPE = 0x10043, // Broken pipe.
|
||||
EPROTO = 0x10044, // Protocol error.
|
||||
EPROTONOSUPPORT = 0x10045, // Protocol not supported.
|
||||
EPROTOTYPE = 0x10046, // Protocol wrong type for socket.
|
||||
ERANGE = 0x10047, // Result too large.
|
||||
EROFS = 0x10048, // Read-only file system.
|
||||
ESPIPE = 0x10049, // Invalid seek.
|
||||
ESRCH = 0x1004A, // No such process.
|
||||
ESTALE = 0x1004B, // Reserved.
|
||||
ETIMEDOUT = 0x1004D, // Connection timed out.
|
||||
ETXTBSY = 0x1004E, // Text file busy.
|
||||
EXDEV = 0x1004F, // Cross-device link.
|
||||
ESOCKTNOSUPPORT = 0x1005E, // Socket type not supported.
|
||||
EPFNOSUPPORT = 0x10060, // Protocol family not supported.
|
||||
ESHUTDOWN = 0x1006C, // Socket shutdown.
|
||||
EHOSTDOWN = 0x10070, // Host is down.
|
||||
ENODATA = 0x10071, // No data available.
|
||||
|
||||
// POSIX permits these to have the same value and we make them always equal so
|
||||
// that CoreFX cannot introduce a dependency on distinguishing between them that
|
||||
// would not work on all platforms.
|
||||
EOPNOTSUPP = ENOTSUP, // Operation not supported on socket.
|
||||
EWOULDBLOCK = EAGAIN, // Operation would block.
|
||||
}
|
||||
|
||||
|
||||
// Represents a platform-agnostic Error and underlying platform-specific errno
|
||||
internal struct ErrorInfo
|
||||
{
|
||||
private Error _error;
|
||||
private int _rawErrno;
|
||||
|
||||
internal ErrorInfo(int errno)
|
||||
{
|
||||
_error = Interop.Sys.ConvertErrorPlatformToPal(errno);
|
||||
_rawErrno = errno;
|
||||
}
|
||||
|
||||
internal ErrorInfo(Error error)
|
||||
{
|
||||
_error = error;
|
||||
_rawErrno = -1;
|
||||
}
|
||||
|
||||
internal Error Error
|
||||
{
|
||||
get { return _error; }
|
||||
}
|
||||
|
||||
internal int RawErrno
|
||||
{
|
||||
get { return _rawErrno == -1 ? (_rawErrno = Interop.Sys.ConvertErrorPalToPlatform(_error)) : _rawErrno; }
|
||||
}
|
||||
|
||||
internal string GetErrorMessage()
|
||||
{
|
||||
return Interop.Sys.StrError(RawErrno);
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format(
|
||||
"RawErrno: {0} Error: {1} GetErrorMessage: {2}", // No localization required; text is member names used for debugging purposes
|
||||
RawErrno, Error, GetErrorMessage());
|
||||
}
|
||||
}
|
||||
|
||||
internal partial class Sys
|
||||
{
|
||||
internal static Error GetLastError()
|
||||
{
|
||||
return ConvertErrorPlatformToPal(Marshal.GetLastWin32Error());
|
||||
}
|
||||
|
||||
internal static ErrorInfo GetLastErrorInfo()
|
||||
{
|
||||
return new ErrorInfo(Marshal.GetLastWin32Error());
|
||||
}
|
||||
|
||||
internal static unsafe string StrError(int platformErrno)
|
||||
{
|
||||
int maxBufferLength = 1024; // should be long enough for most any UNIX error
|
||||
byte* buffer = stackalloc byte[maxBufferLength];
|
||||
byte* message = StrErrorR(platformErrno, buffer, maxBufferLength);
|
||||
|
||||
if (message == null)
|
||||
{
|
||||
// This means the buffer was not large enough, but still contains
|
||||
// as much of the error message as possible and is guaranteed to
|
||||
// be null-terminated. We're not currently resizing/retrying because
|
||||
// maxBufferLength is large enough in practice, but we could do
|
||||
// so here in the future if necessary.
|
||||
message = buffer;
|
||||
}
|
||||
|
||||
return Marshal.PtrToStringAnsi((IntPtr)message);
|
||||
}
|
||||
|
||||
[DllImport(Libraries.SystemNative, EntryPoint = "SystemNative_ConvertErrorPlatformToPal")]
|
||||
internal static extern Error ConvertErrorPlatformToPal(int platformErrno);
|
||||
|
||||
[DllImport(Libraries.SystemNative, EntryPoint = "SystemNative_ConvertErrorPalToPlatform")]
|
||||
internal static extern int ConvertErrorPalToPlatform(Error error);
|
||||
|
||||
[DllImport(Libraries.SystemNative, EntryPoint = "SystemNative_StrErrorR")]
|
||||
private static unsafe extern byte* StrErrorR(int platformErrno, byte* buffer, int bufferSize);
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: extension method can't be nested inside Interop class.
|
||||
internal static class InteropErrorExtensions
|
||||
{
|
||||
// Intended usage is e.g. Interop.Error.EFAIL.Info() for brevity
|
||||
// vs. new Interop.ErrorInfo(Interop.Error.EFAIL) for synthesizing
|
||||
// errors. Errors originated from the system should be obtained
|
||||
// via GetLastErrorInfo(), not GetLastError().Info() as that will
|
||||
// convert twice, which is not only inefficient but also lossy if
|
||||
// we ever encounter a raw errno that no equivalent in the Error
|
||||
// enum.
|
||||
public static Interop.ErrorInfo Info(this Interop.Error error)
|
||||
{
|
||||
return new Interop.ErrorInfo(error);
|
||||
}
|
||||
}
|
172
external/corefx/src/Common/src/CoreLib/Interop/Unix/Interop.IOErrors.cs
vendored
Normal file
172
external/corefx/src/Common/src/CoreLib/Interop/Unix/Interop.IOErrors.cs
vendored
Normal file
@ -0,0 +1,172 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.Win32.SafeHandles;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
private static void ThrowExceptionForIoErrno(ErrorInfo errorInfo, string path, bool isDirectory, Func<ErrorInfo, ErrorInfo> errorRewriter)
|
||||
{
|
||||
Debug.Assert(errorInfo.Error != Error.SUCCESS);
|
||||
Debug.Assert(errorInfo.Error != Error.EINTR, "EINTR errors should be handled by the native shim and never bubble up to managed code");
|
||||
|
||||
if (errorRewriter != null)
|
||||
{
|
||||
errorInfo = errorRewriter(errorInfo);
|
||||
}
|
||||
|
||||
throw Interop.GetExceptionForIoErrno(errorInfo, path, isDirectory);
|
||||
}
|
||||
|
||||
internal static void CheckIo(Error error, string path = null, bool isDirectory = false, Func<ErrorInfo, ErrorInfo> errorRewriter = null)
|
||||
{
|
||||
if (error != Interop.Error.SUCCESS)
|
||||
{
|
||||
ThrowExceptionForIoErrno(error.Info(), path, isDirectory, errorRewriter);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validates the result of system call that returns greater than or equal to 0 on success
|
||||
/// and less than 0 on failure, with errno set to the error code.
|
||||
/// If the system call failed for any reason, an exception is thrown. Otherwise, the system call succeeded.
|
||||
/// </summary>
|
||||
/// <param name="result">The result of the system call.</param>
|
||||
/// <param name="path">The path with which this error is associated. This may be null.</param>
|
||||
/// <param name="isDirectory">true if the <paramref name="path"/> is known to be a directory; otherwise, false.</param>
|
||||
/// <param name="errorRewriter">Optional function to change an error code prior to processing it.</param>
|
||||
/// <returns>
|
||||
/// On success, returns the non-negative result long that was validated.
|
||||
/// </returns>
|
||||
internal static long CheckIo(long result, string path = null, bool isDirectory = false, Func<ErrorInfo, ErrorInfo> errorRewriter = null)
|
||||
{
|
||||
if (result < 0)
|
||||
{
|
||||
ThrowExceptionForIoErrno(Sys.GetLastErrorInfo(), path, isDirectory, errorRewriter);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validates the result of system call that returns greater than or equal to 0 on success
|
||||
/// and less than 0 on failure, with errno set to the error code.
|
||||
/// If the system call failed for any reason, an exception is thrown. Otherwise, the system call succeeded.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// On success, returns the non-negative result int that was validated.
|
||||
/// </returns>
|
||||
internal static int CheckIo(int result, string path = null, bool isDirectory = false, Func<ErrorInfo, ErrorInfo> errorRewriter = null)
|
||||
{
|
||||
CheckIo((long)result, path, isDirectory, errorRewriter);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validates the result of system call that returns greater than or equal to 0 on success
|
||||
/// and less than 0 on failure, with errno set to the error code.
|
||||
/// If the system call failed for any reason, an exception is thrown. Otherwise, the system call succeeded.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// On success, returns the non-negative result IntPtr that was validated.
|
||||
/// </returns>
|
||||
internal static IntPtr CheckIo(IntPtr result, string path = null, bool isDirectory = false, Func<ErrorInfo, ErrorInfo> errorRewriter = null)
|
||||
{
|
||||
CheckIo((long)result, path, isDirectory, errorRewriter);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validates the result of system call that returns greater than or equal to 0 on success
|
||||
/// and less than 0 on failure, with errno set to the error code.
|
||||
/// If the system call failed for any reason, an exception is thrown. Otherwise, the system call succeeded.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// On success, returns the valid SafeFileHandle that was validated.
|
||||
/// </returns>
|
||||
internal static TSafeHandle CheckIo<TSafeHandle>(TSafeHandle handle, string path = null, bool isDirectory = false, Func<ErrorInfo, ErrorInfo> errorRewriter = null)
|
||||
where TSafeHandle : SafeHandle
|
||||
{
|
||||
if (handle.IsInvalid)
|
||||
{
|
||||
ThrowExceptionForIoErrno(Sys.GetLastErrorInfo(), path, isDirectory, errorRewriter);
|
||||
}
|
||||
|
||||
return handle;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets an Exception to represent the supplied error info.
|
||||
/// </summary>
|
||||
/// <param name="error">The error info</param>
|
||||
/// <param name="path">The path with which this error is associated. This may be null.</param>
|
||||
/// <param name="isDirectory">true if the <paramref name="path"/> is known to be a directory; otherwise, false.</param>
|
||||
/// <returns></returns>
|
||||
internal static Exception GetExceptionForIoErrno(ErrorInfo errorInfo, string path = null, bool isDirectory = false)
|
||||
{
|
||||
// Translate the errno into a known set of exception types. For cases where multiple errnos map
|
||||
// to the same exception type, include an inner exception with the details.
|
||||
switch (errorInfo.Error)
|
||||
{
|
||||
case Error.ENOENT:
|
||||
if (isDirectory)
|
||||
{
|
||||
return !string.IsNullOrEmpty(path) ?
|
||||
new DirectoryNotFoundException(SR.Format(SR.IO_PathNotFound_Path, path)) :
|
||||
new DirectoryNotFoundException(SR.IO_PathNotFound_NoPathName);
|
||||
}
|
||||
else
|
||||
{
|
||||
return !string.IsNullOrEmpty(path) ?
|
||||
new FileNotFoundException(SR.Format(SR.IO_FileNotFound_FileName, path), path) :
|
||||
new FileNotFoundException(SR.IO_FileNotFound);
|
||||
}
|
||||
|
||||
case Error.EACCES:
|
||||
case Error.EBADF:
|
||||
case Error.EPERM:
|
||||
Exception inner = GetIOException(errorInfo);
|
||||
return !string.IsNullOrEmpty(path) ?
|
||||
new UnauthorizedAccessException(SR.Format(SR.UnauthorizedAccess_IODenied_Path, path), inner) :
|
||||
new UnauthorizedAccessException(SR.UnauthorizedAccess_IODenied_NoPathName, inner);
|
||||
|
||||
case Error.ENAMETOOLONG:
|
||||
return !string.IsNullOrEmpty(path) ?
|
||||
new PathTooLongException(SR.Format(SR.IO_PathTooLong_Path, path)) :
|
||||
new PathTooLongException(SR.IO_PathTooLong);
|
||||
|
||||
case Error.EWOULDBLOCK:
|
||||
return !string.IsNullOrEmpty(path) ?
|
||||
new IOException(SR.Format(SR.IO_SharingViolation_File, path), errorInfo.RawErrno) :
|
||||
new IOException(SR.IO_SharingViolation_NoFileName, errorInfo.RawErrno);
|
||||
|
||||
case Error.ECANCELED:
|
||||
return new OperationCanceledException();
|
||||
|
||||
case Error.EFBIG:
|
||||
return new ArgumentOutOfRangeException("value", SR.ArgumentOutOfRange_FileLengthTooBig);
|
||||
|
||||
case Error.EEXIST:
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
return new IOException(SR.Format(SR.IO_FileExists_Name, path), errorInfo.RawErrno);
|
||||
}
|
||||
goto default;
|
||||
|
||||
default:
|
||||
return GetIOException(errorInfo);
|
||||
}
|
||||
}
|
||||
|
||||
internal static Exception GetIOException(Interop.ErrorInfo errorInfo)
|
||||
{
|
||||
return new IOException(errorInfo.GetErrorMessage(), errorInfo.RawErrno);
|
||||
}
|
||||
}
|
12
external/corefx/src/Common/src/CoreLib/Interop/Unix/Interop.Libraries.cs
vendored
Normal file
12
external/corefx/src/Common/src/CoreLib/Interop/Unix/Interop.Libraries.cs
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class Libraries
|
||||
{
|
||||
internal const string GlobalizationInterop = "System.Globalization.Native";
|
||||
internal const string SystemNative = "System.Native";
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
internal delegate void EnumCalendarInfoCallback(
|
||||
[MarshalAs(UnmanagedType.LPWStr)] string calendarString,
|
||||
IntPtr context);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetCalendars")]
|
||||
internal static extern int GetCalendars(string localeName, CalendarId[] calendars, int calendarsCapacity);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetCalendarInfo")]
|
||||
internal static extern ResultCode GetCalendarInfo(string localeName, CalendarId calendarId, CalendarDataType calendarDataType, [Out] StringBuilder result, int resultCapacity);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_EnumCalendarInfo")]
|
||||
internal static extern bool EnumCalendarInfo(EnumCalendarInfoCallback callback, string localeName, CalendarId calendarId, CalendarDataType calendarDataType, IntPtr context);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, EntryPoint = "GlobalizationNative_GetLatestJapaneseEra")]
|
||||
internal static extern int GetLatestJapaneseEra();
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, EntryPoint = "GlobalizationNative_GetJapaneseEraStartDate")]
|
||||
internal static extern bool GetJapaneseEraStartDate(int era, out int startYear, out int startMonth, out int startDay);
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
using System.Text;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_ChangeCase")]
|
||||
internal unsafe static extern void ChangeCase(char* src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bToUpper);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_ChangeCaseInvariant")]
|
||||
internal unsafe static extern void ChangeCaseInvariant(char* src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bToUpper);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_ChangeCaseTurkish")]
|
||||
internal unsafe static extern void ChangeCaseTurkish(char* src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bToUpper);
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetSortHandle")]
|
||||
internal unsafe static extern ResultCode GetSortHandle(byte[] localeName, out SafeSortHandle sortHandle);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_CloseSortHandle")]
|
||||
internal unsafe static extern void CloseSortHandle(IntPtr handle);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_CompareString")]
|
||||
internal unsafe static extern int CompareString(SafeSortHandle sortHandle, char* lpStr1, int cwStr1Len, char* lpStr2, int cwStr2Len, CompareOptions options);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_IndexOf")]
|
||||
internal unsafe static extern int IndexOf(SafeSortHandle sortHandle, string target, int cwTargetLength, char* pSource, int cwSourceLength, CompareOptions options, int* matchLengthPtr);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_LastIndexOf")]
|
||||
internal unsafe static extern int LastIndexOf(SafeSortHandle sortHandle, string target, int cwTargetLength, char* pSource, int cwSourceLength, CompareOptions options);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_IndexOfOrdinalIgnoreCase")]
|
||||
internal unsafe static extern int IndexOfOrdinalIgnoreCase(string target, int cwTargetLength, char* pSource, int cwSourceLength, bool findLast);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_StartsWith")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool StartsWith(SafeSortHandle sortHandle, string target, int cwTargetLength, string source, int cwSourceLength, CompareOptions options);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_EndsWith")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool EndsWith(SafeSortHandle sortHandle, string target, int cwTargetLength, string source, int cwSourceLength, CompareOptions options);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetSortKey")]
|
||||
internal unsafe static extern int GetSortKey(SafeSortHandle sortHandle, string str, int strLength, byte* sortKey, int sortKeyLength, CompareOptions options);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_CompareStringOrdinalIgnoreCase")]
|
||||
internal unsafe static extern int CompareStringOrdinalIgnoreCase(char* lpStr1, int cwStr1Len, char* lpStr2, int cwStr2Len);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, EntryPoint = "GlobalizationNative_GetSortVersion")]
|
||||
internal static extern int GetSortVersion(SafeSortHandle sortHandle);
|
||||
|
||||
internal class SafeSortHandle : SafeHandle
|
||||
{
|
||||
private SafeSortHandle() :
|
||||
base(IntPtr.Zero, true)
|
||||
{
|
||||
}
|
||||
|
||||
public override bool IsInvalid
|
||||
{
|
||||
get { return handle == IntPtr.Zero; }
|
||||
}
|
||||
|
||||
protected override bool ReleaseHandle()
|
||||
{
|
||||
CloseSortHandle(handle);
|
||||
SetHandle(IntPtr.Zero);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
16
external/corefx/src/Common/src/CoreLib/Interop/Unix/System.Globalization.Native/Interop.ICU.cs
vendored
Normal file
16
external/corefx/src/Common/src/CoreLib/Interop/Unix/System.Globalization.Native/Interop.ICU.cs
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
[DllImport(Libraries.GlobalizationInterop, EntryPoint = "GlobalizationNative_LoadICU")]
|
||||
internal static extern int LoadICU();
|
||||
}
|
||||
}
|
21
external/corefx/src/Common/src/CoreLib/Interop/Unix/System.Globalization.Native/Interop.Idna.cs
vendored
Normal file
21
external/corefx/src/Common/src/CoreLib/Interop/Unix/System.Globalization.Native/Interop.Idna.cs
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
internal const int AllowUnassigned = 0x1;
|
||||
internal const int UseStd3AsciiRules = 0x2;
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_ToAscii")]
|
||||
internal static unsafe extern int ToAscii(uint flags, char* src, int srcLen, char* dstBuffer, int dstBufferCapacity);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_ToUnicode")]
|
||||
internal static unsafe extern int ToUnicode(uint flags, char* src, int srcLen, char* dstBuffer, int dstBufferCapacity);
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetLocaleName")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool GetLocaleName(string localeName, [Out] StringBuilder value, int valueLength);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetLocaleInfoString")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool GetLocaleInfoString(string localeName, uint localeStringData, [Out] StringBuilder value, int valueLength);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetDefaultLocaleName")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool GetDefaultLocaleName([Out] StringBuilder value, int valueLength);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetLocaleTimeFormat")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool GetLocaleTimeFormat(string localeName, bool shortFormat, [Out] StringBuilder value, int valueLength);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetLocaleInfoInt")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool GetLocaleInfoInt(string localeName, uint localeNumberData, ref int value);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetLocaleInfoGroupingSizes")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal unsafe static extern bool GetLocaleInfoGroupingSizes(string localeName, uint localeGroupingData, ref int primaryGroupSize, ref int secondaryGroupSize);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_GetLocales")]
|
||||
internal unsafe static extern int GetLocales([Out] Char[] value, int valueLength);
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_IsNormalized")]
|
||||
internal static extern int IsNormalized(NormalizationForm normalizationForm, string src, int srcLen);
|
||||
|
||||
[DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_NormalizeString")]
|
||||
internal static extern int NormalizeString(NormalizationForm normalizationForm, string src, int srcLen, [Out] char[] dstBuffer, int dstBufferCapacity);
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
internal static partial class Interop
|
||||
{
|
||||
internal static partial class GlobalizationInterop
|
||||
{
|
||||
// needs to be kept in sync with ResultCode in System.Globalization.Native
|
||||
internal enum ResultCode
|
||||
{
|
||||
Success = 0,
|
||||
UnknownError = 1,
|
||||
InsufficentBuffer = 2,
|
||||
OutOfMemory = 3
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user