<commit_before># Gradle 3.0

Gradle 3.0 is the next major Gradle release that offers the opportunity to make breaking changes to the public interface of Gradle. This document captures a laundry
list of ideas to consider before shipping Gradle 3.0.

Note: for the change listed below, the old behaviour or feature to be removed should be deprecated in a Gradle 2.x release. Similarly for changes to behaviour.

# Candidates for Gradle 3.0

The following stories are candidates to be included in a major release of Gradle. Currently, they are *not* scheduled to be included in Gradle 3.0.

## Change minimum version for running Gradle to Java 7

No longer support running Gradle, the wrapper or the Tooling api client on Java 6. Instead, we'd support Java source compilation and test execution on Java 6 and later, as we do for Java 1.5 now.

- Update project target versions, remove customisations for IDEA project generation.
- Remove java 7 checks, eg from continuous build.

### Test coverage

- Warning when running Gradle entry point on Java 6:
    - `gradle`
    - `gradle --daemon`
    - `gradlew`
    - `GradleConnector`
    - `GradleRunner`
    - old `gradlew`
    - old `GradleConnector`
- Warning when running build on Java 6 with entry point running on Java 7+ 
    - `gradle`
    - `gradle --daemon`
    - `gradlew`
    - `GradleConnector`
    - `GradleRunner`
    - old `gradlew`
    - old `GradleConnector`
    - old `GradleRunner`
- Can cross-compile and test for Java 6.

## Change minimum version for building and testing Java source to Java 6

Change cross-compilation and test execution to require Java 6 or later.
Building against Java 5 requires that the compiler daemon and test execution infrastructure still support Java 5.

- Clean up `DefaultClassLoaderFactory`.
- Change `InetAddressFactory` so that it no longer uses reflection to inspect `NetworkInterface`.
- Replace usages of `guava-jdk5`.

### Test coverage

- Warning when running tests on Java 5.

## Drop support for old versions of things

- Using TestNG Javadoc annotations. TestNG dropped support for this in 5.12, in early 2010. Supporting these old style annotations means we need to attach the test source files as an input to the `Test` task, which means there's an up-to-date check cost for this.
- Tooling api clients older than 2.0 (1.5 years old). Gradle 2.x supports tapi clients 1.2 and later. People using tooling older than 2.0 would have to upgrade to a newer version.
- Tooling api client running builds for Gradle versions older than 1.0 (3.75 years old). Tapi 2.x supports Gradle 1.0-m8 and later.
- Wrapper support for versions older than 2.0. Wrapper 2.x supports Gradle 0.9.2 and later (5 years) and Gradle 2.x can be run by wrapper 0.9.2 and later.
- Cached artefact reuse for versions older than 2.0.<commit_msg>Minor Gradle 3.0 spec updates.<commit_after># Gradle 3.0

Gradle 3.0 is the next major Gradle release that offers the opportunity to make breaking changes to the public interface of Gradle. This document captures a laundry
list of ideas to consider before shipping Gradle 3.0.

Note: for the change listed below, the old behaviour or feature to be removed should be deprecated in a Gradle 2.x release. Similarly for changes to behaviour.

# Candidates for Gradle 3.0

The following stories are candidates to be included in a major release of Gradle. Currently, they are *not* scheduled to be included in Gradle 3.0.

## Change minimum version for running Gradle to Java 7

No longer support running Gradle, the wrapper or the Tooling api client on Java 6. Instead, we'd support Java source compilation and test execution on Java 6 and later, as we do for Java 1.5 now.

- Update project target versions, remove customisations for IDEA project generation.
- Remove Java 7 checks, eg from continuous build.

### Test coverage

- Warning when running Gradle entry point on Java 6:
    - `gradle`
    - `gradle --daemon`
    - `gradlew`
    - `GradleConnector`
    - `GradleRunner`
    - old `gradlew`
    - old `GradleConnector`
- Warning when running build on Java 6 with entry point running on Java 7+ 
    - `gradle`
    - `gradle --daemon`
    - `gradlew`
    - `GradleConnector`
    - `GradleRunner`
    - old `gradlew`
    - old `GradleConnector`
    - old `GradleRunner`

## Change minimum version for building and testing Java source to Java 6

Change cross-compilation and test execution to require Java 6 or later.
Building against Java 5 requires that the compiler daemon and test execution infrastructure still support Java 5.

- Clean up `DefaultClassLoaderFactory`.
- Change `InetAddressFactory` so that it no longer uses reflection to inspect `NetworkInterface`.
- Replace usages of `guava-jdk5`.

### Test coverage

- Warning when running tests on Java 5.
- Can cross-compile and test for Java 6 with no warning

## Drop support for old versions of things

- Using TestNG Javadoc annotations. TestNG dropped support for this in 5.12, in early 2010. Supporting these old style annotations means we need to attach the test source files as an input to the `Test` task, which means there's an up-to-date check cost for this.
- Tooling api clients older than 2.0 (1.5 years old). Gradle 2.x supports tapi clients 1.2 and later. People using tooling older than 2.0 would have to upgrade to a newer version.
- Tooling api client running builds for Gradle versions older than 1.0 (3.75 years old). Tapi 2.x supports Gradle 1.0-m8 and later.
- Wrapper support for versions older than 2.0. Wrapper 2.x supports Gradle 0.9.2 and later (5 years) and Gradle 2.x can be run by wrapper 0.9.2 and later.
- Cached artefact reuse for versions older than 2.0.
{'fraction_non_alphanumeric': 0.060451180824814946, 'fraction_numerical': 0.02326401127952062, 'mean_word_length': 3.536370903277378, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '4006238', 'n_tokens_mistral': 1645, 'n_tokens_neox': 1519, 'n_words': 842}