<commit_before>---
type: doc
layout: reference
title: "Using Gradle"
description: "This tutorials walks you through different scenarios when using Gradle for building applications that contain Kotlin code"
---

# Using Gradle

## Plugin and Versions

The *kotlin-gradle-plugin* compiles Kotlin sources and modules.

Define the version of Kotlin you want to use via *kotlin.version*. The possible values are:

* X.Y-SNAPSHOT: Correspond to snapshot version for X.Y releases, updated with every successful build on the CI server. These versions are not really stable and are
only recommended for testing new compiler features. Currently all builds are published as 0.1-SNAPSHOT. To use a snapshot, you need to [configure a snapshot repository
in the build.gradle file](#using-snapshot-versions).

* X.Y.Z: Correspond to release or milestone versions X.Y.Z, updated manually. These are stable builds. Release versions are published to Maven Central Repository. No extra configuration
is needed in your build.gradle file.

The correspondence between milestones and versions is displayed below:

<table>
<thead>
<tr>
  <th>Milestone</th>
  <th>Version</th>
</tr>
</thead>
<tbody>
{% for entry in site.data.releases.list %}
<tr>
  <td>{{ entry.milestone }}</td>
  <td>{{ entry.version }}</td>
</tr>
{% endfor %}
</tbody>
</table>

## Project Layout

Kotlin sources should be located in a separate directory *kotlin* which is located at the same level as the *java* directory for Java sources:

project
>  - main (root)
>>    - kotlin
>>    - java

<commit_msg>Update using-gradle.md<commit_after>---
type: doc
layout: reference
title: "Using Gradle"
description: "This tutorials walks you through different scenarios when using Gradle for building applications that contain Kotlin code"
---

# Using Gradle

## Plugin and Versions

The *kotlin-gradle-plugin* compiles Kotlin sources and modules.

Define the version of Kotlin you want to use via *kotlin.version*. The possible values are:

* X.Y-SNAPSHOT: Correspond to snapshot version for X.Y releases, updated with every successful build on the CI server. These versions are not really stable and are
only recommended for testing new compiler features. Currently all builds are published as 0.1-SNAPSHOT. To use a snapshot, you need to [configure a snapshot repository
in the build.gradle file](#using-snapshot-versions).

* X.Y.Z: Correspond to release or milestone versions X.Y.Z, updated manually. These are stable builds. Release versions are published to Maven Central Repository. No extra configuration
is needed in your build.gradle file.

The correspondence between milestones and versions is displayed below:

<table>
<thead>
<tr>
  <th>Milestone</th>
  <th>Version</th>
</tr>
</thead>
<tbody>
{% for entry in site.data.releases.list %}
<tr>
  <td>{{ entry.milestone }}</td>
  <td>{{ entry.version }}</td>
</tr>
{% endfor %}
</tbody>
</table>

## Project Layout

Kotlin sources should be located in a separate directory *kotlin* which is located at the same level as the *java* directory for Java sources:

    project
        - main (root)
            - kotlin
            - java


{'fraction_non_alphanumeric': 0.09273422562141491, 'fraction_numerical': 0.0012746972594008922, 'mean_word_length': 4.095779220779221, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 0, '>': 44, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2861036', 'n_tokens_mistral': 919, 'n_tokens_neox': 869, 'n_words': 403}