Merge "Fix the crash caused by bad minSdkVersion check." into oc-mr1-support-27.0-dev
diff --git a/buildSrc/src/main/groovy/android/support/SupportAndroidLibraryPlugin.groovy b/buildSrc/src/main/groovy/android/support/SupportAndroidLibraryPlugin.groovy
index a0e692e..b60fddc 100644
--- a/buildSrc/src/main/groovy/android/support/SupportAndroidLibraryPlugin.groovy
+++ b/buildSrc/src/main/groovy/android/support/SupportAndroidLibraryPlugin.groovy
@@ -35,6 +35,8 @@
class SupportAndroidLibraryPlugin implements Plugin<Project> {
private static final String INSTRUMENTATION_RUNNER =
"android.support.test.runner.AndroidJUnitRunner";
+ private static final String VERSION_FILE_PATH =
+ "generatedResources/META-INF/%s_%s.version"
@Override
public void apply(Project project) {
@@ -62,6 +64,23 @@
sourceCompatibility javaVersion
targetCompatibility javaVersion
}
+
+ // Add a java resource file to the library jar for version tracking purposes.
+ String artifactName = String.format(VERSION_FILE_PATH, project.group, project.name)
+
+ def writeVersionFile =
+ project.tasks.create("writeVersionFile", VersionFileWriterTask.class) {
+ version project.version
+ outputFile new File(project.buildDir, artifactName)
+ }
+
+ library.libraryVariants.all {
+ it.processJavaResources.dependsOn(writeVersionFile)
+ }
+
+ library.sourceSets.main.resources {
+ srcDir new File(project.buildDir, "generatedResources")
+ }
}
project.apply(ImmutableMap.of("plugin", "com.android.library"));
@@ -73,8 +92,7 @@
library.defaultConfig {
// Update the version meta-data in each Manifest.
- addManifestPlaceholders(["support-version": LibraryVersions.SUPPORT_LIBRARY.toString(),
- "target-sdk-version": project.currentSdk])
+ addManifestPlaceholders(["target-sdk-version": project.currentSdk])
// Set test related options.
testInstrumentationRunner INSTRUMENTATION_RUNNER
diff --git a/buildSrc/src/main/java/android/support/VersionFileWriterTask.java b/buildSrc/src/main/java/android/support/VersionFileWriterTask.java
new file mode 100644
index 0000000..b1fdbe1
--- /dev/null
+++ b/buildSrc/src/main/java/android/support/VersionFileWriterTask.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.support;
+
+import org.gradle.api.DefaultTask;
+import org.gradle.api.tasks.Input;
+import org.gradle.api.tasks.OutputFile;
+import org.gradle.api.tasks.TaskAction;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+/**
+ * Task that allows to write a version to a given output file.
+ */
+public class VersionFileWriterTask extends DefaultTask {
+ private String mVersion;
+ private File mOutputFile;
+
+ @Input
+ public String getVersion() {
+ return mVersion;
+ }
+
+ public void setVersion(String version) {
+ mVersion = version;
+ }
+
+ @OutputFile
+ public File getOutputFile() {
+ return mOutputFile;
+ }
+
+ public void setOutputFile(File outputFile) {
+ mOutputFile = outputFile;
+ }
+
+ /**
+ * The main method for actually writing out the file.
+ *
+ * @throws IOException
+ */
+ @TaskAction
+ public void run() throws IOException {
+ PrintWriter writer = new PrintWriter(mOutputFile);
+ writer.println(mVersion);
+ writer.close();
+ }
+}
diff --git a/compat/AndroidManifest.xml b/compat/AndroidManifest.xml
index cba2f24..5525c41 100644
--- a/compat/AndroidManifest.xml
+++ b/compat/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.compat">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.compat.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/content/AndroidManifest.xml b/content/AndroidManifest.xml
index 8304504..8d2bc4b 100644
--- a/content/AndroidManifest.xml
+++ b/content/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.content">
<uses-sdk android:minSdkVersion="14" />
- <application>
- <meta-data android:name="android.support.content.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/core-ui/AndroidManifest.xml b/core-ui/AndroidManifest.xml
index 715f92c..f498d26 100644
--- a/core-ui/AndroidManifest.xml
+++ b/core-ui/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.coreui">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.coreui.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/core-utils/AndroidManifest.xml b/core-utils/AndroidManifest.xml
index c24e023..248229b 100644
--- a/core-utils/AndroidManifest.xml
+++ b/core-utils/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.coreutils">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.coreutils.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/customtabs/AndroidManifest.xml b/customtabs/AndroidManifest.xml
index 6a25c8a..c913ad6 100644
--- a/customtabs/AndroidManifest.xml
+++ b/customtabs/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.customtabs">
<uses-sdk android:minSdkVersion="15"/>
- <application>
- <meta-data android:name="android.support.customtabs.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/design/AndroidManifest.xml b/design/AndroidManifest.xml
index aa02181..0eb8b85 100644
--- a/design/AndroidManifest.xml
+++ b/design/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.design">
<uses-sdk android:minSdkVersion="14" />
- <application>
- <meta-data android:name="android.support.design.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/dynamic-animation/AndroidManifest.xml b/dynamic-animation/AndroidManifest.xml
index a46ea43..bfe97cc 100644
--- a/dynamic-animation/AndroidManifest.xml
+++ b/dynamic-animation/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.dynamicanimation">
<uses-sdk android:minSdkVersion="16"/>
- <application>
- <meta-data android:name="android.support.dynamicanimation.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/emoji/appcompat/AndroidManifest.xml b/emoji/appcompat/AndroidManifest.xml
index 8261137..bf83391 100644
--- a/emoji/appcompat/AndroidManifest.xml
+++ b/emoji/appcompat/AndroidManifest.xml
@@ -17,8 +17,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.text.emoji.appcompat">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.text.emoji.appcompat.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/emoji/bundled/AndroidManifest.xml b/emoji/bundled/AndroidManifest.xml
index a2b14cf..01c1713 100644
--- a/emoji/bundled/AndroidManifest.xml
+++ b/emoji/bundled/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.text.emoji.bundled">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.text.emoji.bundled.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
\ No newline at end of file
diff --git a/emoji/core/AndroidManifest.xml b/emoji/core/AndroidManifest.xml
index 1143f40..d153151 100644
--- a/emoji/core/AndroidManifest.xml
+++ b/emoji/core/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.text.emoji">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.text.emoji.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/exifinterface/AndroidManifest.xml b/exifinterface/AndroidManifest.xml
index 8c449f7..db7cabb 100644
--- a/exifinterface/AndroidManifest.xml
+++ b/exifinterface/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.exifinterface">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.exifinterface.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/fragment/AndroidManifest.xml b/fragment/AndroidManifest.xml
index 4d532bd..ec15d66 100644
--- a/fragment/AndroidManifest.xml
+++ b/fragment/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.fragment">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.fragment.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/graphics/drawable/animated/AndroidManifest.xml b/graphics/drawable/animated/AndroidManifest.xml
index ec4a4a6..166b786 100644
--- a/graphics/drawable/animated/AndroidManifest.xml
+++ b/graphics/drawable/animated/AndroidManifest.xml
@@ -16,8 +16,4 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.graphics.drawable.animated">
- <application>
- <meta-data android:name="android.support.graphics.drawable.animated.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/graphics/drawable/static/AndroidManifest.xml b/graphics/drawable/static/AndroidManifest.xml
index d8427ca..97b2f72 100644
--- a/graphics/drawable/static/AndroidManifest.xml
+++ b/graphics/drawable/static/AndroidManifest.xml
@@ -16,8 +16,4 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.graphics.drawable">
- <application>
- <meta-data android:name="android.support.graphics.drawable.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/media-compat/AndroidManifest.xml b/media-compat/AndroidManifest.xml
index 8a65eba..cd3e5e2 100644
--- a/media-compat/AndroidManifest.xml
+++ b/media-compat/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.mediacompat">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.mediacompat.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/percent/AndroidManifest.xml b/percent/AndroidManifest.xml
index db8dfa2..5d4707d 100644
--- a/percent/AndroidManifest.xml
+++ b/percent/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.percent">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.percent.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/recommendation/AndroidManifest.xml b/recommendation/AndroidManifest.xml
index 031e250..98e1ae9 100644
--- a/recommendation/AndroidManifest.xml
+++ b/recommendation/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.recommendation">
<uses-sdk android:minSdkVersion="21"/>
- <application>
- <meta-data android:name="android.support.recommendation.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/transition/AndroidManifest.xml b/transition/AndroidManifest.xml
index 1b70510..40b77e2 100644
--- a/transition/AndroidManifest.xml
+++ b/transition/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.transition">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.transition.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/tv-provider/AndroidManifest.xml b/tv-provider/AndroidManifest.xml
index f7569a6..05af532 100644
--- a/tv-provider/AndroidManifest.xml
+++ b/tv-provider/AndroidManifest.xml
@@ -18,8 +18,4 @@
<uses-sdk android:minSdkVersion="21"/>
<uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
<uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
- <application>
- <meta-data android:name="android.support.media.tv.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v13/AndroidManifest.xml b/v13/AndroidManifest.xml
index 6f5a696..164f757 100644
--- a/v13/AndroidManifest.xml
+++ b/v13/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v13">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.v13.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v14/preference/AndroidManifest.xml b/v14/preference/AndroidManifest.xml
index 18cc666..28dabea 100644
--- a/v14/preference/AndroidManifest.xml
+++ b/v14/preference/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v14.preference">
<uses-sdk android:minSdkVersion="14" />
- <application>
- <meta-data android:name="android.support.v14.preference.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v17/leanback/AndroidManifest.xml b/v17/leanback/AndroidManifest.xml
index 23c5c00..59ec5c0 100644
--- a/v17/leanback/AndroidManifest.xml
+++ b/v17/leanback/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v17.leanback">
<uses-sdk android:minSdkVersion="17"/>
- <application>
- <meta-data android:name="android.support.v17.leanback.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v17/preference-leanback/AndroidManifest.xml b/v17/preference-leanback/AndroidManifest.xml
index c34c254..028f582 100644
--- a/v17/preference-leanback/AndroidManifest.xml
+++ b/v17/preference-leanback/AndroidManifest.xml
@@ -18,8 +18,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v17.preference">
<uses-sdk android:minSdkVersion="17" />
- <application>
- <meta-data android:name="android.support.v17.preference.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v4/AndroidManifest.xml b/v4/AndroidManifest.xml
index c179eb2..bc1ee8e 100644
--- a/v4/AndroidManifest.xml
+++ b/v4/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v4">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.v4.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v7/appcompat/AndroidManifest.xml b/v7/appcompat/AndroidManifest.xml
index 786d361..76b8a23 100644
--- a/v7/appcompat/AndroidManifest.xml
+++ b/v7/appcompat/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v7.appcompat">
<uses-sdk android:minSdkVersion="14" />
- <application>
- <meta-data android:name="android.support.v7.appcompat.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v7/cardview/AndroidManifest.xml b/v7/cardview/AndroidManifest.xml
index af07bbc..3831492 100644
--- a/v7/cardview/AndroidManifest.xml
+++ b/v7/cardview/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v7.cardview">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.v7.cardview.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v7/gridlayout/AndroidManifest.xml b/v7/gridlayout/AndroidManifest.xml
index c18f5a1..288bb34 100644
--- a/v7/gridlayout/AndroidManifest.xml
+++ b/v7/gridlayout/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v7.gridlayout">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.v7.gridlayout.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v7/mediarouter/AndroidManifest.xml b/v7/mediarouter/AndroidManifest.xml
index c2c4ee3..c20a5c0 100644
--- a/v7/mediarouter/AndroidManifest.xml
+++ b/v7/mediarouter/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v7.mediarouter">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.v7.mediarouter.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v7/palette/AndroidManifest.xml b/v7/palette/AndroidManifest.xml
index 491cc8e..61bddd2 100644
--- a/v7/palette/AndroidManifest.xml
+++ b/v7/palette/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v7.palette">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.v7.palette.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v7/preference/AndroidManifest.xml b/v7/preference/AndroidManifest.xml
index c8df9a0..3195a03 100644
--- a/v7/preference/AndroidManifest.xml
+++ b/v7/preference/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v7.preference">
<uses-sdk android:minSdkVersion="14" />
- <application>
- <meta-data android:name="android.support.v7.preference.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/v7/recyclerview/AndroidManifest.xml b/v7/recyclerview/AndroidManifest.xml
index 04d095c..f83681e 100644
--- a/v7/recyclerview/AndroidManifest.xml
+++ b/v7/recyclerview/AndroidManifest.xml
@@ -16,8 +16,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.v7.recyclerview">
<uses-sdk android:minSdkVersion="14"/>
- <application>
- <meta-data android:name="android.support.v7.recyclerview.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>
diff --git a/wear/AndroidManifest.xml b/wear/AndroidManifest.xml
index 0541f36..3849df5 100644
--- a/wear/AndroidManifest.xml
+++ b/wear/AndroidManifest.xml
@@ -15,8 +15,4 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.support.wear">
- <application>
- <meta-data android:name="android.support.wear.VERSION"
- android:value="${support-version}" />
- </application>
</manifest>