From aff69e43efd64d8bf8fa073303b74a7220deb509 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Wed, 27 Oct 2021 12:53:05 -0700 Subject: [PATCH] Add integration_test to flavor test project (#92520) --- .../flavors/android/project-app.lockfile | 29 +++-- .../android/project-integration_test.lockfile | 111 ++++++++++++++++++ .../flavors/ios/Flutter/Debug.xcconfig | 3 + .../flavors/ios/Flutter/Release.xcconfig | 3 + dev/integration_tests/flavors/ios/Podfile | 43 +++++++ .../ios/Runner.xcodeproj/project.pbxproj | 88 +++++++++++++- .../contents.xcworkspacedata | 3 + dev/integration_tests/flavors/pubspec.yaml | 6 + .../lib/src/macos/cocoapods.dart | 2 +- .../general.shard/macos/cocoapods_test.dart | 26 ++++ 10 files changed, 304 insertions(+), 10 deletions(-) create mode 100644 dev/integration_tests/flavors/android/project-integration_test.lockfile create mode 100644 dev/integration_tests/flavors/ios/Podfile diff --git a/dev/integration_tests/flavors/android/project-app.lockfile b/dev/integration_tests/flavors/android/project-app.lockfile index eb82d374c6..044b6ec796 100644 --- a/dev/integration_tests/flavors/android/project-app.lockfile +++ b/dev/integration_tests/flavors/android/project-app.lockfile @@ -17,6 +17,11 @@ androidx.lifecycle:lifecycle-runtime:2.2.0=freeDebugAndroidTestCompileClasspath, androidx.lifecycle:lifecycle-viewmodel:2.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath androidx.loader:loader:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath androidx.savedstate:savedstate:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath +androidx.test.espresso:espresso-core:3.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath +androidx.test.espresso:espresso-idling-resource:3.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath +androidx.test:monitor:1.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath +androidx.test:rules:1.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath +androidx.test:runner:1.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath androidx.versionedparcelable:versionedparcelable:1.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath androidx.viewpager:viewpager:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath com.android.tools.analytics-library:protos:27.1.3=lintClassPath @@ -50,16 +55,19 @@ com.android.tools:sdk-common:27.1.3=lintClassPath com.android.tools:sdklib:27.1.3=lintClassPath com.android:signflinger:4.1.3=lintClassPath com.android:zipflinger:4.1.3=lintClassPath -com.google.code.findbugs:jsr305:3.0.2=lintClassPath +com.google.code.findbugs:jsr305:2.0.1=freeDebugAndroidTestCompileClasspath,paidDebugAndroidTestCompileClasspath +com.google.code.findbugs:jsr305:3.0.2=freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath com.google.code.gson:gson:2.8.5=lintClassPath -com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath -com.google.guava:failureaccess:1.0.1=lintClassPath +com.google.errorprone:error_prone_annotations:2.3.2=freeDebugRuntimeClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugRuntimeClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestRuntimeClasspath +com.google.guava:failureaccess:1.0.1=freeDebugRuntimeClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugRuntimeClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestRuntimeClasspath +com.google.guava:guava:28.1-android=freeDebugRuntimeClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestRuntimeClasspath com.google.guava:guava:28.1-jre=lintClassPath -com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath -com.google.j2objc:j2objc-annotations:1.3=lintClassPath +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=freeDebugRuntimeClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugRuntimeClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestRuntimeClasspath +com.google.j2objc:j2objc-annotations:1.3=freeDebugRuntimeClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugRuntimeClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestRuntimeClasspath com.google.jimfs:jimfs:1.1=lintClassPath com.google.protobuf:protobuf-java:3.10.0=lintClassPath com.googlecode.json-simple:json-simple:1.1=lintClassPath +com.squareup:javawriter:2.1.1=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath com.squareup:javawriter:2.5.0=lintClassPath com.sun.activation:javax.activation:1.2.0=lintClassPath com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath @@ -68,21 +76,26 @@ commons-codec:commons-codec:1.10=lintClassPath commons-logging:commons-logging:1.2=lintClassPath it.unimi.dsi:fastutil:7.2.0=lintClassPath javax.activation:javax.activation-api:1.2.0=lintClassPath -javax.inject:javax.inject:1=lintClassPath +javax.inject:javax.inject:1=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath javax.xml.bind:jaxb-api:2.3.1=lintClassPath +junit:junit:4.12=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath net.sf.jopt-simple:jopt-simple:4.9=lintClassPath -net.sf.kxml:kxml2:2.3.0=lintClassPath +net.sf.kxml:kxml2:2.3.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath org.apache.commons:commons-compress:1.12=lintClassPath org.apache.httpcomponents:httpclient:4.5.6=lintClassPath org.apache.httpcomponents:httpcore:4.4.10=lintClassPath org.apache.httpcomponents:httpmime:4.5.6=lintClassPath org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath +org.checkerframework:checker-compat-qual:2.5.5=freeDebugRuntimeClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestRuntimeClasspath org.checkerframework:checker-qual:2.8.1=lintClassPath org.codehaus.groovy:groovy-all:2.4.15=lintClassPath -org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath +org.codehaus.mojo:animal-sniffer-annotations:1.18=freeDebugRuntimeClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestRuntimeClasspath,lintClassPath,paidDebugRuntimeClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestRuntimeClasspath org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath org.glassfish.jaxb:txw2:2.3.1=lintClassPath +org.hamcrest:hamcrest-core:1.3=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath +org.hamcrest:hamcrest-integration:1.3=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath +org.hamcrest:hamcrest-library:1.3=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath diff --git a/dev/integration_tests/flavors/android/project-integration_test.lockfile b/dev/integration_tests/flavors/android/project-integration_test.lockfile new file mode 100644 index 0000000000..3587433afd --- /dev/null +++ b/dev/integration_tests/flavors/android/project-integration_test.lockfile @@ -0,0 +1,111 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.android.tools.analytics-library:protos:27.1.3=lintClassPath +com.android.tools.analytics-library:shared:27.1.3=lintClassPath +com.android.tools.analytics-library:tracker:27.1.3=lintClassPath +com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath +com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary +com.android.tools.build:apksig:4.1.3=lintClassPath +com.android.tools.build:apkzlib:4.1.3=lintClassPath +com.android.tools.build:builder-model:4.1.3=lintClassPath +com.android.tools.build:builder-test-api:4.1.3=lintClassPath +com.android.tools.build:builder:4.1.3=lintClassPath +com.android.tools.build:gradle-api:4.1.3=lintClassPath +com.android.tools.build:manifest-merger:27.1.3=lintClassPath +com.android.tools.ddms:ddmlib:27.1.3=lintClassPath +com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath +com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath +com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath +com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath +com.android.tools.lint:lint-api:27.1.3=lintClassPath +com.android.tools.lint:lint-checks:27.1.3=lintClassPath +com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath +com.android.tools.lint:lint-gradle:27.1.3=lintClassPath +com.android.tools.lint:lint-model:27.1.3=lintClassPath +com.android.tools.lint:lint:27.1.3=lintClassPath +com.android.tools:annotations:27.1.3=lintClassPath +com.android.tools:common:27.1.3=lintClassPath +com.android.tools:dvlib:27.1.3=lintClassPath +com.android.tools:repository:27.1.3=lintClassPath +com.android.tools:sdk-common:27.1.3=lintClassPath +com.android.tools:sdklib:27.1.3=lintClassPath +com.android:signflinger:4.1.3=lintClassPath +com.android:zipflinger:4.1.3=lintClassPath +com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.code.gson:gson:2.8.5=lintClassPath +com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.guava:guava:28.1-jre=lintClassPath +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.jimfs:jimfs:1.1=lintClassPath +com.google.protobuf:protobuf-java:3.10.0=lintClassPath +com.googlecode.json-simple:json-simple:1.1=lintClassPath +com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.squareup:javawriter:2.5.0=lintClassPath +com.sun.activation:javax.activation:1.2.0=lintClassPath +com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath +com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath +commons-codec:commons-codec:1.10=lintClassPath +commons-logging:commons-logging:1.2=lintClassPath +it.unimi.dsi:fastutil:7.2.0=lintClassPath +javax.activation:javax.activation-api:1.2.0=lintClassPath +javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +javax.xml.bind:jaxb-api:2.3.1=lintClassPath +junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +net.sf.jopt-simple:jopt-simple:4.9=lintClassPath +net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.apache.commons:commons-compress:1.12=lintClassPath +org.apache.httpcomponents:httpclient:4.5.6=lintClassPath +org.apache.httpcomponents:httpcore:4.4.10=lintClassPath +org.apache.httpcomponents:httpmime:4.5.6=lintClassPath +org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath +org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath +org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.checkerframework:checker-qual:2.8.1=lintClassPath +org.codehaus.groovy:groovy-all:2.4.15=lintClassPath +org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath +org.glassfish.jaxb:txw2:2.3.1=lintClassPath +org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath +org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath +org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath +org.jetbrains.trove4j:trove4j:20160824=lintClassPath +org.jetbrains:annotations:13.0=lintClassPath +org.jvnet.staxex:stax-ex:1.8=lintClassPath +org.ow2.asm:asm-analysis:7.0=lintClassPath +org.ow2.asm:asm-commons:7.0=lintClassPath +org.ow2.asm:asm-tree:7.0=lintClassPath +org.ow2.asm:asm-util:7.0=lintClassPath +org.ow2.asm:asm:7.0=lintClassPath +empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile diff --git a/dev/integration_tests/flavors/ios/Flutter/Debug.xcconfig b/dev/integration_tests/flavors/ios/Flutter/Debug.xcconfig index 592ceee85b..806efaca23 100644 --- a/dev/integration_tests/flavors/ios/Flutter/Debug.xcconfig +++ b/dev/integration_tests/flavors/ios/Flutter/Debug.xcconfig @@ -1 +1,4 @@ +// This xcconfig used for both the paid and free flavor, but the plugins are not different between +// them. Pick one. +#include? "Pods/Target Support Files/Pods-Free App/Pods-Free App.debug free.xcconfig" #include "Generated.xcconfig" diff --git a/dev/integration_tests/flavors/ios/Flutter/Release.xcconfig b/dev/integration_tests/flavors/ios/Flutter/Release.xcconfig index 592ceee85b..15efba2a9d 100644 --- a/dev/integration_tests/flavors/ios/Flutter/Release.xcconfig +++ b/dev/integration_tests/flavors/ios/Flutter/Release.xcconfig @@ -1 +1,4 @@ +// This xcconfig used for both the paid and free flavor, but the plugins are not different between +// them. Pick one. +#include? "Pods/Target Support Files/Pods-Free App/Pods-Free App.release free.xcconfig" #include "Generated.xcconfig" diff --git a/dev/integration_tests/flavors/ios/Podfile b/dev/integration_tests/flavors/ios/Podfile new file mode 100644 index 0000000000..a54c3b9c9d --- /dev/null +++ b/dev/integration_tests/flavors/ios/Podfile @@ -0,0 +1,43 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '9.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug Free' => :debug, + 'Debug Paid' => :release, + 'Release Free' => :release, + 'Release Paid' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Free App' do + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +target 'Paid App' do + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/dev/integration_tests/flavors/ios/Runner.xcodeproj/project.pbxproj b/dev/integration_tests/flavors/ios/Runner.xcodeproj/project.pbxproj index 95d8fbd486..aa1f87a1fd 100644 --- a/dev/integration_tests/flavors/ios/Runner.xcodeproj/project.pbxproj +++ b/dev/integration_tests/flavors/ios/Runner.xcodeproj/project.pbxproj @@ -3,17 +3,19 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 46; objects = { /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 37337CDEB7181B925B4C497F /* libPods-Free App.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4339F130EFF29582E670E34E /* libPods-Free App.a */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A2AF7BD41FD4BC12FD4CA78F /* libPods-Paid App.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A3D11A9D1653A6CF0D85528D /* libPods-Paid App.a */; }; F723D2312464E1C10004F0E0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; F723D2322464E1C10004F0E0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; F723D2332464E1C10004F0E0 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; @@ -49,10 +51,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 1A1AB40A245F9BE7685BF241 /* Pods-Free App.release free.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Free App.release free.xcconfig"; path = "Target Support Files/Pods-Free App/Pods-Free App.release free.xcconfig"; sourceTree = ""; }; + 2854017F9B7B8478EC866CE6 /* Pods-Paid App.debug free.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Paid App.debug free.xcconfig"; path = "Target Support Files/Pods-Paid App/Pods-Paid App.debug free.xcconfig"; sourceTree = ""; }; + 2F6C7D6ABA66181AD1367CBD /* Pods-Free App.debug free.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Free App.debug free.xcconfig"; path = "Target Support Files/Pods-Free App/Pods-Free App.debug free.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 3C3E60ABCBC52C4AD374B583 /* Pods-Paid App.debug paid.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Paid App.debug paid.xcconfig"; path = "Target Support Files/Pods-Paid App/Pods-Paid App.debug paid.xcconfig"; sourceTree = ""; }; + 4339F130EFF29582E670E34E /* libPods-Free App.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Free App.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 4A4236635749EA5737345C48 /* Pods-Paid App.release paid.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Paid App.release paid.xcconfig"; path = "Target Support Files/Pods-Paid App/Pods-Paid App.release paid.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 8B8AFDAF5347CCCD64810738 /* Pods-Free App.release paid.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Free App.release paid.xcconfig"; path = "Target Support Files/Pods-Free App/Pods-Free App.release paid.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Free App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Free App.app"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,6 +70,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info-Free.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Free.plist"; sourceTree = ""; }; + A3D11A9D1653A6CF0D85528D /* libPods-Paid App.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Paid App.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + D2881C4AB6E69FA3735A4CB4 /* Pods-Paid App.release free.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Paid App.release free.xcconfig"; path = "Target Support Files/Pods-Paid App/Pods-Paid App.release free.xcconfig"; sourceTree = ""; }; + F41C8FBAFCC90375E6D82338 /* Pods-Free App.debug paid.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Free App.debug paid.xcconfig"; path = "Target Support Files/Pods-Free App/Pods-Free App.debug paid.xcconfig"; sourceTree = ""; }; F723D2412464E1C10004F0E0 /* Paid App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Paid App.app"; sourceTree = BUILT_PRODUCTS_DIR; }; F723D2682464E2860004F0E0 /* Info-Paid.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Paid.plist"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -70,6 +82,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 37337CDEB7181B925B4C497F /* libPods-Free App.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -77,12 +90,37 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A2AF7BD41FD4BC12FD4CA78F /* libPods-Paid App.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 28B5CA6AF106EA1C16AD68D4 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 4339F130EFF29582E670E34E /* libPods-Free App.a */, + A3D11A9D1653A6CF0D85528D /* libPods-Paid App.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 2B45AC91AD8E1C91F5B671AF /* Pods */ = { + isa = PBXGroup; + children = ( + 2F6C7D6ABA66181AD1367CBD /* Pods-Free App.debug free.xcconfig */, + F41C8FBAFCC90375E6D82338 /* Pods-Free App.debug paid.xcconfig */, + 1A1AB40A245F9BE7685BF241 /* Pods-Free App.release free.xcconfig */, + 8B8AFDAF5347CCCD64810738 /* Pods-Free App.release paid.xcconfig */, + 2854017F9B7B8478EC866CE6 /* Pods-Paid App.debug free.xcconfig */, + 3C3E60ABCBC52C4AD374B583 /* Pods-Paid App.debug paid.xcconfig */, + D2881C4AB6E69FA3735A4CB4 /* Pods-Paid App.release free.xcconfig */, + 4A4236635749EA5737345C48 /* Pods-Paid App.release paid.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -100,6 +138,8 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, + 2B45AC91AD8E1C91F5B671AF /* Pods */, + 28B5CA6AF106EA1C16AD68D4 /* Frameworks */, ); sourceTree = ""; }; @@ -144,6 +184,7 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Free App" */; buildPhases = ( + 926713855C2FEA5B608DF051 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, @@ -164,6 +205,7 @@ isa = PBXNativeTarget; buildConfigurationList = F723D23C2464E1C10004F0E0 /* Build configuration list for PBXNativeTarget "Paid App" */; buildPhases = ( + 4F5FC507722005A4058D9FCE /* [CP] Check Pods Manifest.lock */, F723D22F2464E1C10004F0E0 /* Run Script */, F723D2302464E1C10004F0E0 /* Sources */, F723D2342464E1C10004F0E0 /* Frameworks */, @@ -253,6 +295,50 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n"; }; + 4F5FC507722005A4058D9FCE /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Paid App-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 926713855C2FEA5B608DF051 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Free App-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/dev/integration_tests/flavors/ios/Runner.xcworkspace/contents.xcworkspacedata b/dev/integration_tests/flavors/ios/Runner.xcworkspace/contents.xcworkspacedata index 1d526a16ed..21a3cc14c7 100644 --- a/dev/integration_tests/flavors/ios/Runner.xcworkspace/contents.xcworkspacedata +++ b/dev/integration_tests/flavors/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/dev/integration_tests/flavors/pubspec.yaml b/dev/integration_tests/flavors/pubspec.yaml index a88426c984..2f16103e34 100644 --- a/dev/integration_tests/flavors/pubspec.yaml +++ b/dev/integration_tests/flavors/pubspec.yaml @@ -9,6 +9,8 @@ dependencies: sdk: flutter flutter_driver: sdk: flutter + integration_test: + sdk: flutter test: 1.17.12 _fe_analyzer_shared: 29.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -64,6 +66,10 @@ dependencies: webkit_inspection_protocol: 1.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 3.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" +dev_dependencies: + flutter_test: + sdk: flutter + flutter: uses-material-design: true diff --git a/packages/flutter_tools/lib/src/macos/cocoapods.dart b/packages/flutter_tools/lib/src/macos/cocoapods.dart index acf9d21016..7a0a689501 100644 --- a/packages/flutter_tools/lib/src/macos/cocoapods.dart +++ b/packages/flutter_tools/lib/src/macos/cocoapods.dart @@ -275,7 +275,7 @@ class CocoaPods { final String includeFile = 'Pods/Target Support Files/Pods-Runner/Pods-Runner.${mode .toLowerCase()}.xcconfig'; final String include = '#include? "$includeFile"'; - if (!content.contains(includeFile)) { + if (!content.contains('Pods/Target Support Files/Pods-')) { file.writeAsStringSync('$include\n$content', flush: true); } } diff --git a/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart b/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart index 1ff102d25b..62085f75b3 100644 --- a/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/cocoapods_test.dart @@ -287,6 +287,32 @@ void main() { expect(releaseContents, isNot(contains('#include?'))); expect(releaseContents, equals(legacyReleaseInclude)); }); + + testUsingContext('does not include Pod config in xcconfig files, if flavor include present', () async { + final FlutterProject projectUnderTest = setupProjectUnderTest(); + projectUnderTest.ios.podfile..createSync()..writeAsStringSync('Existing Podfile'); + + const String flavorDebugInclude = '#include? "Pods/Target Support Files/Pods-Free App/Pods-Free App.debug free.xcconfig"'; + projectUnderTest.ios.xcodeConfigFor('Debug') + ..createSync(recursive: true) + ..writeAsStringSync(flavorDebugInclude); + const String flavorReleaseInclude = '#include? "Pods/Target Support Files/Pods-Free App/Pods-Free App.release free.xcconfig"'; + projectUnderTest.ios.xcodeConfigFor('Release') + ..createSync(recursive: true) + ..writeAsStringSync(flavorReleaseInclude); + + final FlutterProject project = FlutterProject.fromDirectoryTest(fileSystem.directory('project')); + await cocoaPodsUnderTest.setupPodfile(project.ios); + + final String debugContents = projectUnderTest.ios.xcodeConfigFor('Debug').readAsStringSync(); + // Redundant contains check, but this documents what we're testing--that the optional + // #include? doesn't get written in addition to the previous style #include. + expect(debugContents, isNot(contains('Pods-Runner/Pods-Runner.debug'))); + expect(debugContents, equals(flavorDebugInclude)); + final String releaseContents = projectUnderTest.ios.xcodeConfigFor('Release').readAsStringSync(); + expect(releaseContents, isNot(contains('Pods-Runner/Pods-Runner.release'))); + expect(releaseContents, equals(flavorReleaseInclude)); + }); }); group('Update xcconfig', () {