Move to setting maven version via SupporLibrary extension.

Test: ./gradlew createArchive
Change-Id: Ifa145712bc3b68ef561d8d7f9e21e97c79b705d1
diff --git a/annotations/build.gradle b/annotations/build.gradle
index b50cd77..df521e1 100644
--- a/annotations/build.gradle
+++ b/annotations/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportJavaLibraryPlugin")
@@ -51,6 +52,7 @@
 supportLibrary {
     name = "Android Support Library Annotations"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2013"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs."
diff --git a/app-toolkit/common/build.gradle b/app-toolkit/common/build.gradle
index 42b0f5a..9604210 100644
--- a/app-toolkit/common/build.gradle
+++ b/app-toolkit/common/build.gradle
@@ -31,10 +31,10 @@
 
 createAndroidCheckstyle(project)
 
-version = LibraryVersions.ARCH_CORE.toString()
 supportLibrary {
     name = "Android Arch-Common"
     publish = true
+    mavenVersion = LibraryVersions.ARCH_CORE
     mavenGroup = LibraryGroups.ARCH_CORE
     inceptionYear = "2017"
     description = "Android Arch-Common"
diff --git a/app-toolkit/core-testing/build.gradle b/app-toolkit/core-testing/build.gradle
index 296e7b7..7f7f3db 100644
--- a/app-toolkit/core-testing/build.gradle
+++ b/app-toolkit/core-testing/build.gradle
@@ -54,10 +54,10 @@
     }
 }
 
-version = LibraryVersions.ARCH_CORE_TESTING.toString()
 supportLibrary {
     name = "Android Core-Testing"
     publish = true
+    mavenVersion = LibraryVersions.ARCH_CORE_TESTING
     mavenGroup = LibraryGroups.ARCH_CORE
     inceptionYear = "2017"
     description = "Android Core-Testing"
diff --git a/app-toolkit/runtime/build.gradle b/app-toolkit/runtime/build.gradle
index c0d7224..526ef4e 100644
--- a/app-toolkit/runtime/build.gradle
+++ b/app-toolkit/runtime/build.gradle
@@ -49,10 +49,10 @@
     }
 }
 
-version = LibraryVersions.ARCH_RUNTIME.toString()
 supportLibrary {
     name = "Android Arch-Runtime"
     publish = true
+    mavenVersion = LibraryVersions.ARCH_RUNTIME
     mavenGroup = LibraryGroups.ARCH_CORE
     inceptionYear = "2017"
     description = "Android Arch-Runtime"
diff --git a/buildSrc/diff_and_docs.gradle b/buildSrc/diff_and_docs.gradle
index 876d1f3..2fcc893 100644
--- a/buildSrc/diff_and_docs.gradle
+++ b/buildSrc/diff_and_docs.gradle
@@ -545,9 +545,11 @@
                         "ignoring API tasks.")
                 return
             }
-            initializeApiChecksForProject(project)
-            registerJavaProjectForDocsTask(project.generateApi, project.compileJava)
-            registerJavaProjectForDocsTask(project.generateDiffs, project.compileJava)
+            project.afterEvaluate {
+                initializeApiChecksForProject(project)
+                registerJavaProjectForDocsTask(project.generateApi, project.compileJava)
+                registerJavaProjectForDocsTask(project.generateDiffs, project.compileJava)
+            }
         }
     }
 }
diff --git a/buildSrc/init.gradle b/buildSrc/init.gradle
index 8d9dff3..6b613d0 100644
--- a/buildSrc/init.gradle
+++ b/buildSrc/init.gradle
@@ -162,9 +162,6 @@
         }
 
         project.ext.currentSdk = gradle.ext.currentSdk
