Gradle plugin: add compatibility with android-gradle-plugin 0.10.+
#KT-4984 Fixed
This commit is contained in:
@@ -73,6 +73,12 @@
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.gmaven</groupId>
|
||||
<artifactId>gmaven-plugin</artifactId>
|
||||
<version>1.5</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
@@ -90,9 +96,38 @@
|
||||
<resource>
|
||||
<directory>${project.basedir}/src/main/resources</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.build.outputDirectory}/../groovyOutput</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.gmaven</groupId>
|
||||
<artifactId>gmaven-plugin</artifactId>
|
||||
<version>1.5</version>
|
||||
<configuration>
|
||||
<providerSelection>2.0</providerSelection>
|
||||
<source/>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-sources</phase>
|
||||
<goals> <goal>compile</goal></goals>
|
||||
<configuration>
|
||||
<sources>
|
||||
<fileset>
|
||||
<directory>${project.basedir}/src/main/kotlin</directory>
|
||||
<includes>
|
||||
<include>**/*.groovy</include>
|
||||
</includes>
|
||||
</fileset>
|
||||
</sources>
|
||||
<outputDirectory>${project.build.outputDirectory}/../groovyOutput</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>kotlin-maven-plugin</artifactId>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
@@ -108,6 +143,12 @@
|
||||
<id>compile</id>
|
||||
<phase>compile</phase>
|
||||
<goals> <goal>compile</goal> </goals>
|
||||
<configuration>
|
||||
<sourceDirs>
|
||||
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
|
||||
<sourceDir>${project.build.outputDirectory}/../groovyOutput</sourceDir>
|
||||
</sourceDirs>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
|
||||
+2
-1
@@ -39,6 +39,7 @@ import org.gradle.api.artifacts.Dependency
|
||||
import java.util.HashSet
|
||||
import org.gradle.api.UnknownDomainObjectException
|
||||
import org.gradle.api.initialization.dsl.ScriptHandler
|
||||
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
|
||||
|
||||
val DEFAULT_ANNOTATIONS = "org.jebrains.kotlin.gradle.defaultAnnotations"
|
||||
|
||||
@@ -250,7 +251,7 @@ open class KotlinAndroidPlugin(val scriptHandler: ScriptHandler): Plugin<Project
|
||||
}
|
||||
val basePlugin : BasePlugin = plugin as BasePlugin
|
||||
val javaSources = project.files(javaSourceList)
|
||||
val androidRT = project.files(basePlugin.getRuntimeJarList())
|
||||
val androidRT = project.files(AndroidGradleWrapper.getRuntimeJars(basePlugin))
|
||||
val fullClasspath = (javaTask.getClasspath() + (javaSources + androidRT)) - project.files(kotlinTask.kotlinDestinationDir)
|
||||
(task as AbstractCompile).setClasspath(fullClasspath)
|
||||
})
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package org.jetbrains.kotlin.gradle.plugin.android
|
||||
|
||||
import com.android.build.gradle.BasePlugin
|
||||
|
||||
class AndroidGradleWrapper {
|
||||
static def getRuntimeJars(BasePlugin basePlugin) {
|
||||
if (basePlugin.getMetaClass().getMetaMethod("getRuntimeJarList")) {
|
||||
return basePlugin.getRuntimeJarList()
|
||||
}
|
||||
else {
|
||||
return basePlugin.getBootClasspath()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user