Set minimal supported AGP version to 3.6.4

^KT-51342 Fixed
This commit is contained in:
Yahor Berdnikau
2022-03-31 23:23:40 +02:00
committed by Space
parent 785831c82a
commit bc066e1863
21 changed files with 418 additions and 296 deletions
+192
View File
@@ -75,6 +75,12 @@
<sha256 value="ae240a7d61e5569968d21f9359f49b81d5cc2380038fea82611e1f322be2b666" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.databinding" name="databinding-common" version="3.6.4">
<artifact name="databinding-common-3.6.4.jar">
<md5 value="6c4d0c2470049f615f84b7c7ea4ba5bc" origin="Generated by Gradle"/>
<sha256 value="889950c24d1d5e5e9379eda8320b2b4575c412bfda75917d97d132ab21b6c97a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.databinding" name="databinding-common" version="4.0.1">
<artifact name="databinding-common-4.0.1.jar">
<md5 value="b9d7634693ae3ffc25ae9799aa2aa62e" origin="Generated by Gradle"/>
@@ -91,6 +97,12 @@
<sha256 value="29e1417936f1f61ea40ce53a84af9acd018124d603e10ec1680d4fd4b0eaf05a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.databinding" name="databinding-compiler-common" version="3.6.4">
<artifact name="databinding-compiler-common-3.6.4.jar">
<md5 value="aefe28477a1576613a804fbd04417e17" origin="Generated by Gradle"/>
<sha256 value="e23f8874726be3b9c5b7480b07626623449c6d4fcf844bd487baec05ed9ad531" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.databinding" name="databinding-compiler-common" version="4.0.1">
<artifact name="databinding-compiler-common-4.0.1.jar">
<md5 value="81f848455e0ad3d1e8c458867dddfb52" origin="Generated by Gradle"/>
@@ -193,6 +205,12 @@
<sha256 value="a2c3c4e24919dff01e58d8b6e5b2402c017dd61dbd57e6cd5b63d36ee6e96428" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android" name="signflinger" version="3.6.4">
<artifact name="signflinger-3.6.4.jar">
<md5 value="e0c6150edde2d2092dbfc1c84c850756" origin="Generated by Gradle"/>
<sha256 value="7530b2357936fa5d9ed576c9f613ac001c1ba31db2412e4b0a340599f3ec6006" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android" name="signflinger" version="4.0.1">
<artifact name="signflinger-4.0.1.jar">
<md5 value="fe2eac6f9760f51c152f08c135d071c2" origin="Generated by Gradle"/>
@@ -203,6 +221,12 @@
<sha256 value="e02d4311cfb31fe609fbd6961272c27cf049e2da65cf1f4b726a5253e6e8a631" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android" name="zipflinger" version="3.6.4">
<artifact name="zipflinger-3.6.4.jar">
<md5 value="6c611f8245799eee007cedd6bb7d5006" origin="Generated by Gradle"/>
<sha256 value="bf269f0858338443e0738e8a64227ce4133af0a31b3347da77ea1c086dc71da3" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android" name="zipflinger" version="4.0.1">
<artifact name="zipflinger-4.0.1.jar">
<md5 value="4e3ade775af0448f395527fcd1dc8394" origin="Generated by Gradle"/>
@@ -235,6 +259,12 @@
<sha256 value="8549134881ae1294621fdcb7355479a481997ce05ebc717eac9644473b490be8" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.databinding" name="baseLibrary" version="3.6.4">
<artifact name="baseLibrary-3.6.4.jar">
<md5 value="7ef69b79a56a13d82f5ba236374060cd" origin="Generated by Gradle"/>
<sha256 value="79aa186672c48b2f1b215a8ec44e87c81ab7432cb8479136a6094c36fbc51c31" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.databinding" name="baseLibrary" version="4.0.1">
<artifact name="baseLibrary-4.0.1.jar">
<md5 value="b6325914edfbd5041a350b7e82fcc4c6" origin="Generated by Gradle"/>
@@ -271,6 +301,12 @@
<sha256 value="a7955b8e19c3a2a861d6faa43a58b7c0d46ea9112188ee3e235c6f9f439ecc1a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="annotations" version="26.6.4">
<artifact name="annotations-26.6.4.jar">
<md5 value="79acac1b5cee5343a9e2764227ba5662" origin="Generated by Gradle"/>
<sha256 value="39c0920ed2f15e3d5f37ee8e0312dd0a47260656d45d3e7b849fc914bf785f91" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="annotations" version="27.0.1">
<artifact name="annotations-27.0.1.jar">
<md5 value="7e268d09add023e9b3ec4b3670995cc9" origin="Generated by Gradle"/>
@@ -307,6 +343,12 @@
<sha256 value="ea40b94b3c1284ea7700f011388e2906a8363a66abd902891722b3c557984852" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="common" version="26.6.4">
<artifact name="common-26.6.4.jar">
<md5 value="a7058c8581ab3c3075d125e914e3ad52" origin="Generated by Gradle"/>
<sha256 value="360d41c41222fc3f15c38fcbb68527db4ffc8a462d8043171e862af3412a9c39" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="common" version="27.0.1">
<artifact name="common-27.0.1.jar">
<md5 value="72f686e5dc50c0f6aa0d5656b73668b0" origin="Generated by Gradle"/>
@@ -343,6 +385,12 @@
<sha256 value="23af89c535b01ba36ceed1b6b309b672814eba624e643cd7dedf0519edad50cc" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="dvlib" version="26.6.4">
<artifact name="dvlib-26.6.4.jar">
<md5 value="e15d13b2d283337ed7641adee9a0248e" origin="Generated by Gradle"/>
<sha256 value="55520361f8173f8fd689feb1c1e4aba766add9982e746247fab3b3f71cc089a5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="dvlib" version="27.0.1">
<artifact name="dvlib-27.0.1.jar">
<md5 value="fe30f11285074a1a37b33059e52e6849" origin="Generated by Gradle"/>
@@ -375,6 +423,12 @@
<sha256 value="3d1763ab46199374dc6d94129bba11c70f1d5857e2c81a3ac4898abca40b176b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="repository" version="26.6.4">
<artifact name="repository-26.6.4.jar">
<md5 value="d1e8af1146c012dc98643f39c003460c" origin="Generated by Gradle"/>
<sha256 value="6c4e77e4a7c7224f6e9a2059f4a30f5dff634a28f1f14c6074b3abe7eded722b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="repository" version="27.0.1">
<artifact name="repository-27.0.1.jar">
<md5 value="c74a331960dc2bf7a5485df061ba7200" origin="Generated by Gradle"/>
@@ -411,6 +465,12 @@
<sha256 value="78a522525b30ffc6b7bf1299c831d24ce385f68a9f4878f8f752e9baefa31b0f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="sdk-common" version="26.6.4">
<artifact name="sdk-common-26.6.4.jar">
<md5 value="f877e9156340f8e05a010b4cd2f6a03f" origin="Generated by Gradle"/>
<sha256 value="146f10fcfcfff7c576838260bedeb653222a3dab6a5cdfdad69fd88fb8846bbb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="sdk-common" version="27.0.1">
<artifact name="sdk-common-27.0.1.jar">
<md5 value="9ee479aabf31c6d42fc6b761a62ba79f" origin="Generated by Gradle"/>
@@ -447,6 +507,12 @@
<sha256 value="b854c23892013a326d761cf071c72cf3e038ed0469d10f4a356829fa56e4c132" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="sdklib" version="26.6.4">
<artifact name="sdklib-26.6.4.jar">
<md5 value="44d9e48c1d37b8e3d38953ec3e739454" origin="Generated by Gradle"/>
<sha256 value="d7ab6d02aeb2f5a9d22476af89541c729eca0ef547de6880f30b7f1438cef25f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools" name="sdklib" version="27.0.1">
<artifact name="sdklib-27.0.1.jar">
<md5 value="b8709c4816641bf06fb147748a802dae" origin="Generated by Gradle"/>
@@ -463,6 +529,12 @@
<sha256 value="d1a19c77034d112c90975e5e5f29cbc9534b8c044205704a94705dfd71646126" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="crash" version="26.6.4">
<artifact name="crash-26.6.4.jar">
<md5 value="8dbb4ff7802b78cd5fe013321b4a812a" origin="Generated by Gradle"/>
<sha256 value="fd2320bc4d528e272de301fa41899c8da3702cc0f3e81e50bf392f58043cc7a8" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="crash" version="27.0.1">
<artifact name="crash-27.0.1.jar">
<md5 value="afb074a12dadadd7f94a3888524e82f9" origin="Generated by Gradle"/>
@@ -489,6 +561,12 @@
<sha256 value="ad760915586797d39319f402837b378bff3bb4ed583e3e0c48c965631fb2135f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="protos" version="26.6.4">
<artifact name="protos-26.6.4.jar">
<md5 value="8856916c477f03eacb5a40abb665aa29" origin="Generated by Gradle"/>
<sha256 value="266605b8103f9dfb4cbbb887a948b1ecc63c414d36fd6bb54337e9f069c4a3d2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="protos" version="27.0.1">
<artifact name="protos-27.0.1.jar">
<md5 value="caa0504eb5551dfccfbe05627791f03a" origin="Generated by Gradle"/>
@@ -515,6 +593,12 @@
<sha256 value="1332106a905d48909c81268c9e414946de3e83487db394c6073b0a9b5c3d0ed2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="shared" version="26.6.4">
<artifact name="shared-26.6.4.jar">
<md5 value="a05e3a9835ddd562fd1505785bc0bf3d" origin="Generated by Gradle"/>
<sha256 value="91846f812f1fa98eacde2f12bd82a63ea7121c983b9bf86e57361c50c9139e96" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="shared" version="27.0.1">
<artifact name="shared-27.0.1.jar">
<md5 value="4dc484381e0a559e09ffb914c5f7e44a" origin="Generated by Gradle"/>
@@ -541,6 +625,12 @@
<sha256 value="d0020cfbfd4cd75935f2972d6a24089840d4a10df6f3ef2a796093217dd37796" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="tracker" version="26.6.4">
<artifact name="tracker-26.6.4.jar">
<md5 value="b69c810ac894092decc0e9db5c8b2f02" origin="Generated by Gradle"/>
<sha256 value="c6ac150d2300c6ab20f000ebcffee301eb392b8e96679868963a4aca6186feb7" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.analytics-library" name="tracker" version="27.0.1">
<artifact name="tracker-27.0.1.jar">
<md5 value="7ab9629ad6991abe31237daee56ba2e9" origin="Generated by Gradle"/>
@@ -557,6 +647,12 @@
<sha256 value="a503219b89b0aaf7b7c6c9b3b17d69e655a6c619072b684a1ea4fbf1d7dc49da" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="aapt2-proto" version="0.4.0">
<artifact name="aapt2-proto-0.4.0.jar">
<md5 value="5c998cb5a5d683aee1bf41e87e8ce53b" origin="Generated by Gradle"/>
<sha256 value="fac0435e08898f89eeeb9ca236bea707155ff816c12205ced285ad53604133ca" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="aapt2-proto" version="4.0.1-6197926">
<artifact name="aapt2-proto-4.0.1-6197926.jar">
<md5 value="8772a455b8a3594a0f088e8de127a754" origin="Generated by Gradle"/>
@@ -593,6 +689,12 @@
<sha256 value="91d5a1866139c69756280355a6f61b4d619d0516841580114f45a10f2177327e" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="apksig" version="3.6.4">
<artifact name="apksig-3.6.4.jar">
<md5 value="1de20979131661705ce9107307bf9195" origin="Generated by Gradle"/>
<sha256 value="032d1a3453e9981cd0e82f853034db23ea3ebc7e2d564386c7b7c99b6fdc6c3e" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="apksig" version="4.0.1">
<artifact name="apksig-4.0.1.jar">
<md5 value="0d26c90214e5251420631a398ec84e06" origin="Generated by Gradle"/>
@@ -615,6 +717,12 @@
<sha256 value="8653c85f5fdf1dde840e8b8af7396aeb79c34b66e541b5860059616006535592" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="apkzlib" version="3.6.4">
<artifact name="apkzlib-3.6.4.jar">
<md5 value="51d007c9dc594dac38565792d4cf2a71" origin="Generated by Gradle"/>
<sha256 value="b612c6901e3e28cd7f5d7aff72bb85e8ab6082160bf73d7d86edf9965f3768f2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="apkzlib" version="4.0.1">
<artifact name="apkzlib-4.0.1.jar">
<md5 value="526f9b3802696b0574e00c95b18a08c9" origin="Generated by Gradle"/>
@@ -663,6 +771,12 @@
<sha256 value="476221b5203a7f50089bf185ed95000a34b6f5020ef0a17815afd58606922679" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="builder" version="3.6.4">
<artifact name="builder-3.6.4.jar">
<md5 value="c0af04916bd21666fc9ca899f1fac51c" origin="Generated by Gradle"/>
<sha256 value="789d9122cd19ef894d03f5ebb890a4b878984dc7f39cb9d0828d328cc564aeb6" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="builder" version="4.0.1">
<artifact name="builder-4.0.1.jar">
<md5 value="fbe062229abcdf6cdf3d992f2f1ff422" origin="Generated by Gradle"/>
@@ -705,6 +819,12 @@
<sha256 value="a88f138124a9f016a70bcb4760359a502f65c7deed56507ee4014f4dd9ea853b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="builder-model" version="3.6.4">
<artifact name="builder-model-3.6.4.jar">
<md5 value="e074adf92712c5b172b14e8c2cda48cd" origin="Generated by Gradle"/>
<sha256 value="612358ba74f897ec8a18ed1b08da91b5deeb2e9cf62974e6e72f0e7a06405561" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="builder-model" version="4.0.1">
<artifact name="builder-model-4.0.1.jar">
<md5 value="ee077313f7b02f14d44b4304b61c22ef" origin="Generated by Gradle"/>
@@ -747,6 +867,12 @@
<sha256 value="31089ab1ec19ca7687a010867d2f3807513c805b8226979706f4247b5d4df26f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="builder-test-api" version="3.6.4">
<artifact name="builder-test-api-3.6.4.jar">
<md5 value="a32e20e531955e5c8e37a91182833b3b" origin="Generated by Gradle"/>
<sha256 value="ea8e193421fa45a757e42312e2e7003f4d3fdb653e9d4a07b3c2e197b2254574" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="builder-test-api" version="4.0.1">
<artifact name="builder-test-api-4.0.1.jar">
<md5 value="993ed2da03d1673a6e93e6132ea4423e" origin="Generated by Gradle"/>
@@ -757,6 +883,12 @@
<sha256 value="ef2762d952cd110536cd329297d6129b7022fd11f02185052bfe82abdf0be30e" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="bundletool" version="0.10.3">
<artifact name="bundletool-0.10.3.jar">
<md5 value="320644b301c1b9e2f81428483bf154cc" origin="Generated by Gradle"/>
<sha256 value="20f2e347e9b4ccd9cdcdc2f6e1956ba3cc1641991fbbadc1f86ca60dd6ca64e1" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="bundletool" version="0.13.2">
<artifact name="bundletool-0.13.2.jar">
<md5 value="866a0fab3b76dce58db42b491f162f75" origin="Generated by Gradle"/>
@@ -799,6 +931,12 @@
<sha256 value="8c36de2a2948829c376634fe8926c52907dd7299e9c8ba105fe6d79a33b3c6ca" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="gradle" version="3.6.4">
<artifact name="gradle-3.6.4.jar">
<md5 value="ac8b0ae821199aafde73d185c43ff4cb" origin="Generated by Gradle"/>
<sha256 value="5f89cec23f49d8cd1e94613e8f7990aac13a2099d5089eabb8a0672d828a6889" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="gradle" version="4.0.1">
<artifact name="gradle-4.0.1.jar">
<md5 value="101d65452b8a256eade199ab87fc9375" origin="Generated by Gradle"/>
@@ -831,6 +969,12 @@
<sha256 value="215eca38f6719213c2f492b4d622cdd11676c66c9871f8a2aed0c66d00175628" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="gradle-api" version="3.6.4">
<artifact name="gradle-api-3.6.4.jar">
<md5 value="1ac3626f84e71f1d3e1f694879a3c1f7" origin="Generated by Gradle"/>
<sha256 value="eb1e4f80047963384e9181d61d49f14a0f9850e2a019fdd7949087db033b5902" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="gradle-api" version="4.0.1">
<artifact name="gradle-api-4.0.1.jar">
<md5 value="fe0162063e2127ab5082d719942aefd0" origin="Generated by Gradle"/>
@@ -893,6 +1037,12 @@
<sha256 value="29e45e690dedd165035e97c21c2ca94d0bd4ec16b6b210daa26669a582b6f220" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="manifest-merger" version="26.6.4">
<artifact name="manifest-merger-26.6.4.jar">
<md5 value="d5b3713427b9dd8956d70f7c52dedf16" origin="Generated by Gradle"/>
<sha256 value="278397311680e0010730a711f0055cf9f124fa9a80698db5c89e9e32a48edce6" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build" name="manifest-merger" version="27.0.1">
<artifact name="manifest-merger-27.0.1.jar">
<md5 value="ec68f8bcf287f05456758bca25e5487f" origin="Generated by Gradle"/>
@@ -925,6 +1075,12 @@
<sha256 value="c9f8b016144cfb31c5aee92d47f34de23289167cac5e8ef68365b2dd05766f11" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build.jetifier" name="jetifier-core" version="1.0.0-beta08">
<artifact name="jetifier-core-1.0.0-beta08.jar">
<md5 value="3e06b8b80fa27c2b893ba295fc9720d6" origin="Generated by Gradle"/>
<sha256 value="0930bb58d94e09c61161576ca38853b3dba4ac9320fcf323f9b31bc58a18afda" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build.jetifier" name="jetifier-core" version="1.0.0-beta09">
<artifact name="jetifier-core-1.0.0-beta09.jar">
<md5 value="a6b614ed04be204ab4ca983b36e1a737" origin="Generated by Gradle"/>
@@ -941,6 +1097,12 @@
<sha256 value="1dd481e7606ccb30868908d9ae80f27d1c5ba882f792532bd91ed731c54f4efb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build.jetifier" name="jetifier-processor" version="1.0.0-beta08">
<artifact name="jetifier-processor-1.0.0-beta08.jar">
<md5 value="8e03d547e01d290c6c8867ff3baffba6" origin="Generated by Gradle"/>
<sha256 value="689e5637b0b61b460f447064ff62ed4267203a26a70cf071fa34d7c3faba5366" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.build.jetifier" name="jetifier-processor" version="1.0.0-beta09">
<artifact name="jetifier-processor-1.0.0-beta09.jar">
<md5 value="e61c807b62018a2951fb9ad632ef2fb9" origin="Generated by Gradle"/>
@@ -977,6 +1139,12 @@
<sha256 value="93f56fe4630c3166adbd6c51d7bb602d96abb91b07ba5b1165fdcd071e88c940" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.ddms" name="ddmlib" version="26.6.4">
<artifact name="ddmlib-26.6.4.jar">
<md5 value="09ed76dd4131f02f8ab62c428c051d87" origin="Generated by Gradle"/>
<sha256 value="043904353c0112c0ac1372f9fdaff230897adbf0425f4f921435f6cb1f46654c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.ddms" name="ddmlib" version="27.0.1">
<artifact name="ddmlib-27.0.1.jar">
<md5 value="f628653b21696f5ee203a51d9fd10be6" origin="Generated by Gradle"/>
@@ -1049,6 +1217,12 @@
<sha256 value="93fac87406c97abadb9a58f45776f61cd9aab3b63e1e32471e9271cb3b0d1a14" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.layoutlib" name="layoutlib-api" version="26.6.4">
<artifact name="layoutlib-api-26.6.4.jar">
<md5 value="786a7d8da695190d864af2d4a5b63f72" origin="Generated by Gradle"/>
<sha256 value="9da8efc3faf00deb2ae35ac8020200027afd989633e79e5e8cce4d8bc6ac5b70" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.layoutlib" name="layoutlib-api" version="27.0.1">
<artifact name="layoutlib-api-27.0.1.jar">
<md5 value="6711a74121d4410757a1ef588952e64f" origin="Generated by Gradle"/>
@@ -1095,6 +1269,12 @@
<sha256 value="714b7a85c7d2aa10daeab16e969fe7530c659d0728a7f24021da456870418d0f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.lint" name="lint-gradle-api" version="26.6.4">
<artifact name="lint-gradle-api-26.6.4.jar">
<md5 value="06ce8a28dab9e934af733953d93fb45b" origin="Generated by Gradle"/>
<sha256 value="ff2f61da675363568ed0eee5251342f668469d519d4279b38219bd28a0e3b89a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.android.tools.lint" name="lint-gradle-api" version="27.0.1">
<artifact name="lint-gradle-api-27.0.1.jar">
<md5 value="61e0394916f934f12206bfed5b1790c1" origin="Generated by Gradle"/>
@@ -1539,6 +1719,12 @@
<sha256 value="91b9f17a54e6c340c8d3ea4b359401170706eb26a82d51909abe6ba80081aed8" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.code.gson" name="gson" version="2.8.5">
<artifact name="gson-2.8.5.jar">
<md5 value="089104cb90d8b4e1aa00b1f5faef0742" origin="Generated by Gradle"/>
<sha256 value="233a0149fc365c9f6edbd683cfe266b19bdc773be98eabdaf6b3c924b48e7d81" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.code.gson" name="gson" version="2.8.6">
<artifact name="gson-2.8.6.jar">
<md5 value="310f5841387183aca7900fead98d4858" origin="Generated by Gradle"/>
@@ -1687,6 +1873,12 @@
<sha256 value="a0e9cabad665bc20bcd2b01f108e5fc03f756e13aea80abaadb9f407033bea2c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.guava" name="guava" version="27.1-jre">
<artifact name="guava-27.1-jre.jar">
<md5 value="1a986c6fa05685f173ad9340b6ab6454" origin="Generated by Gradle"/>
<sha256 value="4a5aa70cc968a4d137e599ad37553e5cfeed2265e8c193476d7119036c536fe7" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.guava" name="guava" version="29.0-jre">
<artifact name="guava-29.0-jre.jar">
<md5 value="c87962fe0522b105531f37fe351b3b0c" origin="Generated by Gradle"/>
@@ -7,5 +7,5 @@ dependencies {
api(project(":native:kotlin-native-utils"))
api(project(":kotlin-project-model"))
implementation(project(":kotlin-tooling-core"))
compileOnly("com.android.tools.build:gradle:3.4.0")
compileOnly("com.android.tools.build:gradle:3.6.4")
}
@@ -97,7 +97,7 @@ fun Test.includeTestsWithPattern(include: Boolean, patterns: (MutableSet<String>
}
fun Test.advanceGradleVersion() {
val gradleVersionForTests = "7.0"
val gradleVersionForTests = "7.0.2"
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
}
@@ -4,6 +4,7 @@ import org.gradle.api.logging.LogLevel
import org.gradle.api.logging.configuration.WarningMode
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.internal.ensureParentDirsCreated
import org.jetbrains.kotlin.gradle.testbase.TestVersions
import org.jetbrains.kotlin.gradle.tooling.BuildKotlinToolingMetadataTask
import org.jetbrains.kotlin.gradle.util.*
import org.jetbrains.kotlin.test.util.KtTestUtil
@@ -16,10 +17,160 @@ import kotlin.test.assertNotNull
import kotlin.test.assertNull
import kotlin.test.assertTrue
open class KotlinAndroid36GradleIT : KotlinAndroid34GradleIT() {
open class KotlinAndroid36GradleIT : KotlinAndroid3GradleIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_6_0
// AGP 3.+ is not working well with Gradle 7+
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until(TestVersions.Gradle.G_6_9)
@Test
fun testKaptUsingApOptionProvidersAsNestedInputOutput() = with(Project("AndroidProject")) {
setupWorkingDir()
gradleBuildScript(subproject = "Android").appendText(
"""
apply plugin: 'kotlin-kapt'
class MyNested implements org.gradle.process.CommandLineArgumentProvider {
@InputFile
File inputFile = null
@Override
Iterable<String> asArguments() {
// Read the arguments from a file, because changing them in a build script is treated as an
// implementation change by Gradle:
return [new File('args.txt').text]
}
}
def nested = new MyNested()
nested.inputFile = file("${'$'}projectDir/in.txt")
android.applicationVariants.all {
it.javaCompileOptions.annotationProcessorOptions.compilerArgumentProviders.add(nested)
}
""".trimIndent()
)
File(projectDir, "Android/in.txt").appendText("1234")
File(projectDir, "args.txt").appendText("1234")
val kaptTasks = listOf(":Android:kaptFlavor1DebugKotlin")
val javacTasks = listOf(":Android:compileFlavor1DebugJavaWithJavac")
val buildTasks = (kaptTasks + javacTasks).toTypedArray()
build(*buildTasks) {
assertSuccessful()
assertTasksExecuted(kaptTasks + javacTasks)
}
File(projectDir, "Android/in.txt").appendText("5678")
build(*buildTasks) {
assertSuccessful()
assertTasksExecuted(kaptTasks)
assertTasksUpToDate(javacTasks)
}
// Changing only the annotation provider arguments should not trigger the tasks to run, as the arguments may be outputs,
// internals or neither:
File(projectDir, "args.txt").appendText("5678")
build(*buildTasks) {
assertSuccessful()
assertTasksUpToDate(javacTasks + kaptTasks)
}
}
@Test
fun testAgpNestedArgsNotEvaluatedDuringConfiguration() = with(Project("AndroidProject")) {
setupWorkingDir()
gradleBuildScript(subproject = "Android").appendText(
"""
apply plugin: 'kotlin-kapt'
class MyNested implements org.gradle.process.CommandLineArgumentProvider {
@Override
Iterable<String> asArguments() {
throw new RuntimeException("This should not be invoked during configuration.")
}
}
def nested = new MyNested()
android.applicationVariants.all {
it.javaCompileOptions.annotationProcessorOptions.compilerArgumentProviders.add(nested)
}
""".trimIndent()
)
build(":Android:kaptFlavor1DebugKotlin", "--dry-run") {
assertSuccessful()
}
build(
":Android:kaptFlavor1DebugKotlin", "--dry-run",
options = defaultBuildOptions().copy(kaptOptions = KaptOptions(verbose = false, useWorkers = false))
) {
assertSuccessful()
}
}
@Test
fun testOmittedStdlibVersion() = Project("AndroidProject").run {
setupWorkingDir()
gradleBuildScript("Lib").modify {
it.checkedReplace(
"kotlin-stdlib:\$kotlin_version",
"kotlin-stdlib"
) + "\n" +
"""
apply plugin: 'maven-publish'
android {
defaultPublishConfig 'flavor1Debug'
}
afterEvaluate {
publishing {
publications {
flavorDebug(MavenPublication) {
from components.flavor1Debug
group = 'com.example'
artifactId = 'flavor1Debug'
version = '1.0'
}
}
repositories {
maven {
url = "file://${'$'}buildDir/repo"
}
}
}
}
""".trimIndent()
}
build(":Lib:assembleFlavor1Debug", ":Lib:publish") {
assertSuccessful()
assertTasksExecuted(":Lib:compileFlavor1DebugKotlin", ":Lib:publishFlavorDebugPublicationToMavenRepository")
val pomLines = File(projectDir, "Lib/build/repo/com/example/flavor1Debug/1.0/flavor1Debug-1.0.pom").readLines()
val stdlibVersionLineNumber = pomLines.indexOfFirst { "<artifactId>kotlin-stdlib</artifactId>" in it } + 1
val versionLine = pomLines[stdlibVersionLineNumber]
assertTrue { "<version>${defaultBuildOptions().kotlinVersion}</version>" in versionLine }
}
}
@Test
fun testAndroidMppSourceSets(): Unit = with(
Project("new-mpp-android-source-sets")
@@ -473,7 +624,7 @@ open class KotlinAndroid70GradleIT : KotlinAndroid36GradleIT() {
get() = AGPVersion.v7_0_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("7.0")
get() = GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0)
override fun defaultBuildOptions(): BuildOptions {
val javaHome = File(System.getProperty("jdk11Home") ?: error("jdk11Home not specified"))
@@ -603,194 +754,7 @@ open class KotlinAndroid71GradleIT : KotlinAndroid70GradleIT() {
}
}
open class KotlinAndroid34GradleIT : KotlinAndroid3GradleIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_4_1
// AGP 3.4.1 is not working with Gradle 7+
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until("6.8.4")
@Test
fun testKaptUsingApOptionProvidersAsNestedInputOutput() = with(Project("AndroidProject")) {
setupWorkingDir()
gradleBuildScript(subproject = "Android").appendText(
"""
apply plugin: 'kotlin-kapt'
class MyNested implements org.gradle.process.CommandLineArgumentProvider {
@InputFile
File inputFile = null
@Override
Iterable<String> asArguments() {
// Read the arguments from a file, because changing them in a build script is treated as an
// implementation change by Gradle:
return [new File('args.txt').text]
}
}
def nested = new MyNested()
nested.inputFile = file("${'$'}projectDir/in.txt")
android.applicationVariants.all {
it.javaCompileOptions.annotationProcessorOptions.compilerArgumentProviders.add(nested)
}
""".trimIndent()
)
File(projectDir, "Android/in.txt").appendText("1234")
File(projectDir, "args.txt").appendText("1234")
val kaptTasks = listOf(":Android:kaptFlavor1DebugKotlin")
val javacTasks = listOf(":Android:compileFlavor1DebugJavaWithJavac")
val buildTasks = (kaptTasks + javacTasks).toTypedArray()
build(*buildTasks) {
assertSuccessful()
assertTasksExecuted(kaptTasks + javacTasks)
}
File(projectDir, "Android/in.txt").appendText("5678")
build(*buildTasks) {
assertSuccessful()
assertTasksExecuted(kaptTasks)
assertTasksUpToDate(javacTasks)
}
// Changing only the annotation provider arguments should not trigger the tasks to run, as the arguments may be outputs,
// internals or neither:
File(projectDir, "args.txt").appendText("5678")
build(*buildTasks) {
assertSuccessful()
assertTasksUpToDate(javacTasks + kaptTasks)
}
}
@Test
fun testAgpNestedArgsNotEvaluatedDuringConfiguration() = with(Project("AndroidProject")) {
setupWorkingDir()
gradleBuildScript(subproject = "Android").appendText(
"""
apply plugin: 'kotlin-kapt'
class MyNested implements org.gradle.process.CommandLineArgumentProvider {
@Override
Iterable<String> asArguments() {
throw new RuntimeException("This should not be invoked during configuration.")
}
}
def nested = new MyNested()
android.applicationVariants.all {
it.javaCompileOptions.annotationProcessorOptions.compilerArgumentProviders.add(nested)
}
""".trimIndent()
)
build(":Android:kaptFlavor1DebugKotlin", "--dry-run") {
assertSuccessful()
}
build(
":Android:kaptFlavor1DebugKotlin", "--dry-run",
options = defaultBuildOptions().copy(kaptOptions = KaptOptions(verbose = false, useWorkers = false))
) {
assertSuccessful()
}
}
@Test
fun testOmittedStdlibVersion() = Project("AndroidProject").run {
setupWorkingDir()
gradleBuildScript("Lib").modify {
it.checkedReplace(
"kotlin-stdlib:\$kotlin_version",
"kotlin-stdlib"
) + "\n" +
"""
apply plugin: 'maven-publish'
android {
defaultPublishConfig 'flavor1Debug'
}
afterEvaluate {
publishing {
publications {
flavorDebug(MavenPublication) {
from components.flavor1Debug
group = 'com.example'
artifactId = 'flavor1Debug'
version = '1.0'
}
}
repositories {
maven {
url = "file://${'$'}buildDir/repo"
}
}
}
}
""".trimIndent()
}
build(":Lib:assembleFlavor1Debug", ":Lib:publish") {
assertSuccessful()
assertTasksExecuted(":Lib:compileFlavor1DebugKotlin", ":Lib:publishFlavorDebugPublicationToMavenRepository")
val pomLines = File(projectDir, "Lib/build/repo/com/example/flavor1Debug/1.0/flavor1Debug-1.0.pom").readLines()
val stdlibVersionLineNumber = pomLines.indexOfFirst { "<artifactId>kotlin-stdlib</artifactId>" in it } + 1
val versionLine = pomLines[stdlibVersionLineNumber]
assertTrue { "<version>${defaultBuildOptions().kotlinVersion}</version>" in versionLine }
}
}
}
abstract class KotlinAndroid3GradleIT : AbstractKotlinAndroidGradleTests() {
@Test
fun testApplyWithFeaturePlugin() {
Assume.assumeTrue(
"The com.android.feature plugin has been deprecated and removed in newer versions",
androidGradlePluginVersion < AGPVersion.v3_6_0
)
val project = Project("AndroidProject")
project.setupWorkingDir()
File(project.projectDir, "Lib/build.gradle").modify { text ->
// Change the applied plugin to com.android.feature
text.replace("com.android.library", "com.android.feature")
.replace("compileSdkVersion 22", "compileSdkVersion 26")
.apply { assert(!equals(text)) }
.plus("\nandroid { baseFeature true }")
}
// Check that Kotlin tasks were created for both lib and feature variants:
val kotlinTaskNames =
listOf("Debug").flatMap { buildType ->
listOf("Flavor1", "Flavor2").flatMap { flavor ->
listOf("", "Feature").map { isFeature -> ":Lib:compile$flavor$buildType${isFeature}Kotlin" }
}
}
project.build(":Lib:assembleDebug") {
assertSuccessful()
assertTasksExecuted(*kotlinTaskNames.toTypedArray())
}
}
@Test
fun testAfterEvaluateOrdering() = with(Project("AndroidProject")) {
setupWorkingDir()
@@ -1100,37 +1064,6 @@ fun getSomething() = 10
}
}
@Test
fun testAndroidExtensionsIncremental() {
Assume.assumeTrue(
"Ignored for newer AGP versions because of KT-38622",
androidGradlePluginVersion < AGPVersion.v3_6_0
)
val project = Project("AndroidExtensionsProject")
val options = defaultBuildOptions().copy(incremental = true)
project.build("assembleDebug", options = options) {
assertSuccessful()
val affectedSources = project.projectDir.getFilesByNames(
"MyActivity.kt", "noLayoutUsages.kt"
)
val relativePaths = project.relativize(affectedSources)
assertCompiledKotlinSources(relativePaths)
}
val activityLayout = File(project.projectDir, "app/src/main/res/layout/activity_main.xml")
activityLayout.modify { it.replace("textView", "newTextView") }
project.build("assembleDebug", options = options) {
assertFailed()
val affectedSources = project.projectDir.getFilesByNames("MyActivity.kt")
val relativePaths = project.relativize(affectedSources)
assertCompiledKotlinSources(relativePaths)
}
}
@Test
fun testAndroidExtensionsManyVariants() {
val project = Project("AndroidExtensionsManyVariants")
@@ -7,6 +7,7 @@
package org.jetbrains.kotlin.gradle
import org.jetbrains.kotlin.gradle.ResolvedVariantChecker.ResolvedVariantRequest
import org.jetbrains.kotlin.gradle.testbase.TestVersions
import org.jetbrains.kotlin.gradle.util.AGPVersion
import org.jetbrains.kotlin.gradle.util.checkedReplace
import org.jetbrains.kotlin.gradle.util.modify
@@ -22,12 +23,16 @@ import java.lang.Boolean as RefBoolean
class AndroidAndJavaConsumeMppLibBuiltByGradle69IT : AndroidAndJavaConsumeMppLibIT() {
override val producerAgpVersion: AGPVersion = AGPVersion.v4_2_0
override val producerGradleVersion: GradleVersionRequired = GradleVersionRequired.Exact("6.9")
override val producerGradleVersion: GradleVersionRequired = GradleVersionRequired.Exact(
TestVersions.Gradle.G_6_9
)
}
class AndroidAndJavaConsumeMppLibBuiltByGradle7IT : AndroidAndJavaConsumeMppLibIT() {
override val producerAgpVersion: AGPVersion = AGPVersion.v7_0_0
override val producerGradleVersion: GradleVersionRequired = GradleVersionRequired.AtLeast("7.0")
override val producerGradleVersion: GradleVersionRequired = GradleVersionRequired.AtLeast(
TestVersions.Gradle.G_7_0
)
}
@RunWith(Parameterized::class)
@@ -62,9 +67,9 @@ abstract class AndroidAndJavaConsumeMppLibIT : BaseGradleIT() {
@Parameterized.Parameters(name = "Consumer(AGP={3}, Gradle={4}), flavors={0}, debugOnly={1}, published={2}")
fun testCases(): List<Array<Any>> {
val consumers = listOf(
AGPVersion.v4_2_0 to GradleVersionRequired.Exact("6.9"),
AGPVersion.v4_2_0 to GradleVersionRequired.AtLeast("7.0"),
AGPVersion.v7_0_0 to GradleVersionRequired.AtLeast("7.0"),
AGPVersion.v4_2_0 to GradleVersionRequired.Exact(TestVersions.Gradle.G_6_9),
AGPVersion.v4_2_0 to GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0),
AGPVersion.v7_0_0 to GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0),
)
val buildParams = listOf(
/* useFlavors, isAndroidPublishDebugOnly, isPublishedLibrary */
@@ -2,6 +2,7 @@ package org.jetbrains.kotlin.gradle
import org.gradle.api.logging.LogLevel
import org.gradle.api.logging.configuration.WarningMode
import org.jetbrains.kotlin.gradle.testbase.TestVersions
import org.jetbrains.kotlin.gradle.util.*
import org.jetbrains.kotlin.test.util.KtTestUtil
import org.junit.Assert
@@ -10,18 +11,18 @@ import org.junit.Ignore
import org.junit.Test
import java.io.File
class Kapt3WorkersAndroid34IT : Kapt3Android34IT() {
class Kapt3WorkersAndroid36IT : Kapt3Android36IT() {
override fun kaptOptions(): KaptOptions =
super.kaptOptions().copy(useWorkers = true)
}
open class Kapt3Android34IT : Kapt3AndroidIT() {
open class Kapt3Android36IT : Kapt3AndroidIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_4_1
get() = AGPVersion.v3_6_0
// AGP 3.4 is not working with Gradle 7+
// AGP 3.+ is not working with Gradle 7+
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until("6.8.4")
get() = GradleVersionRequired.Until(TestVersions.Gradle.G_6_9)
@Test
fun testAndroidxNavigationSafeArgs() = with(Project("androidx-navigation-safe-args", directoryPrefix = "kapt2")) {
@@ -77,7 +78,7 @@ class Kapt3Android70IT : Kapt3AndroidIT() {
get() = AGPVersion.v7_0_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("7.0")
get() = GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0)
override fun defaultBuildOptions(): BuildOptions {
val javaHome = File(System.getProperty("jdk11Home")!!)
@@ -199,7 +200,7 @@ abstract class Kapt3AndroidIT : BaseGradleIT() {
assertFileExists("app/build/generated/source/kapt/debug/org/example/kotlin/butterknife/SimpleActivity\$\$ViewBinder.java")
val butterknifeJavaClassesDir =
"app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/org/example/kotlin/butterknife/"
"app/build/intermediates/javac/debug/classes/org/example/kotlin/butterknife/"
assertFileExists(butterknifeJavaClassesDir + "SimpleActivity\$\$ViewBinder.class")
assertFileExists("app/build/tmp/kotlin-classes/debug/org/example/kotlin/butterknife/SimpleAdapter\$ViewHolder.class")
@@ -222,7 +223,7 @@ abstract class Kapt3AndroidIT : BaseGradleIT() {
assertFileExists("app/build/generated/source/kapt/debug/com/example/dagger/kotlin/ui/HomeActivity_MembersInjector.java")
val daggerJavaClassesDir =
"app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/example/dagger/kotlin/"
"app/build/intermediates/javac/debug/classes/com/example/dagger/kotlin/"
assertFileExists(daggerJavaClassesDir + "DaggerApplicationComponent.class")
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.gradle.internals.KOTLIN_12X_MPP_DEPRECATION_WARNING
import org.jetbrains.kotlin.gradle.plugin.EXPECTED_BY_CONFIG_NAME
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_CONFIG_NAME
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_DEPRECATION_WARNING
import org.jetbrains.kotlin.gradle.testbase.TestVersions
import org.jetbrains.kotlin.gradle.util.AGPVersion
import org.jetbrains.kotlin.gradle.util.getFileByName
import org.jetbrains.kotlin.gradle.util.modify
@@ -318,7 +319,7 @@ class MultiplatformGradleIT : BaseGradleIT() {
fun testWithJavaDuplicatedResourcesFail() = with(
Project(
projectName = "mpp-single-jvm-target",
gradleVersionRequirement = GradleVersionRequired.AtLeast("7.0"),
gradleVersionRequirement = GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0),
minLogLevel = LogLevel.WARN
)
) {
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.UnusedSourceSetsChecker
import org.jetbrains.kotlin.gradle.plugin.sources.METADATA_CONFIGURATION_NAME_SUFFIX
import org.jetbrains.kotlin.gradle.plugin.sources.UnsatisfiedSourceSetVisibilityException
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.gradle.testbase.TestVersions
import org.jetbrains.kotlin.gradle.util.*
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.library.KLIB_PROPERTY_SHORT_NAME
@@ -1926,7 +1927,7 @@ class NewMultiplatformIT : BaseGradleIT() {
"new-mpp-wasm-js",
// TODO: this test fails with deprecation error on Gradle <7.0
// Should be fixed via planned fixes in Kotlin/JS plugin: https://youtrack.jetbrains.com/issue/KFC-252
gradleVersionRequirement = GradleVersionRequired.AtLeast("7.0")
gradleVersionRequirement = GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0)
)) {
setupWorkingDir()
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
@@ -11,7 +11,7 @@ interface TestVersions {
object Gradle {
const val G_6_7 = "6.7.1"
const val G_6_8 = "6.8.3"
const val G_6_9 = "6.9.1"
const val G_6_9 = "6.9.2"
const val G_7_0 = "7.0.2"
const val G_7_1 = "7.1.1"
const val G_7_2 = "7.2"
@@ -18,13 +18,12 @@ class AGPVersion private constructor(private val versionNumber: VersionNumber) {
fun fromString(versionString: String): AGPVersion =
AGPVersion(VersionNumber.parse(versionString))
val v3_4_1 = fromString("3.4.3")
val v3_6_0 = fromString("3.6.4")
val v4_1_0 = fromString("4.1.3")
val v4_2_0 = fromString("4.2.0")
val v7_0_0 = fromString("7.0.0-beta02")
val v7_1_0 = fromString("7.1.0-beta03")
val v4_2_0 = fromString("4.2.2")
val v7_0_0 = fromString("7.0.4")
val v7_1_0 = fromString("7.1.2")
val testedVersions = listOf(v3_4_1, v3_6_0, v4_1_0, v4_2_0, v7_0_0, v7_1_0)
val testedVersions = listOf(v3_6_0, v4_1_0, v4_2_0, v7_0_0, v7_1_0)
}
}
@@ -1,9 +1,8 @@
buildscript {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
google()
mavenCentral()
maven { url = uri("https://jcenter.bintray.com/") }
}
dependencies {
@@ -19,7 +18,6 @@ apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 23
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.dagger.kotlin"
@@ -29,6 +27,12 @@ android {
versionName "1.0"
buildConfigField "long", "BUILD_TIME_MILLIS", "${System.currentTimeMillis()}L"
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
@@ -36,17 +40,14 @@ android {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
google()
mavenCentral()
maven { url = uri("https://jcenter.bintray.com/") }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:23.1.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.google.dagger:dagger:2.0.1'
kapt 'com.google.dagger:dagger-compiler:2.0'
implementation 'com.google.dagger:dagger:2.9'
kapt 'com.google.dagger:dagger-compiler:2.9'
compileOnly 'org.glassfish:javax.annotation:10.0-b28'
}
@@ -4,7 +4,6 @@ apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 23
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "org.example.kotlin.butterknife"
@@ -32,10 +31,7 @@ android {
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:23.3.0'
implementation 'com.jakewharton:butterknife:8.0.1'
kapt 'com.jakewharton:butterknife-compiler:8.0.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
@@ -1,7 +1,7 @@
buildscript {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
google()
mavenCentral()
}
dependencies {
@@ -13,7 +13,7 @@ buildscript {
allprojects {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
google()
mavenCentral()
}
}
@@ -5,7 +5,6 @@ apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 23
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.dagger.kotlin"
@@ -14,6 +13,12 @@ android {
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
buildTypes {
release {
minifyEnabled false
@@ -28,9 +33,8 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:23.3.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.google.dagger:dagger:2.6.1'
kapt 'com.google.dagger:dagger-compiler:2.6.1'
implementation 'com.google.dagger:dagger:2.9'
kapt 'com.google.dagger:dagger-compiler:2.9'
compileOnly 'org.glassfish:javax.annotation:10.0-b28'
}
@@ -1,9 +1,8 @@
buildscript {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
google()
mavenCentral()
maven { url = uri("https://jcenter.bintray.com/") }
}
dependencies {
classpath "com.android.tools.build:gradle:$android_tools_version"
@@ -14,8 +13,7 @@ buildscript {
allprojects {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
google()
mavenCentral()
maven { url = uri("https://jcenter.bintray.com/") }
}
}
@@ -63,10 +63,10 @@ dependencies {
exclude(group = "*")
}
compileOnly("com.android.tools.build:gradle:3.4.0")
compileOnly("com.android.tools.build:gradle-api:3.4.0")
compileOnly("com.android.tools.build:builder:3.4.0")
compileOnly("com.android.tools.build:builder-model:3.4.0")
compileOnly("com.android.tools.build:gradle:3.6.4")
compileOnly("com.android.tools.build:gradle-api:3.6.4")
compileOnly("com.android.tools.build:builder:3.6.4")
compileOnly("com.android.tools.build:builder-model:3.6.4")
compileOnly("org.codehaus.groovy:groovy-all:2.4.12")
compileOnly(project(":kotlin-reflect"))
compileOnly(intellijCore())
@@ -85,11 +85,6 @@ dependencies {
embedded(commonDependency("com.google.guava:guava")) { isTransitive = false }
embedded(commonDependency("org.jetbrains.teamcity:serviceMessages")) { isTransitive = false }
// com.android.tools.build:gradle has ~50 unneeded transitive dependencies
compileOnly("com.android.tools.build:gradle:3.0.0") { isTransitive = false }
compileOnly("com.android.tools.build:gradle-core:3.0.0") { isTransitive = false }
compileOnly("com.android.tools.build:builder-model:3.0.0") { isTransitive = false }
if (!kotlinBuildProperties.isInJpsBuildIdeaSync) {
"functionalTestImplementation"("com.android.tools.build:gradle:4.0.1") {
because("Functional tests are using APIs from Android. Latest Version is used to avoid NoClassDefFoundError")
@@ -389,9 +389,9 @@ class Kapt3GradleSubplugin @Inject internal constructor(private val registry: To
val subluginOptionsFromProvidedApOptions = lazy {
val apOptionsFromProviders =
annotationProcessorProviders?.flatMap {
(it as CommandLineArgumentProvider).asArguments()
}.orEmpty()
annotationProcessorProviders
?.flatMap { it.asArguments() }
.orEmpty()
apOptionsFromProviders.map {
// Use the internal subplugin option type to exclude them from Gradle input/output checks, as their providers are already
@@ -829,14 +829,8 @@ internal fun checkAndroidAnnotationProcessorDependencyUsage(project: Project) {
private val BaseVariant.annotationProcessorOptions: Map<String, String>?
get() = javaCompileOptions.annotationProcessorOptions.arguments
private val BaseVariant.annotationProcessorOptionProviders: List<*>
get() = try {
// Public API added in Android Gradle Plugin 3.2.0-alpha15:
val apOptions = javaCompileOptions.annotationProcessorOptions
apOptions.javaClass.getMethod("getCompilerArgumentProviders").invoke(apOptions) as List<*>
} catch (e: NoSuchMethodException) {
emptyList<Any>()
}
private val BaseVariant.annotationProcessorOptionProviders: List<CommandLineArgumentProvider>
get() = javaCompileOptions.annotationProcessorOptions.compilerArgumentProviders
//TODO once the Android plugin reaches its 3.0.0 release, consider compiling against it (remove the reflective call)
private val BaseVariant.dataBindingDependencyArtifactsIfSupported: FileCollection?
@@ -741,13 +741,16 @@ internal open class KotlinAndroidPlugin(
}
companion object {
const val MINIMAL_SUPPORTED_AGP_VERSION = "3.6.4"
fun androidTargetHandler(): AbstractAndroidProjectHandler {
val tasksProvider = AndroidTasksProvider()
if (androidPluginVersion != null) {
val minimalVersion = "3.0.0"
if (compareVersionNumbers(androidPluginVersion, minimalVersion) < 0) {
throw IllegalStateException("Kotlin: Unsupported version of com.android.tools.build:gradle plugin: version $minimalVersion or higher should be used with kotlin-android plugin")
if (compareVersionNumbers(androidPluginVersion, MINIMAL_SUPPORTED_AGP_VERSION) < 0) {
throw IllegalStateException(
"Kotlin: Unsupported version of com.android.tools.build:gradle plugin: " +
"version $MINIMAL_SUPPORTED_AGP_VERSION or higher should be used with kotlin-android plugin"
)
}
}
@@ -812,7 +815,7 @@ abstract class AbstractAndroidProjectHandler(private val kotlinConfigurationTool
protected abstract fun wireKotlinTasks(
project: Project,
compilation: KotlinJvmAndroidCompilation,
androidPlugin: BasePlugin<*>,
androidPlugin: BasePlugin,
androidExt: BaseExtension,
variantData: BaseVariant,
javaTask: TaskProvider<out AbstractCompile>,
@@ -841,7 +844,7 @@ abstract class AbstractAndroidProjectHandler(private val kotlinConfigurationTool
val plugin = androidPluginIds
.asSequence()
.mapNotNull { project.plugins.findPlugin(it) as? BasePlugin<*> }
.mapNotNull { project.plugins.findPlugin(it) as? BasePlugin }
.firstOrNull()
?: throw InvalidPluginException("'kotlin-android' expects one of the Android Gradle " +
"plugins to be applied to the project:\n\t" +
@@ -1035,7 +1038,7 @@ abstract class AbstractAndroidProjectHandler(private val kotlinConfigurationTool
compilation: KotlinJvmAndroidCompilation,
project: Project,
androidExt: BaseExtension,
androidPlugin: BasePlugin<*>
androidPlugin: BasePlugin
) {
getTestedVariantData(variantData)?.let { testedVariant ->
@@ -40,7 +40,7 @@ class Android25ProjectHandler(
override fun wireKotlinTasks(
project: Project,
compilation: KotlinJvmAndroidCompilation,
androidPlugin: BasePlugin<*>,
androidPlugin: BasePlugin,
androidExt: BaseExtension,
variantData: BaseVariant,
javaTask: TaskProvider<out AbstractCompile>,
@@ -13,7 +13,7 @@ import java.lang.reflect.Method
import java.lang.reflect.Modifier
object AndroidGradleWrapper {
fun getRuntimeJars(basePlugin: BasePlugin<*>, baseExtension: BaseExtension): Any? {
fun getRuntimeJars(basePlugin: BasePlugin, baseExtension: BaseExtension): Any? {
return basePlugin("getRuntimeJarList") ?: baseExtension("getBootClasspath") ?: basePlugin("getBootClasspath")
}
}
@@ -15,7 +15,6 @@ import org.gradle.api.attributes.Attribute
import org.gradle.api.attributes.Usage.JAVA_RUNTIME_JARS
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.utils.dashSeparatedName
import org.jetbrains.kotlin.gradle.utils.listProperty
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import org.jetbrains.kotlin.gradle.utils.setProperty
@@ -169,7 +168,7 @@ open class KotlinAndroidTarget(
)
} else {
nestedVariants.single()
} as KotlinTargetComponent // Type inference corner case or bug? this cast in each branch is redundant but required here
}
}.toSet()
}