-        apply plugin: 'maven'
-
-        version = LibraryVersions.SUPPORT_LIBRARY.toString();
 
         project.plugins.whenPluginAdded { plugin ->
             def isAndroidLibrary = "com.android.build.gradle.LibraryPlugin"
diff --git a/buildSrc/src/main/groovy/android/support/SupportLibraryExtension.groovy b/buildSrc/src/main/groovy/android/support/SupportLibraryExtension.groovy
index 1dac034..8f86e33 100644
--- a/buildSrc/src/main/groovy/android/support/SupportLibraryExtension.groovy
+++ b/buildSrc/src/main/groovy/android/support/SupportLibraryExtension.groovy
@@ -29,6 +29,7 @@
 
     Project project
     String name;
+    Version mavenVersion;
     String mavenGroup;
     String description;
     String inceptionYear;
diff --git a/buildSrc/src/main/groovy/android/support/SupportLibraryMavenUploader.groovy b/buildSrc/src/main/groovy/android/support/SupportLibraryMavenUploader.groovy
index 6b11a21..b557ec3 100644
--- a/buildSrc/src/main/groovy/android/support/SupportLibraryMavenUploader.groovy
+++ b/buildSrc/src/main/groovy/android/support/SupportLibraryMavenUploader.groovy
@@ -31,7 +31,11 @@
                 if (supportLibraryExtension.mavenGroup == null) {
                     throw Exception("You must specify mavenGroup for " + project.name + " project");
                 }
+                if (supportLibraryExtension.mavenVersion == null) {
+                    throw Exception("You must specify mavenVersion for " + project.name + " project");
+                }
                 project.group = supportLibraryExtension.mavenGroup
+                project.version = supportLibraryExtension.mavenVersion.toString()
             }
         }
 
