Add -f netstandard1.3 to the dotnet build command used on Travis.
This has been necessary since PR #2024, and the build has been silently failing
all this time.
Move Travis Swift, .NET, and C++ macOS tests from Xcode 9 to Xcode 10.1.
Move Travis Linux Swift tests from Trusty to Xenial and to Swift 4.2.1.
Remove the dirname call when setting JAVA_HOME, it seems to be incorrect.
Print the JAVA_HOME that Travis ends up with.
Moving to Xcode 10.1 / Swift 4.2 exposes the issue discussed in #2372
so this cset will fail automated tests without the relevant fixes.
Switch to .NET Core SDK 1.1.4 for the Travis macOS tests. This is
the LTS release at the moment.
Issue #2078 is starting to look like a crash (SIGILL) inside the dotnet
runtime, so this upgrade may help with that.
Remove some functions that are no longer used, and update the
rest to Swift 4's String API. lastIndexOf changes to lastIndex(of: ),
matching the standard library naming conventions, and returns a
String.Index? instead of an Int.
Add an implementation of Substring.hasPrefix for Linux; this
is in the Apple standard library but not the Linux one.
https://bugs.swift.org/browse/SR-5627
Add unit tests for StringExtension.
Bump the Swift download for the Travis Linux tests from 4.0
to 4.0.2. There is a bug in Substring.range(of:) in 4.0.0
(https://bugs.swift.org/browse/SR-5663) that we need to avoid.
These are the unit tests that are written in Swift, not the more
in-depth runtime-testsuite tests (we were always running those).
I don't know why JAVA_HOME isn't set during run-tests-swift.sh, but it
isn't. Set it, since runtime/Swift/boot.py expects it as part of the
parser generation.
This avoids hitting the Microsoft server every time. The download isn't
super-reliable, so this should help with build reliability.
This extends the cache timeout, because the package is large and the
upload was timing out.
This uses Travis's new(ish) Ubuntu Trusty image, and changes the
version number of the Swift binaries that we download.
We now install clang-3.6. This is not the default on Trusty, but
it's required by the Swift 4.0 toolchain.
This also removes the lines to upgrade libicu-dev and sqlite3. These
are sufficiently up-to-date in the Trusty image.
We require Xcode 9 for the Swift target, and the C++ and .NET tests
shouldn't care either way.
We no longer need to install cmake: this is already in the Travis
Xcode 9.0 image (and it barfs if we try to install it again).
We no longer need the rvm bug workarounds; a newer version of rvm is
in the Xcode 9.0 image so this is no longer a problem.
The openssl package is already installed and up-to-date now, so there is
no need to install that.
These changes mean that we don't need before-install-osx-cpp.sh
or before-install-os-swift.sh at all, and before-install-osx-dotnet.sh
gets a bit shorter. .travis.yml gets a small change to handle the
fact that some platform / target combos don't need before-install any more.