# Kotlin, Groovy and Java Compilation

**URL:** <https://discuss.gradle.org/t/kotlin-groovy-and-java-compilation/14903>\
**Category:** Help/Discuss\
**Created:** [March 3, 2016, 3:27am UTC](https://discuss.gradle.org/t/kotlin-groovy-and-java-compilation/14903 "2016-03-03T03:27:36Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![mattjohnson](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/mattjohnson/32/4815_2.png) [@mattjohnson](https://discuss.gradle.org/u/mattjohnson)\
**Post date:** [March 26, 2016, 1:43am UTC](https://discuss.gradle.org/t/kotlin-groovy-and-java-compilation/14903/8 "2016-03-26T01:43:43Z")

</div>

That was unexpected!

Using this plugin you can see the dependencies between tasks: [https://plugins.gradle.org/plugin/com.dorongold.task-tree](https://plugins.gradle.org/plugin/com.dorongold.task-tree)

When I ran it on my sample project I got the following for build:

```gradle
:build
+--- :assemble
| \--- :jar
| \--- :classes
| +--- :compileGroovy
| | \--- :compileJava
| | \--- :compileKotlin
| +--- :compileJava
| | \--- :compileKotlin
| \--- :processResources

```

As you can see compileGroovy depends on compileJava and compileJava depends on compileKotlin.

What you can try is this:

```gradle
./gradlew -m compileGroovy -x compileJava && ./gradlew -m compileJava -x compileGroovy

```

This will result in:

```gradle
:compileGroovy SKIPPED

BUILD SUCCESSFUL

Total time: 0.63 secs
:compileKotlin SKIPPED
:compileJava SKIPPED

BUILD SUCCESSFUL

Total time: 0.639 secs

```

It’s so crazy that it just might work 😉

---

_[View the full topic](https://discuss.gradle.org/t/kotlin-groovy-and-java-compilation/14903)._
