From 8ea68fdd64c4d6244b30464b16f6707c6782d97f Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Fri, 19 Jan 2018 18:10:54 -0500 Subject: [PATCH] [build] Cursory JDK 9 support We have a VSTS+macOS build machine which has JDK 9 as the default JDK, thus causing *all* xamarin-android builds to fail, as `gradlew` and JDK 9 don't *directly* mix: Executing: ./gradlew assembleDebug --stacktrace ... org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':library'. ... Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener. ... Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema ... Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema When using JDK 9, `gradlew` fails because *something* within it attempts to use the deprecated type `javax.xml.bind.annotation.XmlSchema`, and JDK 9 doesn't provide deprecated modules in the default `$CLASSPATH`. Knowing that the VSTS machine *also* has JDK 8 installed, we've tried to "filter out" JDK 9 so that it wouldn't be used; see e.g. a3c43584. Unfortunately that doesn't work, because on macOS the default JDK used is [always the JDK with the highest version number][macOS-jdk], and this can't be easily changed system-wide because changing this behavior requires "removing" a `Info.plist` file to prevent the JDK from being "seen" by `/usr/bin/java`: [macOS-jdk]: https://stackoverflow.com/a/44169445 # Don't use JDK 9 by default on macOS: $ cd /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents $ mv Info.plist Info.plist.disabled (Renaming `Info.plist.disabled` to `Info.plist` will restore JDK 9 as the default JDK on the machine.) A "proper" fix would presumably involve using and exporting `$JAVA_HOME` *everywhere*, which isn't currently the case. [This is something that *should* be explored.][xa-1213] [xa-1213]: https://github.com/xamarin/xamarin-android/issues/1213 In the meantime, a question: *Can* we build with JDK 9? *Is it even possible in the first place*? Turns out, *yes*, it *is* possible. The above `gradlew` error can be fixed by providing the (new-in-JDK9) `--add-modules` option, so that the `java.xml.bind` module is accessible: $ ANDROID_HOME=... JAVA_OPTS="--add-modules java.xml.bind" ./gradlew assembleDebug --stacktrace --no-daemon # ...works! Unfortunately, *other* parts xamarin-android get in the way, e.g. the `` task doesn't correctly parse the version number out of `java -version`, and JDK 9 `javac` requires `-source` and `-target` when `-bootclasspath` is used. Update the build system and tests so that things *can* be built under JDK 9. Additionally, cleanup the internal build system a bit: instead of having `javac` and `jar` calls strewn throughout *7* different projects -- all of which would need to be updated to provide usable `javac -source` and `javac -target` values (JDK 9 doesn't support `-target 1.6` anymore!), introduce `build-tools\scripts\Jar.targets` and the new `BuildTestJarFile` target. This takes all `@(TestJarEntry)` files, compiles them with `javac`, and `jar`s the compiled files into `%(TestJarEntry.OutputFile)`. **Note**: This does ***NOT*** mean that building and/or using JDK 9 will be commercially supported in *any* way. (It might not even work!) --- build-tools/scripts/Jar.targets | 43 +++++++++++ external/mono | 2 +- .../Tasks/AdjustJavacVersionArguments.cs | 44 ++++------- .../Tasks/ResolveSdksTask.cs | 22 +++++- .../Xamarin.Android.Bindings.targets | 2 + .../Xamarin.Android.Common.targets | 14 ++-- ....FixJavaAbstractMethod-APIv1Binding.csproj | 8 +- ...FixJavaAbstractMethod-APIv1Binding.targets | 10 +-- ....FixJavaAbstractMethod-APIv2Binding.csproj | 8 +- ...FixJavaAbstractMethod-APIv2Binding.targets | 10 +-- ...droid.LibraryProjectZip-LibBinding.targets | 5 +- .../Xamarin.Android.McwGen-Tests.csproj | 75 +++++++++++++------ .../Xamarin.Android.McwGen-Tests.targets | 15 ++-- ...in.Android.BindingResolveImportLib1.csproj | 28 +++---- ...n.Android.BindingResolveImportLib1.targets | 23 ++++++ ...in.Android.BindingResolveImportLib2.csproj | 29 ++----- ...n.Android.BindingResolveImportLib2.targets | 16 ++++ ...in.Android.BindingResolveImportLib3.csproj | 28 +++---- ...n.Android.BindingResolveImportLib3.targets | 23 ++++++ ...in.Android.BindingResolveImportLib4.csproj | 29 ++----- ...n.Android.BindingResolveImportLib4.targets | 16 ++++ 21 files changed, 272 insertions(+), 178 deletions(-) create mode 100644 build-tools/scripts/Jar.targets create mode 100644 tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.targets create mode 100644 tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.targets create mode 100644 tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.targets create mode 100644 tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.targets diff --git a/build-tools/scripts/Jar.targets b/build-tools/scripts/Jar.targets new file mode 100644 index 00000000000..d381a96a2c6 --- /dev/null +++ b/build-tools/scripts/Jar.targets @@ -0,0 +1,43 @@ + + + + + <_JavacSourceVersion Condition="$(_JdkVersion.StartsWith ('9'))">1.8 + <_JavacSourceVersion Condition=" '$(_JavacSourceVersion)' == '' ">1.5 + <_JavacTargetVersion Condition="$(_JdkVersion.StartsWith ('9'))">1.8 + <_JavacTargetVersion Condition=" '$(_JavacTargetVersion)' == '' ">1.6 + + + + + <_JavacSource + Include="@(TestJarEntry)" + /> + + + <_Javac>"$(JavaCPath)" + <_Jar>"$(JarPath)" + <_Targets>-source $(_JavacSourceVersion) -target $(_JavacTargetVersion) + <_DestDir>$(IntermediateOutputPath)__CreateTestJarFile-bin + <_AndroidJar>-cp "$(AndroidSdkDirectory)\platforms\android-$(_AndroidApiLevelName)\android.jar" + + + + + + + + + + + diff --git a/external/mono b/external/mono index 9c9140bb726..ab882c0c3de 160000 --- a/external/mono +++ b/external/mono @@ -1 +1 @@ -Subproject commit 9c9140bb726579b3ec67bbf98808decd5f97a8a8 +Subproject commit ab882c0c3decfaa2e2d71b85404ce35328a2a99d diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/AdjustJavacVersionArguments.cs b/src/Xamarin.Android.Build.Tasks/Tasks/AdjustJavacVersionArguments.cs index 758bc338973..f0b385a39fd 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/AdjustJavacVersionArguments.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/AdjustJavacVersionArguments.cs @@ -7,10 +7,13 @@ namespace Xamarin.Android.Tasks { - public class AdjustJavacVersionArguments : ToolTask + public class AdjustJavacVersionArguments : Task { [Required] - public string ToolPath { get; set; } + public string JdkVersion { get; set; } + + [Required] + public string DefaultJdkVersion { get; set; } public bool EnableProguard { get; set; } @@ -24,18 +27,18 @@ public class AdjustJavacVersionArguments : ToolTask [Output] public string SourceVersion { get; set; } - protected override string ToolName { - get { return OS.IsWindows ? "javac.exe" : "javac"; } - } - public override bool Execute () { - Log.LogDebugMessage ("ToolPath: {0}", ToolPath); - Log.LogDebugMessage ("ToolExe: {0}", ToolExe); + Log.LogDebugMessage ($"{nameof (DefaultJdkVersion)}: {DefaultJdkVersion}"); Log.LogDebugMessage ("EnableProguard: {0}", EnableProguard); Log.LogDebugMessage ("EnableMultiDex: {0}", EnableMultiDex); + Log.LogDebugMessage ($"{nameof (JdkVersion)}: {JdkVersion}"); Log.LogDebugMessage ("SkipJavacVersionCheck: {0}", SkipJavacVersionCheck); + if (JdkVersion.StartsWith ("9", StringComparison.OrdinalIgnoreCase)) { + TargetVersion = SourceVersion = DefaultJdkVersion; + } + if (SkipJavacVersionCheck) return true; @@ -43,34 +46,13 @@ public override bool Execute () if (!EnableProguard && !EnableMultiDex) return true; - var psi = new ProcessStartInfo (Path.Combine (ToolPath, ToolExe ?? ToolName), "-version") { - RedirectStandardOutput = true, - RedirectStandardError = true, - UseShellExecute = false, - CreateNoWindow = true, - WindowStyle = ProcessWindowStyle.Hidden, - }; - var proc = Process.Start (psi); - proc.WaitForExit (); - var line = proc.StandardError.ReadLine (); - if (!line.StartsWith ("javac ")) - // otherwise ignore. - return true; - - var version = line.Substring (6); - - if (version.StartsWith ("1.8")) { + if (JdkVersion.StartsWith ("1.8", StringComparison.OrdinalIgnoreCase)) { TargetVersion = SourceVersion = "1.7"; Log.LogDebugMessage ("Javac TargetVersion adjusted to: {0}", TargetVersion); Log.LogDebugMessage ("Javac SourceVersion adjusted to: {0}", SourceVersion); } - return true; - } - - protected override string GenerateFullPathToTool () - { - return Path.Combine (ToolPath, ToolExe); + return !Log.HasLoggedErrors; } } } diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs b/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs index ff3a4178409..fe57098b4a7 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs @@ -116,6 +116,12 @@ public class ResolveSdks : Task [Output] public bool AndroidUseApkSigner { get; set; } + [Output] + public string JdkVersion { get; set; } + + [Output] + public string MinimumRequiredJdkVersion { get; set; } + static bool IsWindows = Path.DirectorySeparatorChar == '\\'; static readonly string ZipAlign = IsWindows ? "zipalign.exe" : "zipalign"; static readonly string Aapt = IsWindows ? "aapt.exe" : "aapt"; @@ -140,6 +146,7 @@ public bool RunTask () Log.LogDebugMessage (" AndroidSdkBuildToolsVersion: {0}", AndroidSdkBuildToolsVersion); Log.LogDebugMessage ($" {nameof (AndroidSdkPath)}: {AndroidSdkPath}"); Log.LogDebugMessage ($" {nameof (AndroidNdkPath)}: {AndroidNdkPath}"); + Log.LogDebugMessage ($" {nameof (JavaSdkPath)}: {JavaSdkPath}"); Log.LogDebugTaskItems (" ReferenceAssemblyPaths: ", ReferenceAssemblyPaths); Log.LogDebugMessage (" TargetFrameworkVersion: {0}", TargetFrameworkVersion); Log.LogDebugMessage (" UseLatestAndroidPlatformSdk: {0}", UseLatestAndroidPlatformSdk); @@ -280,6 +287,8 @@ public bool RunTask () Log.LogDebugMessage (" AndroidSdkBuildToolsBinPath: {0}", AndroidSdkBuildToolsBinPath); Log.LogDebugMessage (" AndroidSdkPath: {0}", AndroidSdkPath); Log.LogDebugMessage (" JavaSdkPath: {0}", JavaSdkPath); + Log.LogDebugMessage (" JdkVersion: {0}", JdkVersion); + Log.LogDebugMessage (" MinimumRequiredJdkVersion: {0}", MinimumRequiredJdkVersion); Log.LogDebugMessage (" MonoAndroidBinPath: {0}", MonoAndroidBinPath); Log.LogDebugMessage (" MonoAndroidToolsPath: {0}", MonoAndroidToolsPath); Log.LogDebugMessage (" TargetFrameworkVersion: {0}", TargetFrameworkVersion); @@ -320,7 +329,10 @@ public bool RunTask () return !Log.HasLoggedErrors; } - static readonly Regex javaVersionRegex = new Regex (@"""(?[\d\.]+)_\d+"""); + // `java -version` will produce values such as: + // java version "9.0.4" + // java version "1.8.0_77" + static readonly Regex javaVersionRegex = new Regex (@"version ""(?[\d\.]+)(_\d+)?"""); Version GetJavaVersionForFramework (string targetFrameworkVersion) { @@ -350,6 +362,8 @@ bool ValidateJavaVersion (string targetFrameworkVersion, string buildToolsVersio Version requiredJavaForBuildTools = GetJavaVersionForBuildTools (buildToolsVersion); Version required = requiredJavaForFrameworkVersion > requiredJavaForBuildTools ? requiredJavaForFrameworkVersion : requiredJavaForBuildTools; + + MinimumRequiredJdkVersion = required.ToString (); var sb = new StringBuilder (); @@ -372,6 +386,7 @@ bool ValidateJavaVersion (string targetFrameworkVersion, string buildToolsVersio var versionNumberMatch = javaVersionRegex.Match (versionInfo); Version versionNumber; if (versionNumberMatch.Success && Version.TryParse (versionNumberMatch.Groups ["version"]?.Value, out versionNumber)) { + JdkVersion = versionNumberMatch.Groups ["version"].Value; Log.LogMessage (MessageImportance.Normal, $"Found Java SDK version {versionNumber}."); if (versionNumber < requiredJavaForFrameworkVersion) { Log.LogError ($"Java SDK {requiredJavaForFrameworkVersion} or above is required when targeting FrameworkVerison {targetFrameworkVersion}."); @@ -379,8 +394,11 @@ bool ValidateJavaVersion (string targetFrameworkVersion, string buildToolsVersio if (versionNumber < requiredJavaForBuildTools) { Log.LogError ($"Java SDK {requiredJavaForBuildTools} or above is required when using build-tools {buildToolsVersion}."); } + if (versionNumber > Version.Parse (LatestSupportedJavaVersion)) { + Log.LogWarning ($"JDK Version `{versionNumber}` is later than latest suppored JDK version `{LatestSupportedJavaVersion}`."); + } } else - Log.LogWarning ($"Failed to get the Java SDK version. Found {versionInfo} but this does not seem to contain a valid version number."); + Log.LogWarning ($"Failed to get the Java SDK version as it does not appear to contain a valid version number. `javac -version` returned: ```{versionInfo}```"); return !Log.HasLoggedErrors; } diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Bindings.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Bindings.targets index c063e092880..5ef8fd04dcb 100755 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Bindings.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Bindings.targets @@ -190,6 +190,8 @@ Copyright (C) 2012 Xamarin Inc. All rights reserved. + + + + + Condition=" '$(JavacTargetVersion)' == '' or '$(JavacSourceVersion)' == '' " + JdkVersion="$(_JdkVersion)" + DefaultJdkVersion="$(_DefaultJdkVersion)" + SkipJavacVersionCheck="$(AndroidSkipJavacVersionCheck)" + EnableProguard="$(AndroidEnableProguard)" + EnableMultiDex="$(AndroidEnableMultiDex)"> diff --git a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.csproj b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.csproj index a1134d39597..40835eba12f 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.csproj +++ b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.csproj @@ -61,18 +61,22 @@ - + + Jars/Cursor.jar + + - BuildJars; + BuildTestJarFile; $(BuildDependsOn) + CleanTestJarFile; $(CleanDependsOn); CleanLocal; diff --git a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.targets b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.targets index 29b53d34c3e..3a3f56afc24 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.targets +++ b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding/Xamarin.Android.FixJavaAbstractMethod-APIv1Binding.targets @@ -1,14 +1,6 @@ - - - - - - + diff --git a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.csproj b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.csproj index 2535c01c5f8..04f0f67fdc7 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.csproj +++ b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.csproj @@ -61,18 +61,22 @@ - + + Jars/Cursor.jar + + - BuildJars; + BuildTestJarFile; $(BuildDependsOn) + CleanTestJarFile; $(CleanDependsOn); CleanLocal; diff --git a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.targets b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.targets index 29b53d34c3e..14287e0c4fe 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.targets +++ b/tests/CodeGen-Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding/Xamarin.Android.FixJavaAbstractMethod-APIv2Binding.targets @@ -1,14 +1,6 @@ - - - - - - + diff --git a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/Xamarin.Android.LibraryProjectZip-LibBinding.targets b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/Xamarin.Android.LibraryProjectZip-LibBinding.targets index d0533f8e93b..a0b3af504f1 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/Xamarin.Android.LibraryProjectZip-LibBinding.targets +++ b/tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/Xamarin.Android.LibraryProjectZip-LibBinding.targets @@ -42,9 +42,12 @@ DependsOnTargets="AndroidPrepareForBuild" Inputs="java\JavaLib\project.properties" Outputs="$(OutputPath)JavaLib.zip"> + + <_Jdk9Modules Condition="$(_JdkVersion.StartsWith ('9'))">JAVA_OPTS="--add-modules java.xml.bind" + diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.csproj b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.csproj index 206fafa9781..338c2bb8415 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.csproj +++ b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.csproj @@ -62,44 +62,73 @@ - - empty-1 - java\com\xamarin\android\Empty1.java - - - empty-2 - java\com\xamarin\android\Empty2.java - + + Jars/empty-1.jar + + + Jars/empty-2.jar + - - - - - - - - - - - - - - + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + + Jars/xamarin-test.jar + + - BuildJars; + BuildTestJarFile; + _CopyTestJarFiles; $(BuildDependsOn) + CleanTestJarFile; $(CleanDependsOn); CleanLocal; diff --git a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.targets b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.targets index c48e56feeec..72f6f5c59bf 100644 --- a/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.targets +++ b/tests/CodeGen-Binding/Xamarin.Android.McwGen-Tests/Xamarin.Android.McwGen-Tests.targets @@ -1,15 +1,10 @@ - - - - - - - + + diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.csproj b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.csproj index d0b730c45e4..2ea08a4c0f6 100644 --- a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.csproj +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.csproj @@ -43,33 +43,26 @@ - + Jars\com\xamarin\android\test\binding\resolveimport\Lib1.java - + Jars/lib1.jar + + + - BuildJar; + BuildTestJarFile; + _BuildLibraryProjectZips; $(BuildDependsOn) - CleanJar; + CleanTestJarFile; + _CleanLibraryProjectZips; $(CleanDependsOn) - - - - - - - - - - - - @@ -87,7 +80,4 @@ - - - diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.targets b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.targets new file mode 100644 index 00000000000..e34d72359d8 --- /dev/null +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.targets @@ -0,0 +1,23 @@ + + + + + + + + + + + + diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.csproj b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.csproj index b173b5b232f..59df526472e 100644 --- a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.csproj +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.csproj @@ -51,9 +51,10 @@ - + Jars\com\xamarin\android\test\binding\resolveimport\Lib2.java - + Jars/lib2.jar + @@ -61,39 +62,23 @@ + + - BuildJar; + BuildTestJarFile; BuildNativeLibs; $(BuildDependsOn) - CleanJar; + CleanTestJarFile; CleanNativeLibs; $(CleanDependsOn) - - - - - - - - - - - - - - - - - - diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.targets b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.targets new file mode 100644 index 00000000000..082ee8706d8 --- /dev/null +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.targets @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.csproj b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.csproj index 735af6e3035..129e76e80e9 100644 --- a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.csproj +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.csproj @@ -52,9 +52,10 @@ - + Jars\com\xamarin\android\test\binding\resolveimport\Lib3.java - + Jars/lib3.jar + @@ -63,32 +64,21 @@ + + - BuildJar; + BuildTestJarFile; + _BuildLibraryProjectZips; $(BuildDependsOn) - CleanJar; + CleanTestJarFile; + _CleanLibraryProjectZips; $(CleanDependsOn) - - - - - - - - - - - - - - - diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.targets b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.targets new file mode 100644 index 00000000000..f29dd536a88 --- /dev/null +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.targets @@ -0,0 +1,23 @@ + + + + + + + + + + + + diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.csproj b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.csproj index 6a5861680c0..b88687d1fde 100644 --- a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.csproj +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.csproj @@ -49,9 +49,10 @@ - + Jars\com\xamarin\android\test\binding\resolveimport\Lib4.java - + Jars/lib4.jar + @@ -59,39 +60,23 @@ + + - BuildJar; + BuildTestJarFile; BuildNativeLibs; $(BuildDependsOn) - CleanJar; + CleanTestJarFile; CleanNativeLibs; $(CleanDependsOn) - - - - - - - - - - - - - - - - - - diff --git a/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.targets b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.targets new file mode 100644 index 00000000000..082ee8706d8 --- /dev/null +++ b/tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.targets @@ -0,0 +1,16 @@ + + + + + + + + + +