gradle-stutter

A Gradle plugin plugin

APACHE-2.0 License

Stars
16

Bot releases are hidden (Show)

gradle-stutter - Latest Release

Published by ajoberstar 8 months ago

Update to resolve a deprecation usage. Bumping to v1 since the general structure of the plugin hasn't changed in a while, so it feels past due.

Breaking Changes

  • Drops configuration cache support for <7.4.2 (due to fix for #36)

Enhancements

None

Fixes

  • #36 Removes use of deprecated method

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
11 7.4.2, 7.6.4, 8.0.2, 8.6
17 7.4.2, 7.6.4, 8.0.2, 8.6
21 8.4, 8.6
gradle-stutter -

Published by ajoberstar about 1 year ago

Small patch to update dependencies.

Breaking Changes

None

Enhancements

None

Fixes

  • #34 Update dependencies

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
11 7.0.2, 7.6.3, 8.0.2, 8.4
17 7.3.3, 7.6.3, 8.0.2, 8.4
21 8.4
gradle-stutter -

Published by ajoberstar over 2 years ago

This release provides compatibility with the configuration cache.

Breaking Changes

None

Enhancements

None

Fixes

  • Stutter no longer fails when configuration cache is enabled

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
11 7.0.2, 7.4
17 7.3.3, 7.4
gradle-stutter -

Published by ajoberstar over 2 years ago

This is a major release to adopt Gradle's toolchain support, task creation avoidance, and lazy configuration APIs. This requires changes to your buildscript to make the upgrade. See the migration notes in the README.

Breaking Changes

  • Drops Gradle 5 and 6 support
  • Drops Java 8 support (for running Gradle, but not for running your compatibility tests)
  • sparse now defaults to true
  • Lock files in .stutter/ are no longer used (you should manually delete them), a single lock file will now be generated in <project>/stutter.lockfile
  • check task no longer depends on compatTest by default (this is a partial way to address #22)
  • stutter {} extension syntax has significantly changed

Enhancements

  • Test matrices use Java toolchains to run your test suite against each supported Java version, rather than requiring you to externally run a matrix build via your CI system
  • Helper tasks are available to run compatibility tests for a specific Java version (e.g. compatTestJava8)

Fixes

  • Stutter now fully leverages lazy configuration and task configuration avoidance, increasing performance at configuration time

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
11 7.0.2, 7.3.3, 7.4-rc-2
17 7.3.3, 7.4-rc-2
gradle-stutter -

Published by ajoberstar about 4 years ago

This is a release to just get dependencies up to date. Amongst that, it involved dropping Gradle 4 support.

Breaking Changes

  • Drops Gradle 4 support

Enhancements

None

Fixes

None

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 5.0, 5.6.4, 6.0.1, 6.6.1, 6.7-rc-1
11 5.0, 5.6.4, 6.0.1, 6.6.1, 6.7-rc-1
15 6.3, 6.6.1, 6.7-rc-1
gradle-stutter -

Published by ajoberstar almost 5 years ago

This release fixes a failing redirect when Stutter calls Gradle's API. They've deprecated their HTTP endpoints in favor of HTTPS. Stutter now calls HTTPS to align with Gradle's direction and just generally follow a better practice.

Breaking Changes

None

Enhancements

None

Fixes

  • #23 Fix redirect from HTTP to HTTPS failure for Gradle API call

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3, 4.10.3, 5.0, 5.6.4, 6.0-rc-3
11 5.0, 5.6.4, 6.0-rc-3
gradle-stutter -

Published by ajoberstar almost 5 years ago

This release fixes a failing redirect when Stutter calls Gradle's API. They've deprecated their HTTP endpoints in favor of HTTPS. Stutter now calls HTTPS to align with Gradle's direction and just generally follow a better practice.

Breaking Changes

None

Enhancements

None

Fixes

  • #23 Fix redirect from HTTP to HTTPS failure for Gradle API call

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3, 4.10.3, 5.0, 5.6.4, 6.0-rc-3
11 5.0, 5.6.4, 6.0-rc-3
gradle-stutter -

Published by ajoberstar almost 5 years ago

This release fixes a failing redirect when Stutter calls Gradle's API. They've deprecated their HTTP endpoints in favor of HTTPS. Stutter now calls HTTPS to align with Gradle's direction and just generally follow a better practice.

Breaking Changes

None

Enhancements

None

Fixes

  • #23 Fix redirect from HTTP to HTTPS failure for Gradle API call

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3, 4.10.3, 5.0, 5.1-rc-3
11 5.0, 5.1-rc-3
gradle-stutter -

Published by ajoberstar almost 6 years ago

This release focused on improving the selection of versions to test against.

Since Gradle patch versions are only intended for compatible fixes, we don't need to test against each patch, just the latest one for each minor. For example, we won't include 4.0, 4.0.1, and 4.0.2, just 4.0.2.

Pre-release versions are now grouped with their base version. For example, compatibleRange '4.0', '5.0' would include 4.0-rc-1, but not 5.0-rc-1.

We now always include rc and milestone versions that are available. They'll only be included if they're the latest version for a particular minor. For example, 5.1-rc-3 will be included until 5.1 final comes out (or a newer rc). Use the incompatible method to mark rcs or milestones that don't work with your plugin.

Breaking Changes

  • #17 Only include latest patch for each minor Gradle version
  • Removed includeActiveRc property from extension, these are now always included if they match your ranges.
  • Removed includeActiveNightly property from extension, these are never included. (See also #18)

Enhancements

  • #19 Pre-release versions are now included correctly in ranges.

Fixes

None

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3, 4.10.3, 5.0, 5.1-rc-3
11 5.0, 5.1-rc-3
gradle-stutter -

Published by ajoberstar almost 6 years ago

This release focused on improving the selection of versions to test against.

Since Gradle patch versions are only intended for compatible fixes, we don't need to test against each patch, just the latest one for each minor. For example, we won't include 4.0, 4.0.1, and 4.0.2, just 4.0.2.

Pre-release versions are now grouped with their base version. For example, compatibleRange '4.0', '5.0' would include 4.0-rc-1, but not 5.0-rc-1.

We now always include rc and milestone versions that are available. They'll only be included if they're the latest version for a particular minor. For example, 5.1-rc-3 will be included until 5.1 final comes out (or a newer rc). Use the incompatible method to mark rcs or milestones that don't work with your plugin.

Breaking Changes

  • #17 Only include latest patch for each minor Gradle version
  • Removed includeActiveRc property from extension, these are now always included if they match your ranges.
  • Removed includeActiveNightly property from extension, these are never included. (See also #18)

Enhancements

  • #19 Pre-release versions are now included correctly in ranges.

Fixes

None

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3, 4.10.3, 5.0, 5.1-rc-3
11 5.0, 5.1-rc-3
gradle-stutter -

Published by ajoberstar over 6 years ago

The big feature in 0.4.0 is the sparse option (defaults to false, but I recommend enabling it). This takes your potentially broad compatibility ranges and cuts it down to the versions that are most critical to test: the minimum and maximum versions within each major Gradle version.

If you have lots of compat tests, your suite can take a long time to run if you test against every version you're compatible with. Sparse cuts you down to the critical ones.

For example:

stutter {
  sparse = true
  java(8) {
    compatibleRange '3.0'
    compatible '2.14'
  }

Would generate a lock file listing: 2.14, 3.0, 3.5.1, 4.0, 4.7.

Breaking Changes

None

Enhancements

  • #15 Sparse option to test against fewer Gradle versions
  • #14 compatTest runs after test (using a shouldRunAfter rule, so more of a suggestion to Gradle)

Fixes

  • #13 Lazily evaluate the compatTest runtimeClasspath to allow this to be customized by users
  • Publish static dependencies in Gradle Plugin Portal POMs

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3, 4.8-rc-3
9 4.3, 4.8-rc-3
10 4.3, 4.8-rc-3
gradle-stutter -

Published by ajoberstar over 6 years ago

The big feature in 0.4.0 is the sparse option (defaults to false, but I recommend enabling it). This takes your potentially broad compatibility ranges and cuts it down to the versions that are most critical to test: the minimum and maximum versions within each major Gradle version.

If you have lots of compat tests, your suite can take a long time to run if you test against every version you're compatible with. Sparse cuts you down to the critical ones.

For example:

stutter {
  sparse = true
  java(8) {
    compatibleRange '3.0'
    compatible '2.14'
  }

Would generate a lock file listing: 2.14, 3.0, 3.5.1, 4.0, 4.7.

Breaking Changes

None

Enhancements

  • #15 Sparse option to test against fewer Gradle versions
  • #14 compatTest runs after test (using a shouldRunAfter rule, so more of a suggestion to Gradle)

Fixes

  • #13 Lazily evaluate the compatTest runtimeClasspath to allow this to be customized by users
  • Publish static dependencies in Gradle Plugin Portal POMs

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3, 4.8-rc-3
9 4.3, 4.8-rc-3
10 4.3, 4.8-rc-3
gradle-stutter -

Published by ajoberstar over 6 years ago

The big feature in 0.4.0 is the sparse option (defaults to false, but I recommend enabling it). This takes your potentially broad compatibility ranges and cuts it down to the versions that are most critical to test: the minimum and maximum versions within each major Gradle version.

If you have lots of compat tests, your suite can take a long time to run if you test against every version you're compatible with. Sparse cuts you down to the critical ones.

For example:

stutter {
  sparse = true
  java(8) {
    compatibleRange '3.0'
    compatible '2.14'
  }

Would generate a lock file listing: 2.14, 3.0, 3.5.1, 4.0, 4.7.

Breaking Changes

None

Enhancements

  • #15 Sparse option to test against fewer Gradle versions
  • #14 compatTest runs after test (using a shouldRunAfter rule, so more of a suggestion to Gradle)

Fixes

  • #13 Lazily evaluate the compatTest runtimeClasspath to allow this to be customized by users

Deprecations

None

Compatibility

Tested against the following versions.

Java Version Gradle Versions
8 4.3 through 4.8-rc-2
9 4.3 through 4.8-rc-2
10 4.3 through 4.8-rc-2
gradle-stutter -

Published by ajoberstar over 6 years ago

This release introduces lock files for specifying Gradle versions, which are pulled from services.gradle.org and matches against compatibility ranges specified in your build file. Lock files are used to generate tasks for each compatible version applicable to your JVM version.

Breaking Changes

  • Stutter extension completely rewritten
  • No compatTest<version> tasks will be created unless you generate a lock file

Enhancements

  • #9 Use services.gradle.org to determine available versions

Fixes

None

Deprecations

None

Compatibility

Java: requires 8 or higher
Gradle: untested

gradle-stutter -

Published by ajoberstar over 6 years ago

This release introduces lock files for specifying Gradle versions, which are pulled from services.gradle.org and matches against compatibility ranges specified in your build file. Lock files are used to generate tasks for each compatible version applicable to your JVM version.

Breaking Changes

  • Stutter extension completely rewritten
  • No compatTest<version> tasks will be created unless you generate a lock file

Enhancements

  • #9 Use services.gradle.org to determine available versions

Fixes

None

Deprecations

None

Compatibility

Java: requires 8 or higher
Gradle: untested

gradle-stutter -

Published by ajoberstar over 6 years ago

This release bumps dependencies.

Breaking Changes

None

Enhancements

None

Fixes

None

Deprecations

None

Compatibility

Java: requires 8 or higher
Gradle: untested

gradle-stutter -

Published by ajoberstar about 7 years ago

This is a breaking release to fix a deprecation warning in Gradle 4. It likely doesn't work with anything lower than 4 anymore.

Breaking Changes

  • #8 Avoid deprecation warning for using classesDir instead of classesDirs in Gradle 4.

Enhancements

None

Fixes

None

Deprecations

None

Compatibility

Java: requires 8 or higher
Gradle: untested

gradle-stutter -

Published by ajoberstar almost 8 years ago

This is the first version of gradle-stutter, which provides the org.ajoberstar.stutter plugin.

Enhancements

  • Creates compatTest source set and tasks to run tests against multiple Gradle versions.

Fixes

None

Compatibility

Java: requires 8 or higher
Gradle: tested against 3.2.1

Package Rankings
Top 33.16% on Repo1.maven.org