diff --git a/compat/build.gradle b/compat/build.gradle
index a01767a..82d503c 100644
--- a/compat/build.gradle
+++ b/compat/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -36,6 +37,7 @@
 supportLibrary {
     name = "Android Support Library compat"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren\'t a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/content/build.gradle b/content/build.gradle
index 8b12174..3639301 100644
--- a/content/build.gradle
+++ b/content/build.gradle
@@ -15,6 +15,7 @@
  */
 
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -38,6 +39,7 @@
 supportLibrary {
     name = "Android Support Content"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2017"
     description = "Library providing support for paging across content exposed via a ContentProvider. Use of this library allows a client to avoid expensive interprocess \"cursor window swaps\" on the UI thread."
diff --git a/core-ui/build.gradle b/core-ui/build.gradle
index f0fb49a..cd70447 100644
--- a/core-ui/build.gradle
+++ b/core-ui/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -28,6 +29,7 @@
 supportLibrary {
     name = "Android Support Library core UI"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/core-utils/build.gradle b/core-utils/build.gradle
index cb82dee..b384a37 100644
--- a/core-utils/build.gradle
+++ b/core-utils/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -23,6 +24,7 @@
 supportLibrary {
     name = "Android Support Library core utils"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/customtabs/build.gradle b/customtabs/build.gradle
index ade1bda..28b5f99 100644
--- a/customtabs/build.gradle
+++ b/customtabs/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -26,6 +27,7 @@
 supportLibrary {
     name = "Android Support Custom Tabs"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Support Custom Tabs"
diff --git a/design/build.gradle b/design/build.gradle
index 55e6206..3af966d 100644
--- a/design/build.gradle
+++ b/design/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -65,6 +66,7 @@
 supportLibrary {
     name = "Android Design Support Library"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren\'t a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/dynamic-animation/build.gradle b/dynamic-animation/build.gradle
index e5ecdd2..5069a73 100644
--- a/dynamic-animation/build.gradle
+++ b/dynamic-animation/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -22,6 +23,7 @@
 supportLibrary {
     name = "Android Support DynamicAnimation"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2017"
     description = "Physics-based animation in support library, where the animations are driven by physics force. You can use this Animation library to create smooth and realistic animations."
diff --git a/emoji/appcompat/build.gradle b/emoji/appcompat/build.gradle
index 27818aa..7912c52 100644
--- a/emoji/appcompat/build.gradle
+++ b/emoji/appcompat/build.gradle
@@ -15,6 +15,7 @@
  */
 
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -35,6 +36,7 @@
 supportLibrary {
     name = "Android Emoji AppCompat"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2017"
     description = "EmojiCompat Widgets for AppCompat integration"
diff --git a/emoji/bundled/build.gradle b/emoji/bundled/build.gradle
index 2941f06..c0613f2 100644
--- a/emoji/bundled/build.gradle
+++ b/emoji/bundled/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -25,6 +26,7 @@
 supportLibrary {
     name = "Android Emoji Compat"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2017"
     description = "Library bundled with assets to enable emoji compatibility in Kitkat and newer devices to avoid the empty emoji characters."
diff --git a/emoji/core/build.gradle b/emoji/core/build.gradle
index f4ef90c..f07c277 100644
--- a/emoji/core/build.gradle
+++ b/emoji/core/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -60,6 +61,7 @@
 supportLibrary {
     name = "Android Emoji Compat"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2017"
     description = "Core library to enable emoji compatibility in Kitkat and newer devices to avoid the empty emoji characters."
diff --git a/exifinterface/build.gradle b/exifinterface/build.gradle
index 74333b2..b7218f9 100644
--- a/exifinterface/build.gradle
+++ b/exifinterface/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -19,6 +20,7 @@
 supportLibrary {
     name = "Android Support ExifInterface"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2016"
     description = "Android Support ExifInterface"
diff --git a/fragment/build.gradle b/fragment/build.gradle
index 95886be..dfb6ca9 100644
--- a/fragment/build.gradle
+++ b/fragment/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -25,6 +26,7 @@
 supportLibrary {
     name = "Android Support Library fragment"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren\'t a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/graphics/drawable/animated/build.gradle b/graphics/drawable/animated/build.gradle
index aa17f9b..bfe405f 100644
--- a/graphics/drawable/animated/build.gradle
+++ b/graphics/drawable/animated/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -31,6 +32,7 @@
 supportLibrary {
     name = "Android Support AnimatedVectorDrawable"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Support AnimatedVectorDrawable"
diff --git a/graphics/drawable/static/build.gradle b/graphics/drawable/static/build.gradle
index c6b2584..b8ab699 100644
--- a/graphics/drawable/static/build.gradle
+++ b/graphics/drawable/static/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -26,6 +27,7 @@
 supportLibrary {
     name = "Android Support VectorDrawable"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Support VectorDrawable"
diff --git a/lifecycle/common-java8/build.gradle b/lifecycle/common-java8/build.gradle
index d328cc3..7877b81 100644
--- a/lifecycle/common-java8/build.gradle
+++ b/lifecycle/common-java8/build.gradle
@@ -31,10 +31,10 @@
 
 createAndroidCheckstyle(project)
 
-version = LibraryVersions.LIFECYCLES_EXT.toString()
 supportLibrary {
     name = "Android Lifecycle-Common for Java 8 Language"
     publish = true
+    mavenVersion = LibraryVersions.LIFECYCLES_EXT
     mavenGroup = LibraryGroups.LIFECYCLE
     inceptionYear = "2017"
     description = "Android Lifecycle-Common for Java 8 Language"
diff --git a/lifecycle/common/build.gradle b/lifecycle/common/build.gradle
index 107058b..a3b06dd 100644
--- a/lifecycle/common/build.gradle
+++ b/lifecycle/common/build.gradle
@@ -30,10 +30,10 @@
 
 createAndroidCheckstyle(project)
 
-version = LibraryVersions.LIFECYCLES_CORE.toString()
 supportLibrary {
     name = "Android Lifecycle-Common"
     publish = true
+    mavenVersion = LibraryVersions.LIFECYCLES_CORE
     mavenGroup = LibraryGroups.LIFECYCLE
     inceptionYear = "2017"
     description = "Android Lifecycle-Common"
diff --git a/lifecycle/compiler/build.gradle b/lifecycle/compiler/build.gradle
index 979d050..edc54b0 100644
--- a/lifecycle/compiler/build.gradle
+++ b/lifecycle/compiler/build.gradle
@@ -43,6 +43,7 @@
 supportLibrary {
     name = "Android Lifecycles Compiler"
     publish = true
+    mavenVersion = LibraryVersions.LIFECYCLES_CORE
     mavenGroup = LibraryGroups.LIFECYCLE
     inceptionYear = "2017"
     description = "Android Lifecycles annotation processor"
diff --git a/lifecycle/extensions/build.gradle b/lifecycle/extensions/build.gradle
index 50c2744..082e7f1 100644
--- a/lifecycle/extensions/build.gradle
+++ b/lifecycle/extensions/build.gradle
@@ -53,10 +53,10 @@
 
 createAndroidCheckstyle(project)
 
-version = LibraryVersions.LIFECYCLES_EXT.toString()
 supportLibrary {
     name = "Android Lifecycle Extensions"
     publish = true
+    mavenVersion = LibraryVersions.LIFECYCLES_EXT
     mavenGroup = LibraryGroups.LIFECYCLE
     inceptionYear = "2017"
     description = "Android Lifecycle Extensions"
diff --git a/lifecycle/reactivestreams/build.gradle b/lifecycle/reactivestreams/build.gradle
index 1f375e1..8f5a571 100644
--- a/lifecycle/reactivestreams/build.gradle
+++ b/lifecycle/reactivestreams/build.gradle
@@ -53,10 +53,10 @@
 
 createAndroidCheckstyle(project)
 
-version = LibraryVersions.LIFECYCLES_EXT.toString()
 supportLibrary {
     name = "Android Lifecycle Reactivestreams"
     publish = true
+    mavenVersion = LibraryVersions.LIFECYCLES_EXT
     mavenGroup = LibraryGroups.LIFECYCLE
     inceptionYear = "2017"
     description = "Android Lifecycle Reactivestreams"
diff --git a/lifecycle/runtime/build.gradle b/lifecycle/runtime/build.gradle
index 4084d58..4b7235b 100644
--- a/lifecycle/runtime/build.gradle
+++ b/lifecycle/runtime/build.gradle
@@ -35,10 +35,10 @@
 
 createAndroidCheckstyle(project)
 
-version = LibraryVersions.LIFECYCLES_RUNTIME.toString()
 supportLibrary {
     name 'Android Lifecycle Runtime'
     publish true
+    mavenVersion = LibraryVersions.LIFECYCLES_RUNTIME
     mavenGroup LibraryGroups.LIFECYCLE
     inceptionYear '2017'
     description "Android Lifecycle Runtime"
diff --git a/media-compat/build.gradle b/media-compat/build.gradle
index b0097d5..ec4504e 100644
--- a/media-compat/build.gradle
+++ b/media-compat/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -41,6 +42,7 @@
 supportLibrary {
     name = "Android Support Library media compat"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/paging/common/build.gradle b/paging/common/build.gradle
index 791c130..d07103f 100644
--- a/paging/common/build.gradle
+++ b/paging/common/build.gradle
@@ -37,10 +37,10 @@
 createAndroidCheckstyle(project)
 createKotlinCheckstyle(project)
 
-version = LibraryVersions.PAGING.toString()
 supportLibrary {
     name = "Android Paging-Common"
     publish = true
+    mavenVersion = LibraryVersions.PAGING
     mavenGroup = LibraryGroups.PAGING
     inceptionYear = "2017"
     description = "Android Paging-Common"
diff --git a/paging/runtime/build.gradle b/paging/runtime/build.gradle
index b4c6e28..6613ee9 100644
--- a/paging/runtime/build.gradle
+++ b/paging/runtime/build.gradle
@@ -59,10 +59,10 @@
     }
 }
 
-version = LibraryVersions.PAGING.toString()
 supportLibrary {
     name = "Android Lifecycle Extensions"
     publish = true
+    mavenVersion = LibraryVersions.PAGING
     mavenGroup = LibraryGroups.PAGING
     inceptionYear = "2017"
     description = "Android Lifecycle Extensions"
diff --git a/percent/build.gradle b/percent/build.gradle
index a1d540d..ccee3d2 100644
--- a/percent/build.gradle
+++ b/percent/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -24,6 +25,7 @@
 supportLibrary {
     name = "Android Percent Support Library"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Percent Support Library"
diff --git a/persistence/db-framework/build.gradle b/persistence/db-framework/build.gradle
index 1979e8f..d1e66d6 100644
--- a/persistence/db-framework/build.gradle
+++ b/persistence/db-framework/build.gradle
@@ -48,10 +48,10 @@
     }
 }
 
-version = LibraryVersions.ROOM.toString()
 supportLibrary {
     name = "Android Support SQLite - Framework Implementation"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.PERSISTENCE
     inceptionYear = "2017"
     description = "The implementation of Support SQLite library using the framework code."
diff --git a/persistence/db/build.gradle b/persistence/db/build.gradle
index 1670f68..b6c6572 100644
--- a/persistence/db/build.gradle
+++ b/persistence/db/build.gradle
@@ -47,10 +47,10 @@
     }
 }
 
-version = LibraryVersions.ROOM.toString()
 supportLibrary {
     name = "Android DB"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.PERSISTENCE
     inceptionYear = "2017"
     description = "Android DB"
diff --git a/recommendation/build.gradle b/recommendation/build.gradle
index ed9f975..f6adcb9 100644
--- a/recommendation/build.gradle
+++ b/recommendation/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -17,6 +18,7 @@
 supportLibrary {
     name = "Android Support Recommendation"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Support Recommendation"
diff --git a/room/common/build.gradle b/room/common/build.gradle
index 6b8f9a5..21441a2 100644
--- a/room/common/build.gradle
+++ b/room/common/build.gradle
@@ -30,10 +30,10 @@
 
 createAndroidCheckstyle(project)
 
-version = LibraryVersions.ROOM.toString()
 supportLibrary {
     name = "Android Room-Common"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.ROOM
     inceptionYear = "2017"
     description = "Android Room-Common"
diff --git a/room/compiler/build.gradle b/room/compiler/build.gradle
index dda922a..eb9628c 100644
--- a/room/compiler/build.gradle
+++ b/room/compiler/build.gradle
@@ -82,6 +82,7 @@
 supportLibrary {
     name = "Android Room Compiler"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.ROOM
     inceptionYear = "2017"
     description = "Android Room annotation processor"
diff --git a/room/migration/build.gradle b/room/migration/build.gradle
index 2003c1d..086aac7 100644
--- a/room/migration/build.gradle
+++ b/room/migration/build.gradle
@@ -34,10 +34,10 @@
     testCompile libs.mockito_core
 }
 
-version = LibraryVersions.ROOM.toString()
 supportLibrary {
     name = "Android Room Migration"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.ROOM
     inceptionYear = "2017"
     description = "Android Room Migration"
diff --git a/room/runtime/build.gradle b/room/runtime/build.gradle
index a95eba0..83c2d74 100644
--- a/room/runtime/build.gradle
+++ b/room/runtime/build.gradle
@@ -68,10 +68,10 @@
     }
 }
 
-version = LibraryVersions.ROOM.toString()
 supportLibrary {
     name = "Android Room-Runtime"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.ROOM
     inceptionYear = "2017"
     description = "Android Room-Runtime"
diff --git a/room/rxjava2/build.gradle b/room/rxjava2/build.gradle
index 430efbe..3600b47 100644
--- a/room/rxjava2/build.gradle
+++ b/room/rxjava2/build.gradle
@@ -55,10 +55,10 @@
     }
 }
 
-version = LibraryVersions.ROOM.toString()
 supportLibrary {
     name = "Android Room RXJava2"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.ROOM
     inceptionYear = "2017"
     description = "Android Room RXJava2"
diff --git a/room/testing/build.gradle b/room/testing/build.gradle
index c02f135..cc506a0 100644
--- a/room/testing/build.gradle
+++ b/room/testing/build.gradle
@@ -55,10 +55,10 @@
     }
 }
 
-version = LibraryVersions.ROOM.toString()
 supportLibrary {
     name = "Android Room Testing"
     publish = true
+    mavenVersion = LibraryVersions.ROOM
     mavenGroup = LibraryGroups.ROOM
     inceptionYear = "2017"
     description = "Android Room Testing"
diff --git a/transition/build.gradle b/transition/build.gradle
index cdcd742..326a681 100644
--- a/transition/build.gradle
+++ b/transition/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -50,6 +51,7 @@
 supportLibrary {
     name = "Android Transition Support Library"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2016"
     description = "Android Transition Support Library"
diff --git a/tv-provider/build.gradle b/tv-provider/build.gradle
index 9b5afb2..60c2b2e 100644
--- a/tv-provider/build.gradle
+++ b/tv-provider/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -20,6 +21,7 @@
 supportLibrary {
     name = "Android Support TV Provider"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2017"
     description = "Android Support Library for TV Provider"
diff --git a/v13/build.gradle b/v13/build.gradle
index a14c9ea..bd01c55 100644
--- a/v13/build.gradle
+++ b/v13/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -29,6 +30,7 @@
 supportLibrary {
     name = "Android Support Library v13"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/v14/preference/build.gradle b/v14/preference/build.gradle
index 5dfcc50..f68379a 100644
--- a/v14/preference/build.gradle
+++ b/v14/preference/build.gradle
@@ -15,6 +15,7 @@
  */
 
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -40,6 +41,7 @@
 supportLibrary {
     name = "Android Support Preference v14"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Support Preference v14"
diff --git a/v17/leanback/build.gradle b/v17/leanback/build.gradle
index 57cc60d..4ebec71 100644
--- a/v17/leanback/build.gradle
+++ b/v17/leanback/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -37,6 +38,7 @@
 supportLibrary {
     name = "Android Support Leanback v17"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2014"
     description = "Android Support Leanback v17"
diff --git a/v17/preference-leanback/build.gradle b/v17/preference-leanback/build.gradle
index 6cb0d8e..85d2577 100644
--- a/v17/preference-leanback/build.gradle
+++ b/v17/preference-leanback/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -30,6 +31,7 @@
 supportLibrary {
     name = "Android Support Leanback Preference v17"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Support Leanback Preference v17"
diff --git a/v4/build.gradle b/v4/build.gradle
index f91d5ef..0a17101 100644
--- a/v4/build.gradle
+++ b/v4/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -23,6 +24,7 @@
 supportLibrary {
     name = "Android Support Library v4"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/v7/appcompat/build.gradle b/v7/appcompat/build.gradle
index e7ac27d..308a122 100644
--- a/v7/appcompat/build.gradle
+++ b/v7/appcompat/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -38,6 +39,7 @@
 supportLibrary {
     name = "Android AppCompat Library v7"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren\'t a part of the framework APIs. Compatible on devices running API 14 or later."
diff --git a/v7/cardview/build.gradle b/v7/cardview/build.gradle
index 39820d4..23d8076 100644
--- a/v7/cardview/build.gradle
+++ b/v7/cardview/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -21,6 +22,7 @@
 supportLibrary {
     name = "Android Support CardView v7"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2011"
     description = "Android Support CardView v7"
diff --git a/v7/gridlayout/build.gradle b/v7/gridlayout/build.gradle
index 83e62af..052b9db 100644
--- a/v7/gridlayout/build.gradle
+++ b/v7/gridlayout/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -25,6 +26,7 @@
 supportLibrary {
     name = "Android Support Grid Layout"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2013"
     description = "Android Support Grid Layout"
diff --git a/v7/mediarouter/build.gradle b/v7/mediarouter/build.gradle
index 788fbb1..09e48df 100644
--- a/v7/mediarouter/build.gradle
+++ b/v7/mediarouter/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -34,6 +35,7 @@
 supportLibrary {
     name = "Android MediaRouter Support Library"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2013"
     description = "Android MediaRouter Support Library"
diff --git a/v7/palette/build.gradle b/v7/palette/build.gradle
index a62ff4b..2703f2c 100644
--- a/v7/palette/build.gradle
+++ b/v7/palette/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -20,6 +21,7 @@
 supportLibrary {
     name = "Android Support Palette v7"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2014"
     description = "Android Support Palette v7"
diff --git a/v7/preference/build.gradle b/v7/preference/build.gradle
index d1a022b..f5bc372 100644
--- a/v7/preference/build.gradle
+++ b/v7/preference/build.gradle
@@ -15,6 +15,7 @@
  */
 
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -56,6 +57,7 @@
 supportLibrary {
     name = "Android Support Preference v7"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2015"
     description = "Android Support Preference v7"
diff --git a/v7/recyclerview/build.gradle b/v7/recyclerview/build.gradle
index 9a07946..0dfb276 100644
--- a/v7/recyclerview/build.gradle
+++ b/v7/recyclerview/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -42,6 +43,7 @@
 supportLibrary {
     name = "Android Support RecyclerView v7"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2014"
     description = "Android Support RecyclerView v7"
diff --git a/wear/build.gradle b/wear/build.gradle
index 32b91da..458f722 100644
--- a/wear/build.gradle
+++ b/wear/build.gradle
@@ -1,4 +1,5 @@
 import android.support.LibraryGroups
+import android.support.LibraryVersions
 
 plugins {
     id("SupportAndroidLibraryPlugin")
@@ -39,6 +40,7 @@
 supportLibrary {
     name = "Android Wear Support UI"
     publish = true
+    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
     mavenGroup = LibraryGroups.SUPPORT
     inceptionYear = "2016"
     description = "Android Wear Support UI"