summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2020-01-17 20:46:35 -0800
committerYigit Boyar <yboyar@google.com>2020-01-21 17:55:48 -0800
commit3f3da16457dd680028d7e1c3d41e681ec3be4f38 (patch)
tree081d4c63616d4924687ecd5465217843577dabf7
parentf4a142b5d3a93ccf5dfb3758f50346538c992b3f (diff)
downloaddata-binding-3f3da16457dd680028d7e1c3d41e681ec3be4f38.tar.gz
Major cleanup for binding integration tests
* removed v1 * changed init script ot use an older verion of gradle for projects that build with older versions of AGP * created run_all_integration_tests.sh to easily run all tests Bug: 147927858 Test: run_all_integration_tests.sh Change-Id: I93e55988a6885a0a29098387f5c5bb664c02913a
-rw-r--r--.gitignore3
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/AppCompatResourcesTest.kt3
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/BaseCompilationTest.java9
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/InverseMethodTest.java13
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/MultiLayoutVerificationTest.java14
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/NonEnglishLocaleTest.kt2
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/ObservableGetDetectionTest.kt2
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/RecursiveObservableTest.kt2
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/SimpleCompilationTest.java13
-rw-r--r--compilationTests/src/test/java/androidx/databinding/compilationTest/TooManyLayoutsTest.kt2
-rw-r--r--extensions-support/gradle.properties1
-rw-r--r--extensions-support/gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--extensions/gradle.properties1
-rwxr-xr-xinit.sh12
-rw-r--r--integration-tests-support/DynamicApp/gradle.properties3
-rw-r--r--integration-tests-support/IndependentLibrary/app/build.gradle6
-rw-r--r--integration-tests-support/MultiModuleTestApp/app/build.gradle4
-rw-r--r--integration-tests/AppWithDataBindingInTests/lib/build.gradle2
-rw-r--r--integration-tests/DynamicApp/gradle.properties1
-rw-r--r--integration-tests/IndependentLibrary/app/build.gradle6
-rw-r--r--integration-tests/KotlinTestApp/app/build.gradle2
-rw-r--r--integration-tests/KotlinTestApp/gradle.properties1
-rw-r--r--integration-tests/LibCompileWith3.3/gradle.properties3
-rw-r--r--integration-tests/MultiModuleTestApp/app/build.gradle4
-rw-r--r--integration-tests/TestApp/gradlew.bat84
-rw-r--r--integration-tests/ideCommonBuildScript.gradle6
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aarbin0 -> 32680 bytes
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.md51
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.sha11
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom29
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.md51
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.sha11
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml12
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.md51
-rw-r--r--integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.sha11
-rwxr-xr-xrun_all_integration_tests.sh25
36 files changed, 199 insertions, 74 deletions
diff --git a/.gitignore b/.gitignore
index eeac46dd..398e4e8c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,6 @@ extensions-support/library/library.iml
extensions-support/*/build
extensions/*/build
data-binding.iml
+*.classpath
+*.project
+*.settings
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/AppCompatResourcesTest.kt b/compilationTests/src/test/java/androidx/databinding/compilationTest/AppCompatResourcesTest.kt
index ec335fde..e6981d48 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/AppCompatResourcesTest.kt
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/AppCompatResourcesTest.kt
@@ -30,8 +30,7 @@ import java.io.File
* `AppCompatResources` is found in the classpath or not.
*/
@RunWith(Parameterized::class)
-class AppCompatResourcesTest(private val addAppCompatDependency: Boolean)
- : BaseCompilationTest(true) {
+class AppCompatResourcesTest(private val addAppCompatDependency: Boolean) : BaseCompilationTest() {
companion object {
@JvmStatic
@Parameterized.Parameters(name = "Add support dependency: {0}")
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/BaseCompilationTest.java b/compilationTests/src/test/java/androidx/databinding/compilationTest/BaseCompilationTest.java
index 1895fd26..a696d028 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/BaseCompilationTest.java
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/BaseCompilationTest.java
@@ -80,14 +80,8 @@ public class BaseCompilationTest {
public TemporaryBuildFolder tmpBuildFolder =
new TemporaryBuildFolder(new File("./build", "build-test"), false);
- protected final boolean mEnableV2;
-
File testFolder;
- public BaseCompilationTest(boolean enableV2) {
- mEnableV2 = enableV2;
- }
-
protected void copyResourceTo(String name, String path) throws IOException {
copyResourceTo(name, new File(testFolder, path));
}
@@ -284,8 +278,7 @@ public class BaseCompilationTest {
File pathToExecutable = new File(testFolder, "gradlew");
List<String> args = new ArrayList<String>();
args.add(pathToExecutable.getAbsolutePath());
- args.add("-P" + PRINT_ENCODED_ERRORS_PROPERTY + "=true");
- args.add("-P" + ENABLE_V2_PROPERTY + "=" + mEnableV2);
+ args.add("-P" + PRINT_ENCODED_ERRORS_PROPERTY + "=true");;
args.add("-P" + USE_ANDROID_X_PROPERTY + "=true");
args.add("--no-daemon");
if ("true".equals(System.getProperties().getProperty("useReleaseVersion", "false"))) {
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/InverseMethodTest.java b/compilationTests/src/test/java/androidx/databinding/compilationTest/InverseMethodTest.java
index e0f7ebfe..e35fe3c1 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/InverseMethodTest.java
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/InverseMethodTest.java
@@ -18,6 +18,7 @@ package androidx.databinding.compilationTest;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
import org.junit.runners.Parameterized;
import java.io.File;
@@ -29,18 +30,8 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
-@RunWith(Parameterized.class)
+@RunWith(JUnit4.class)
public class InverseMethodTest extends BaseCompilationTest {
-
- @Parameterized.Parameters(name = "useV2_{0}")
- public static Object[] getParams() {
- return new Object[]{false, true};
- }
-
- public InverseMethodTest(boolean enableV2) {
- super(enableV2);
- }
-
@Test
public void testInverseMethodWrongParameterType() throws Throwable {
testErrorForMethod("InverseMethod_WrongParameterType", 23, "Could not find inverse " +
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/MultiLayoutVerificationTest.java b/compilationTests/src/test/java/androidx/databinding/compilationTest/MultiLayoutVerificationTest.java
index c28fbad7..138b9a75 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/MultiLayoutVerificationTest.java
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/MultiLayoutVerificationTest.java
@@ -18,6 +18,7 @@ package androidx.databinding.compilationTest;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
import org.junit.runners.Parameterized;
import android.databinding.tool.processing.ErrorMessages;
@@ -36,17 +37,8 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-@RunWith(Parameterized.class)
+@RunWith(JUnit4.class)
public class MultiLayoutVerificationTest extends BaseCompilationTest {
- @Parameterized.Parameters(name = "useV2_{0}")
- public static Object[] getParams() {
- return new Object[]{false, true};
- }
-
- public MultiLayoutVerificationTest(boolean enableV2) {
- super(enableV2);
- }
-
@Test
public void testMultipleLayoutFilesWithNameMismatch()
throws IOException, URISyntaxException, InterruptedException {
@@ -255,6 +247,4 @@ public class MultiLayoutVerificationTest extends BaseCompilationTest {
assertTrue(result.error, foundNormal);
assertTrue(result.error, foundLandscape);
}
-
-
}
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/NonEnglishLocaleTest.kt b/compilationTests/src/test/java/androidx/databinding/compilationTest/NonEnglishLocaleTest.kt
index d1381501..e01d489a 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/NonEnglishLocaleTest.kt
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/NonEnglishLocaleTest.kt
@@ -27,7 +27,7 @@ import java.lang.AssertionError
import java.util.Locale
@RunWith(JUnit4::class)
-class NonEnglishLocaleTest : BaseCompilationTest(true) {
+class NonEnglishLocaleTest : BaseCompilationTest() {
@Test
fun turkishICapitalization() {
prepareProject()
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/ObservableGetDetectionTest.kt b/compilationTests/src/test/java/androidx/databinding/compilationTest/ObservableGetDetectionTest.kt
index b3be8874..9a0a2b5a 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/ObservableGetDetectionTest.kt
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/ObservableGetDetectionTest.kt
@@ -27,7 +27,7 @@ import org.junit.runners.Parameterized
class ObservableGetDetectionTest(
private val type: String,
private val getter: String
-) : BaseCompilationTest(true) {
+) : BaseCompilationTest() {
@Test
fun detectGetterCallsOnObservables() {
prepareProject()
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/RecursiveObservableTest.kt b/compilationTests/src/test/java/androidx/databinding/compilationTest/RecursiveObservableTest.kt
index 0b768e7e..262960b9 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/RecursiveObservableTest.kt
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/RecursiveObservableTest.kt
@@ -24,7 +24,7 @@ import org.junit.runner.RunWith
import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
-class RecursiveObservableTest : BaseCompilationTest(true) {
+class RecursiveObservableTest : BaseCompilationTest() {
@Test
fun recursiveObservableUsed() {
prepareProject()
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/SimpleCompilationTest.java b/compilationTests/src/test/java/androidx/databinding/compilationTest/SimpleCompilationTest.java
index 0cb3e89d..d91138a5 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/SimpleCompilationTest.java
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/SimpleCompilationTest.java
@@ -32,6 +32,7 @@ import org.hamcrest.CoreMatchers;
import org.hamcrest.MatcherAssert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
import org.junit.runners.Parameterized;
import java.io.File;
@@ -54,18 +55,8 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
-@RunWith(Parameterized.class)
+@RunWith(JUnit4.class)
public class SimpleCompilationTest extends BaseCompilationTest {
-
- @Parameterized.Parameters(name = "useV2_{0}")
- public static Object[] getParams() {
- return new Object[]{false, true};
- }
-
- public SimpleCompilationTest(boolean enableV2) {
- super(enableV2);
- }
-
@Test
public void listTasks() throws IOException, URISyntaxException, InterruptedException {
prepareProject();
diff --git a/compilationTests/src/test/java/androidx/databinding/compilationTest/TooManyLayoutsTest.kt b/compilationTests/src/test/java/androidx/databinding/compilationTest/TooManyLayoutsTest.kt
index f5c0bc94..16a8690f 100644
--- a/compilationTests/src/test/java/androidx/databinding/compilationTest/TooManyLayoutsTest.kt
+++ b/compilationTests/src/test/java/androidx/databinding/compilationTest/TooManyLayoutsTest.kt
@@ -24,7 +24,7 @@ import org.junit.runners.JUnit4
* Stress test that creates many layouts and hopes that we don't choke compiler
*/
@RunWith(JUnit4::class)
-class TooManyLayoutsTest : BaseCompilationTest(true) {
+class TooManyLayoutsTest : BaseCompilationTest() {
@Test
fun tooManyLayouts() {
prepareProject()
diff --git a/extensions-support/gradle.properties b/extensions-support/gradle.properties
index ccbb3f51..893ea24c 100644
--- a/extensions-support/gradle.properties
+++ b/extensions-support/gradle.properties
@@ -1,3 +1,2 @@
# compile w/ v2 so that the mapper is generated.
-android.databinding.enableV2=true
android.useAndroidx=false \ No newline at end of file
diff --git a/extensions-support/gradle/wrapper/gradle-wrapper.properties b/extensions-support/gradle/wrapper/gradle-wrapper.properties
index dd91b5b6..4097a71e 100644
--- a/extensions-support/gradle/wrapper/gradle-wrapper.properties
+++ b/extensions-support/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=../../../../external/gradle/gradle-6.0-rc-1-bin.zip
+distributionUrl=../../../../external/gradle/gradle-6.1-rc-1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/extensions/gradle.properties b/extensions/gradle.properties
index 6eb3c773..7bd81a5f 100644
--- a/extensions/gradle.properties
+++ b/extensions/gradle.properties
@@ -1,3 +1,2 @@
# compile w/ v2 so that the mapper is generated.
-android.databinding.enableV2=true
android.useAndroidX=true
diff --git a/init.sh b/init.sh
index 62cba9b3..581ded12 100755
--- a/init.sh
+++ b/init.sh
@@ -4,14 +4,24 @@ if [ ! -e 'integration-tests' ] || [ ! -e 'extensions' ]; then
echo "must run this under {src}/tools/data-binding"
exit 1
fi
+OLD_GRADLE="https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip"
tools_dir="$current_dir/..";
copy_gradle() {
+ project_name=${PWD##*/}
+ echo "PROJECT NAME:${project_name}"
extra_dots=$1
echo "copying $PWD"
rm -rf gradle
rm -rf gradlew
cp -R "$tools_dir/gradle" .
- sed -i -e "s#distributionUrl\=#distributionUrl=$extra_dots/#g" gradle/wrapper/gradle-wrapper.properties
+ if [[ $project_name == LibCompileWith* ]] ;
+ then
+ echo "copy old gradle"
+ sed -i "/distributionUrl=/c\distributionUrl=$OLD_GRADLE" gradle/wrapper/gradle-wrapper.properties
+ else
+ echo "copy latest gradle"
+ sed -i -e "s#distributionUrl\=#distributionUrl=$extra_dots/#g" gradle/wrapper/gradle-wrapper.properties
+ fi
cp "$tools_dir/gradlew" .
}
OIFS="$IFS"
diff --git a/integration-tests-support/DynamicApp/gradle.properties b/integration-tests-support/DynamicApp/gradle.properties
index 2e59dfd5..f4d17dac 100644
--- a/integration-tests-support/DynamicApp/gradle.properties
+++ b/integration-tests-support/DynamicApp/gradle.properties
@@ -26,5 +26,4 @@ org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
-android.databinding.enableV2=true \ No newline at end of file
+# org.gradle.parallel=true \ No newline at end of file
diff --git a/integration-tests-support/IndependentLibrary/app/build.gradle b/integration-tests-support/IndependentLibrary/app/build.gradle
index 7571d03f..27711b1b 100644
--- a/integration-tests-support/IndependentLibrary/app/build.gradle
+++ b/integration-tests-support/IndependentLibrary/app/build.gradle
@@ -56,10 +56,10 @@ dependencies {
uploadArchives {
doFirst {
uploadArchives.repositories.mavenDeployer {
- if (!project.hasProperty('test_maven_repo')) {
- throw new GradleException("must provide -Ptest_maven_repo")
+ if (!project.hasProperty('maven_repo')) {
+ throw new GradleException("must provide -Pmaven_repo")
}
- repository(url: "file://${project.getProperty('test_maven_repo')}")
+ repository(url: "file://${project.getProperty('maven_repo')}")
pom.artifactId = 'independent-library'
pom.version = "1.0"
pom.groupId = "com.android.databinding.test"
diff --git a/integration-tests-support/MultiModuleTestApp/app/build.gradle b/integration-tests-support/MultiModuleTestApp/app/build.gradle
index fa9ea4df..e659e9b0 100644
--- a/integration-tests-support/MultiModuleTestApp/app/build.gradle
+++ b/integration-tests-support/MultiModuleTestApp/app/build.gradle
@@ -45,10 +45,10 @@ android {
}
}
-if(project.hasProperty('test_maven_repo')) {
+if(project.hasProperty('maven_repo')) {
repositories {
maven {
- url "file://${project.getProperty("test_maven_repo")}"
+ url "file://${project.getProperty("maven_repo")}"
}
}
}
diff --git a/integration-tests/AppWithDataBindingInTests/lib/build.gradle b/integration-tests/AppWithDataBindingInTests/lib/build.gradle
index 6943ec85..49ce5c94 100644
--- a/integration-tests/AppWithDataBindingInTests/lib/build.gradle
+++ b/integration-tests/AppWithDataBindingInTests/lib/build.gradle
@@ -21,7 +21,7 @@ android {
defaultConfig {
minSdkVersion 14
- targetSdkVersion rootProject.latestCompileSdk
+ targetSdkVersion 28// robolectric max
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/integration-tests/DynamicApp/gradle.properties b/integration-tests/DynamicApp/gradle.properties
index 6d67e0be..07a524b6 100644
--- a/integration-tests/DynamicApp/gradle.properties
+++ b/integration-tests/DynamicApp/gradle.properties
@@ -27,5 +27,4 @@ org.gradle.jvmargs=-Xmx1536m
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
-android.databinding.enableV2=true
android.useAndroidX=true
diff --git a/integration-tests/IndependentLibrary/app/build.gradle b/integration-tests/IndependentLibrary/app/build.gradle
index 138b064b..6781ec8d 100644
--- a/integration-tests/IndependentLibrary/app/build.gradle
+++ b/integration-tests/IndependentLibrary/app/build.gradle
@@ -56,10 +56,10 @@ dependencies {
uploadArchives {
doFirst {
uploadArchives.repositories.mavenDeployer {
- if (!project.hasProperty('test_maven_repo')) {
- throw new GradleException("must provide -Ptest_maven_repo")
+ if (!project.hasProperty('maven_repo')) {
+ throw new GradleException("must provide -Pmaven_repo")
}
- repository(url: "file://${project.getProperty('test_maven_repo')}")
+ repository(url: "file://${project.getProperty('maven_repo')}")
pom.artifactId = 'independent-library'
pom.version = "1.0"
pom.groupId = "com.android.databinding.test"
diff --git a/integration-tests/KotlinTestApp/app/build.gradle b/integration-tests/KotlinTestApp/app/build.gradle
index c5c57989..37d2612f 100644
--- a/integration-tests/KotlinTestApp/app/build.gradle
+++ b/integration-tests/KotlinTestApp/app/build.gradle
@@ -21,10 +21,8 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
-
android {
compileSdkVersion rootProject.latestCompileSdk
- buildToolsVersion rootProject.buildToolsVersion
defaultConfig {
applicationId "androidx.databinding.kotlintestapp"
minSdkVersion 14
diff --git a/integration-tests/KotlinTestApp/gradle.properties b/integration-tests/KotlinTestApp/gradle.properties
index a22b4868..c5fda8a2 100644
--- a/integration-tests/KotlinTestApp/gradle.properties
+++ b/integration-tests/KotlinTestApp/gradle.properties
@@ -22,7 +22,6 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
-android.databinding.enableV2=true
android.useAndroidX=true
android.enableJetifier=true
# When configured, Gradle will run in incubating parallel mode.
diff --git a/integration-tests/LibCompileWith3.3/gradle.properties b/integration-tests/LibCompileWith3.3/gradle.properties
index 8bc41101..b2b3bb21 100644
--- a/integration-tests/LibCompileWith3.3/gradle.properties
+++ b/integration-tests/LibCompileWith3.3/gradle.properties
@@ -10,5 +10,4 @@ org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
-android.databinding.enableV2=true \ No newline at end of file
+# org.gradle.parallel=true \ No newline at end of file
diff --git a/integration-tests/MultiModuleTestApp/app/build.gradle b/integration-tests/MultiModuleTestApp/app/build.gradle
index 01c5915c..ea51a920 100644
--- a/integration-tests/MultiModuleTestApp/app/build.gradle
+++ b/integration-tests/MultiModuleTestApp/app/build.gradle
@@ -45,10 +45,10 @@ android {
}
}
-if(project.hasProperty('test_maven_repo')) {
+if(project.hasProperty('maven_repo')) {
repositories {
maven {
- url "file://${project.getProperty("test_maven_repo")}"
+ url "file://${project.getProperty("maven_repo")}"
}
}
}
diff --git a/integration-tests/TestApp/gradlew.bat b/integration-tests/TestApp/gradlew.bat
new file mode 100644
index 00000000..e95643d6
--- /dev/null
+++ b/integration-tests/TestApp/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/integration-tests/ideCommonBuildScript.gradle b/integration-tests/ideCommonBuildScript.gradle
index ff34dce7..ecf85f61 100644
--- a/integration-tests/ideCommonBuildScript.gradle
+++ b/integration-tests/ideCommonBuildScript.gradle
@@ -3,7 +3,7 @@ rootProject.buildscript {
apply from: "${rootProject.ext.checkoutDir}/tools/buildSrc/base/version.gradle"
rootProject.ext.latestCompileSdk = 29
rootProject.ext.buildToolsVersion = "29.0.2"
- rootProject.ext.kotlinVersion = '1.3.10'
+ rootProject.ext.kotlinVersion = '1.3.61'
repositories {
maven { url "file://${rootProject.ext.checkoutDir}/out/repo/" }
@@ -21,7 +21,7 @@ rootProject.allprojects {
maven { url "file://${rootProject.ext.checkoutDir}/prebuilts/tools/common/m2/repository/" }
}
- if (!project.hasProperty('test_maven_repo')) {
- project.ext["test_maven_repo"] = new File(project.rootProject.getProjectDir(), "../test-local-repo").getCanonicalPath()
+ if (!project.hasProperty('maven_repo')) {
+ project.ext["maven_repo"] = new File(project.rootProject.getProjectDir(), "../test-local-repo").getCanonicalPath()
}
}
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar
new file mode 100644
index 00000000..6de67cab
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar
Binary files differ
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.md5 b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.md5
new file mode 100644
index 00000000..c928735f
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.md5
@@ -0,0 +1 @@
+a53b997276a01b75078ca3dad9ce5e49 \ No newline at end of file
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.sha1 b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.sha1
new file mode 100644
index 00000000..f146be0e
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.aar.sha1
@@ -0,0 +1 @@
+bd39fc8fd7577108d35e6f4eb177f850ea08c818 \ No newline at end of file
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom
new file mode 100644
index 00000000..bd09d91e
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.android.databinding.test</groupId>
+ <artifactId>independent-library</artifactId>
+ <version>1.0</version>
+ <packaging>aar</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>androidx.databinding</groupId>
+ <artifactId>databinding-common</artifactId>
+ <version>4.0.0-dev</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>androidx.databinding</groupId>
+ <artifactId>databinding-runtime</artifactId>
+ <version>4.0.0-dev</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>androidx.databinding</groupId>
+ <artifactId>databinding-adapters</artifactId>
+ <version>4.0.0-dev</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.md5 b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.md5
new file mode 100644
index 00000000..f9e714a4
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.md5
@@ -0,0 +1 @@
+def71885124a003adfb5fcf209810d81 \ No newline at end of file
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.sha1 b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.sha1
new file mode 100644
index 00000000..87e04784
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/1.0/independent-library-1.0.pom.sha1
@@ -0,0 +1 @@
+69125f19715dfca417393c9fe07f6d2cee97746b \ No newline at end of file
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml
new file mode 100644
index 00000000..ff298aa0
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>com.android.databinding.test</groupId>
+ <artifactId>independent-library</artifactId>
+ <versioning>
+ <release>1.0</release>
+ <versions>
+ <version>1.0</version>
+ </versions>
+ <lastUpdated>20200118053214</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.md5 b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.md5
new file mode 100644
index 00000000..0874fa78
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.md5
@@ -0,0 +1 @@
+e60b5fc1fc47ca1fc660fac7118d2d96 \ No newline at end of file
diff --git a/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.sha1 b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.sha1
new file mode 100644
index 00000000..383b3463
--- /dev/null
+++ b/integration-tests/test-local-repo/com/android/databinding/test/independent-library/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+c7f7db8ff50e10a0207a4423bfff7403e0a1e5b3 \ No newline at end of file
diff --git a/run_all_integration_tests.sh b/run_all_integration_tests.sh
new file mode 100755
index 00000000..e58fe190
--- /dev/null
+++ b/run_all_integration_tests.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# convenient script to run all available integration tests. make sure you have a running emulator
+./init.sh
+ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+cd $ROOT_DIR;
+MAVEN_REPO=$ROOT_DIR/test_maven_repo
+rm -rf $MAVEN_REPO;
+mkdir $MAVEN_REPO;
+
+SETTINGS_FILES=`find integration-tests integration-tests-support -name "settings.gradle"`
+echo "list of test apps:"
+echo "$SETTINGS_FILES"
+for f in $SETTINGS_FILES
+do
+ DIR_NAME=`dirname $f`
+ echo "will upload archives for $DIR_NAME"
+ ( cd $DIR_NAME && ./gradlew uploadArchives -Pandroid.injected.invoked.from.ide=true -Pmaven_repo=$MAVEN_REPO ) || { echo "$f failed" ; exit 1; }
+done
+
+for f in $SETTINGS_FILES
+do
+ DIR_NAME=`dirname $f`
+ echo "will run tests for $DIR_NAME"
+ ( cd $DIR_NAME && ./gradlew testDebug connectedCheck -Pandroid.injected.invoked.from.ide=true -Pmaven_repo=$MAVEN_REPO ) || { echo "$f failed" ; exit 1; }
+done \ No newline at end of file