119b41105359a52aeb80070dec40247241231f05dYigit Boyar/* 219b41105359a52aeb80070dec40247241231f05dYigit Boyar * Copyright (C) 2016 The Android Open Source Project 319b41105359a52aeb80070dec40247241231f05dYigit Boyar * 419b41105359a52aeb80070dec40247241231f05dYigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 519b41105359a52aeb80070dec40247241231f05dYigit Boyar * you may not use this file except in compliance with the License. 619b41105359a52aeb80070dec40247241231f05dYigit Boyar * You may obtain a copy of the License at 719b41105359a52aeb80070dec40247241231f05dYigit Boyar * 819b41105359a52aeb80070dec40247241231f05dYigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 919b41105359a52aeb80070dec40247241231f05dYigit Boyar * 1019b41105359a52aeb80070dec40247241231f05dYigit Boyar * Unless required by applicable law or agreed to in writing, software 1119b41105359a52aeb80070dec40247241231f05dYigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 1219b41105359a52aeb80070dec40247241231f05dYigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1319b41105359a52aeb80070dec40247241231f05dYigit Boyar * See the License for the specific language governing permissions and 1419b41105359a52aeb80070dec40247241231f05dYigit Boyar * limitations under the License. 1519b41105359a52aeb80070dec40247241231f05dYigit Boyar */ 16d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyarimport android.support.LibraryVersions 178fe7624039b42a6ae9477334ac86a12267113a3bYigit Boyarimport android.support.SupportLibraryExtension 188fe7624039b42a6ae9477334ac86a12267113a3bYigit Boyar 19d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyarapply plugin: android.support.SupportKotlinLibraryPlugin 2019b41105359a52aeb80070dec40247241231f05dYigit Boyar 2119b41105359a52aeb80070dec40247241231f05dYigit Boyardef antlrOut = "$buildDir/generated/antlr/grammar-gen/" 2219b41105359a52aeb80070dec40247241231f05dYigit BoyarsourceSets { 2319b41105359a52aeb80070dec40247241231f05dYigit Boyar main.java.srcDirs += 'src/main/grammar-gen' 2419b41105359a52aeb80070dec40247241231f05dYigit Boyar test.java.srcDirs += 'src/tests/kotlin' 2519b41105359a52aeb80070dec40247241231f05dYigit Boyar main.java.srcDirs += antlrOut 2619b41105359a52aeb80070dec40247241231f05dYigit Boyar} 27e69e470336d0b6a1b4a16fe1783af17143d0c426Sergey Vasilinetsproject.ext.noDocs = true 28d38298284cef36dfa8b0749c675fc653b3ea7935Yigit Boyarversion = LibraryVersions.ROOM.toString() 290af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinets 300af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinets// Temporary hack to stop AS to adding two guavas into test's classpath 310af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinetsconfigurations.all { 320af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinets resolutionStrategy { 330af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinets force libs.guava 340af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinets } 350af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinets} 360af2c3fe23515ba1b51095e331cd354ecf970010Sergey Vasilinets 3719b41105359a52aeb80070dec40247241231f05dYigit Boyardependencies { 389c3bbb729d54b8a80595dc30ae8d0c7a2b8df0faYigit Boyar // taken from ButterKnife 392259e4dc433701d006db35df4c5e9f8d51e7d29bYigit Boyar def logger = new com.android.build.gradle.internal.LoggerWrapper(project.logger) 402259e4dc433701d006db35df4c5e9f8d51e7d29bYigit Boyar def sdkHandler = new com.android.build.gradle.internal.SdkHandler(project, logger) 412eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar compile project(":room:common") 42a64756a18111a7312b3fa03b76d13381a8907176Yigit Boyar compile project(":room:migration") 43450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar compile libs.kotlin.stdlib 44450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar compile libs.auto_common 45450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar compile libs.javapoet 46450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar compile libs.antlr 47450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar compile libs.xerial 48fa3905934508aa143d899cb9b62b3b074748c9e9Yigit Boyar compile libs.apache.commons.codec 49450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar testCompile libs.google_compile_testing 509fd8e6171bbdc37f5516fe15b2d96f4ae926ef1aChris Craik testCompile project(":paging:common") 51450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar testCompile libs.junit 52450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar testCompile libs.ij_annotations 533738847ee36fbb5d5c4786199268a89d3a4681a3shepshapard testCompile libs.jsr250 54450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar testCompile libs.mockito_core 55450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar testCompile fileTree(dir: "${sdkHandler.sdkFolder}/platforms/android-$tools.current_sdk/", 56efaf86afac3163868eda7f91a1c04e3f6e6d7520Yigit Boyar include : "android.jar") 572eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar testCompile fileTree(dir: "${new File(project(":room:runtime").buildDir, "libJar")}", 582eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar include : "*.jar") 598fe7624039b42a6ae9477334ac86a12267113a3bYigit Boyar testCompile fileTree(dir: "${new File(project(":persistence:db").buildDir, "libJar")}", 602eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar include : "*.jar") 61efaf86afac3163868eda7f91a1c04e3f6e6d7520Yigit Boyar testCompile files(org.gradle.internal.jvm.Jvm.current().getToolsJar()) 6219b41105359a52aeb80070dec40247241231f05dYigit Boyar} 6319b41105359a52aeb80070dec40247241231f05dYigit Boyar 6419b41105359a52aeb80070dec40247241231f05dYigit Boyardef generateAntlrTask = task('generateAntlrGrammar', type: JavaExec) { 6519b41105359a52aeb80070dec40247241231f05dYigit Boyar def outFolder = file(antlrOut) 6619b41105359a52aeb80070dec40247241231f05dYigit Boyar outputs.dir(outFolder) 6719b41105359a52aeb80070dec40247241231f05dYigit Boyar inputs.dir("$projectDir/SQLite.g4") 6819b41105359a52aeb80070dec40247241231f05dYigit Boyar classpath configurations.runtime 6919b41105359a52aeb80070dec40247241231f05dYigit Boyar main "org.antlr.v4.Tool" 7064db0cc15b78b62a1d44a70fc8b4552e660d952cYigit Boyar args "SQLite.g4", "-visitor", "-o", new File(outFolder, "android/arch/persistence/room/parser").path, 7164db0cc15b78b62a1d44a70fc8b4552e660d952cYigit Boyar "-package", "android.arch.persistence.room.parser" 7219b41105359a52aeb80070dec40247241231f05dYigit Boyar} 7319b41105359a52aeb80070dec40247241231f05dYigit Boyar 7419b41105359a52aeb80070dec40247241231f05dYigit Boyartasks.findByName("compileKotlin").dependsOn(generateAntlrTask) 752eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyartasks.findByName("compileKotlin").dependsOn(":room:runtime:jarDebug") 768fe7624039b42a6ae9477334ac86a12267113a3bYigit Boyartasks.findByName("compileKotlin").dependsOn(":persistence:db:jarDebug") 7719b41105359a52aeb80070dec40247241231f05dYigit Boyar 7819b41105359a52aeb80070dec40247241231f05dYigit BoyarcreateKotlinCheckstyle(project) 7919b41105359a52aeb80070dec40247241231f05dYigit Boyar 80d809f486ce6260186b103cdcda158ff919b4e15eYigit BoyarsupportLibrary { 81d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyar name 'Android Room Compiler' 82d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyar publish true 83d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyar inceptionYear '2017' 84d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyar description "Android Room annotation processor" 85d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyar url SupportLibraryExtension.ARCHITECTURE_URL 86d809f486ce6260186b103cdcda158ff919b4e15eYigit Boyar} 87