diff --git a/SystemUIShared/build.gradle b/SystemUIShared/build.gradle index 4af9a21c9f..74caa07353 100644 --- a/SystemUIShared/build.gradle +++ b/SystemUIShared/build.gradle @@ -39,6 +39,7 @@ android { } addFrameworkJar('framework-12l.jar') + replaceFrameworkJar('framework-12l.jar') } dependencies { diff --git a/build.gradle b/build.gradle index 2f91efc0cf..5d74767725 100644 --- a/build.gradle +++ b/build.gradle @@ -33,15 +33,32 @@ allprojects { maven { url 'https://jitpack.io' } } - ext.addFrameworkJar = { String path -> - def frameworkJar = new File(rootProject.projectDir, 'prebuilts/libs/' + path) + ext.getFrameworkJar = { String name -> + def frameworkJar = new File(rootProject.projectDir, 'prebuilts/libs/' + name) if (!frameworkJar.exists()) { throw new IllegalArgumentException("Framework jar path doesn't exist") } + return frameworkJar + } + + ext.addFrameworkJar = { String name -> + def frameworkJar = getFrameworkJar(name) gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.bootstrapClasspath = files([frameworkJar] + (options.bootstrapClasspath.files as Iterable)) } + tasks.withType(org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask) { + it.classpath.from(files([frameworkJar])) + } + tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { + it.classpath.from(files([frameworkJar])) + } + } + } + + ext.replaceFrameworkJar = { String name -> + def frameworkJar = getFrameworkJar(name) + gradle.projectsEvaluated { tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { def originalFiles = [] + it.classpath.files def newFiles = [] @@ -52,10 +69,8 @@ allprojects { newFiles.add(file) } } - it.classpath.setFrom(files(newFiles)) - } - tasks.withType(org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask) { - it.classpath.from(files([frameworkJar] + (it.classpath.files as Iterable))) + it.classpath.setFrom(files([])) + it.classpath.from(files(newFiles)) } } }