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>
|
<artifactId>kotlin-stdlib</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.gmaven</groupId>
|
||||||
|
<artifactId>gmaven-plugin</artifactId>
|
||||||
|
<version>1.5</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
@@ -90,9 +96,38 @@
|
|||||||
<resource>
|
<resource>
|
||||||
<directory>${project.basedir}/src/main/resources</directory>
|
<directory>${project.basedir}/src/main/resources</directory>
|
||||||
</resource>
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>${project.build.outputDirectory}/../groovyOutput</directory>
|
||||||
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
<plugins>
|
<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>
|
<plugin>
|
||||||
<artifactId>kotlin-maven-plugin</artifactId>
|
<artifactId>kotlin-maven-plugin</artifactId>
|
||||||
<groupId>org.jetbrains.kotlin</groupId>
|
<groupId>org.jetbrains.kotlin</groupId>
|
||||||
@@ -108,6 +143,12 @@
|
|||||||
<id>compile</id>
|
<id>compile</id>
|
||||||
<phase>compile</phase>
|
<phase>compile</phase>
|
||||||
<goals> <goal>compile</goal> </goals>
|
<goals> <goal>compile</goal> </goals>
|
||||||
|
<configuration>
|
||||||
|
<sourceDirs>
|
||||||
|
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
|
||||||
|
<sourceDir>${project.build.outputDirectory}/../groovyOutput</sourceDir>
|
||||||
|
</sourceDirs>
|
||||||
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
|
|
||||||
<execution>
|
<execution>
|
||||||
|
|||||||
+2
-1
@@ -39,6 +39,7 @@ import org.gradle.api.artifacts.Dependency
|
|||||||
import java.util.HashSet
|
import java.util.HashSet
|
||||||
import org.gradle.api.UnknownDomainObjectException
|
import org.gradle.api.UnknownDomainObjectException
|
||||||
import org.gradle.api.initialization.dsl.ScriptHandler
|
import org.gradle.api.initialization.dsl.ScriptHandler
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
|
||||||
|
|
||||||
val DEFAULT_ANNOTATIONS = "org.jebrains.kotlin.gradle.defaultAnnotations"
|
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 basePlugin : BasePlugin = plugin as BasePlugin
|
||||||
val javaSources = project.files(javaSourceList)
|
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)
|
val fullClasspath = (javaTask.getClasspath() + (javaSources + androidRT)) - project.files(kotlinTask.kotlinDestinationDir)
|
||||||
(task as AbstractCompile).setClasspath(fullClasspath)
|
(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