diff --git a/Makefile b/Makefile
index ef6d107..6cf6e73 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
CONFIGURATION := Debug
-NUNIT_CONSOLE := packages/NUnit.ConsoleRunner.3.9.0/tools/nunit3-console.exe
+NUNIT_CONSOLE := packages/nunit.consolerunner/3.9.0/tools/nunit3-console.exe
OS := $(shell uname)
RUNTIME := mono --debug=casts
V ?= 0
@@ -23,7 +23,7 @@ define RUN_NUNIT_TEST
$(RUNTIME) \
$(NUNIT_CONSOLE) $(NUNIT_EXTRA) $(1) \
$(if $(RUN),-run:$(RUN)) \
- --result="TestResult-$(basename $(notdir $(1))).xml;format=nunit2" \
+ --result="TestResult-$(basename $(notdir $(1))).xml" \
-output=bin/Test$(CONFIGURATION)/TestOutput-$(basename $(notdir $(1))).txt \
|| true ; \
if [ -f "bin/Test$(CONFIGURATION)/TestOutput-$(basename $(notdir $(1))).txt" ] ; then \
diff --git a/NuGet.config b/NuGet.config
new file mode 100644
index 0000000..a877b8c
--- /dev/null
+++ b/NuGet.config
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Xamarin.Android.Tools.AndroidSdk/AndroidSdkInfo.cs b/src/Xamarin.Android.Tools.AndroidSdk/AndroidSdkInfo.cs
index 4cf0ee4..c12d7a4 100644
--- a/src/Xamarin.Android.Tools.AndroidSdk/AndroidSdkInfo.cs
+++ b/src/Xamarin.Android.Tools.AndroidSdk/AndroidSdkInfo.cs
@@ -45,17 +45,17 @@ public IEnumerable GetBuildToolsPaths ()
{
var buildTools = Path.Combine (AndroidSdkPath, "build-tools");
if (Directory.Exists (buildTools)) {
+ var sorted = SortedSubdirectoriesByVersion (buildTools);
+
+ foreach (var d in sorted)
+ yield return d;
+
var preview = Directory.EnumerateDirectories (buildTools)
.Where(x => TryParseVersion (Path.GetFileName (x)) == null)
.Select(x => x);
foreach (var d in preview)
yield return d;
-
- var sorted = SortedSubdirectoriesByVersion (buildTools);
-
- foreach (var d in sorted)
- yield return d;
}
var ptPath = Path.Combine (AndroidSdkPath, "platform-tools");
if (Directory.Exists (ptPath))
diff --git a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs
index 5b31f3b..262a292 100644
--- a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs
+++ b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs
@@ -448,5 +448,30 @@ string UnixConfigPath {
return Path.Combine (UnixConfigDirOverridePath, "monodroid-config.xml");
}
}
+
+ [Test]
+ public void GetBuildToolsPaths_StableVersionsFirst ()
+ {
+ CreateSdks (out string root, out string jdk, out string ndk, out string sdk);
+ CreateFauxAndroidSdkDirectory (sdk, "27.0.0-rc4");
+
+ var logs = new StringWriter ();
+ Action logger = (level, message) => {
+ logs.WriteLine ($"[{level}] {message}");
+ };
+
+ try {
+ var info = new AndroidSdkInfo (logger, androidSdkPath: sdk, androidNdkPath: ndk, javaSdkPath: jdk);
+
+ var buildToolsPaths = info.GetBuildToolsPaths ().ToList ();
+ Assert.AreEqual (3, buildToolsPaths.Count);
+ Assert.AreEqual (Path.Combine (sdk, "build-tools", "26.0.0"), buildToolsPaths [0]);
+ Assert.AreEqual (Path.Combine (sdk, "build-tools", "27.0.0-rc4"), buildToolsPaths [1]);
+ Assert.AreEqual (Path.Combine (sdk, "platform-tools"), buildToolsPaths [2]);
+ }
+ finally {
+ Directory.Delete (root, recursive: true);
+ }
+ }
}
}