Skip to content

Releases: TWiStErRob/net.twisterrob.gradle

0.17 Double Eight ++

02 May 00:37
57ae073
Compare
Choose a tag to compare

Release

Date: 2024-05-02
Version: 0.17

Changes

For the full list of changes see release milestone and diff.

Breaking

  • Make all Gradle created classes abstract (#597)

New

  • Update versions for Android 14 SDK 34 (#642)
  • Gradle 8.4, 8.5, 8.6, 8.7 (#701, #713)
  • AGP 8.2.x, 8.3.x, 8.4.x support (#734)

Fixes

  • Create ValueSources for git ops to support Configuration Cache (#511/#686)

Internal

0.16 Double Eight

25 Jul 09:17
78b68e8
Compare
Choose a tag to compare

Release

Date: 2023-07-25
Version: 0.16

  • New: AGP 8.0.2, AGP 8.1-rc, AGP 8.2-beta
  • New: Gradle 8.0.2, Gradle 8.1.1, Gradle 8.2.1, Gradle 8.3-rc-1
  • New: Revived Graph visualization plugin
  • Breaking: Removed support for AGP 3.x, AGP 4.x
  • Breaking: Removed support for Gradle 5.x, Gradle 6.x

Changes

For the full list of changes see release milestone and diff.

Breaking

  • Remove support: AGP 3.x, AGP 4.x, Gradle 5.x, Gradle 6.x.
    Supported now: AGP 7.0-8.2, Gradle 7.0-8.3 (Epic #369)
    • Remove Gradle 5.x and 6.x support (implies AGP 3.x and 4.x support removed) (#434, #322)
    • Remove most of AGP pre-7.x code (#435)
    • Clean up outdated language dependencies (Java 8, Kotlin 1.3) (#439)
    • Remove all mentions of instant app in AGP (#375/#449)
    • Migrate AndroidManifest.xml to namespace (#233/#450)
    • Modernize testing frameworks and test fixtures (#452)
    • settings.gradle.kts consistently in all tests (#460)
    • Bump build-tools versions (#469/#471)
  • Cutting edge support: AGP alpha/beta/rc CI, Gradle RCs
    • Add CI job for latest stable and preview combinations (#494/#496)

New

  • Nagging settings plugin: since Gradle 8.3 it's necessary to add a separate plugin (apart from bringing in the classpath with ...plugin.settings):
    plugins {
        id("net.twisterrob.gradle.plugin.nagging") version "..."
    }
    • Increase exception stack trace limit for Gradle deprecation nagging (#560)
    • Support Gradle 8.3-rc-1 (#550)
    • Experimental Gradle.buildFinishedCompat { } (#555)
  • Graph, see https://www.twisterrob.net/project/gradle-graph/
    • Revive Graph plugin (#519, #520)
    • Migrate Groovy and Java code to Kotlin (#522)
    • Random cleanup, refactors, improvements (#525)
    • Upgrade d3 3.5.5 to 7.8.4 + slight modernization (#526)
    • Improve developer experience and code (#530)
    • Split JS out of HTML and infer types (#532)
  • dependencies: Android Gradle Plugin 8.0, 8.1, 8.2 (#470, #502)
  • dependencies: Gradle

Fixes

  • Accessing value buildConfigFields has no effect as the feature buildConfig is disabled. (#553/#470/#550)
  • Do not ignore needed Kotlin internals. (#493/#552)
  • Gradle caching, configuration cache, best practices
    • Mark cacheability of all tasks (#291/#457)
    • Improve configuration cache compatibility (#155/#514)
    • Review .provider { } usages (#454)
  • dependencies:
    • org.eclipse.jgit from 6.5.0.202303070854-r to 6.6.0.202305301015-r (#529)
    • se.bjurr.violations:violations-lib from 1.156.2 to 1.156.5 (#429, #479, #507)

Internal

  • Release 0.16 (#428, #557)

  • build: Improvements

    • Move root build.gradle.kts to Gradle convention plugins (#169/#466)
    • Gradle Enterprise 3.12.4 to 3.14 (#430, #436, #468, #486, #488, #492, #534, #548)
    • org.gradle.toolchains:foojay-resolver from 0.5.0 to 0.6.0 (#545)
    • com.gradle.plugin-publish 1.1.0 to 1.2.0 (#453)
    • Kotlin from 1.8.10 to 1.9.0 (#459, #480, #521, #540)
    • Dokka from 1.8.10 to 1.8.20 (#512)
    • Detekt from 1.22.0 to 1.23.0 (#490)
  • dependencies: Testing

  • Cleanup

    • Fix all Detekt issues (#445)
    • Run detekt on gradle/plugins and graph included builds (#556)
    • Reduce detekt CI tasks and add missing reports (#451/#461)
    • Renovate: Fix Gradle upgrades leaking into AGP upgrades (#478/#547)

Full Changelog: v0.15.1...v0.16

0.15.1 Seven Patches

12 Mar 16:54
1556676
Compare
Choose a tag to compare

Release

Date: 2023-03-12
Version: 0.15.1

  • New: Gradle Plugin Markers
  • Breaking: Deprecated plugin IDs

Changes

For the full list of changes see release milestone and diff.

Breaking

  • The old plugin IDs (net.twisterrob.*) are deprecated, use net.twisterrob.gradle.plugin.* instead.

New

  • Gradle Plugin Marker (#372, #426)
    This means the new Gradle Plugin IDs are available without a classpath declaration, just through:
    plugins {
        id("net.twisterrob.gradle.plugin.*") version ""
    }
    Any resolutionStrategy.eachPlugin related to these plugins can also be removed from settings.gradle(.kts).

Fixes

  • lint: Spamming generate...LintModel (#214/#408)
  • report: Support different Windows drives when generating HTML (#423/#424)
  • nagging: Better docs and diagnostics (#405/#??? release)

Internal

  • dependencies: Update AGP 7.4.2 patch (#392, #411)
  • dependencies: Update Gradle 6.9.4, 7.6.1, 8.0-rc patches (#407, #410, #400, #401, #402)
  • dependencies: Update Gradle Enterprise 3.12.3, 3.12.4 patches (#389, #413)
  • dependencies: Jetbrains Annotations patch (#414)
  • dependencies: Violations patch (#416)
  • dependencies: Kotlin 1.8.10 patch (#394, #417)
  • dependencies: Fix how Version Accessors are used (#412)
  • dependencies: Update Nexus Publish Plugin to fix deprecations (#406, #418)
  • dependencies: svnkit patch (#419, #404)
  • dependencies: fail fast if Kotlin versions are out of sync (#397)

0.15 Dependency Updates

30 Jan 20:15
Compare
Choose a tag to compare

Release

Date: 2023-01-30
Version: 0.15

  • New: AGP 7.4, Gradle 7.6 added
  • Fix: Minor fixes in reporting
  • Breaking: AGP 3.1, 3.2, Gradle 4.x removed

Changes

For the full list of changes see release milestone and diff.

Breaking

  • Remove support for Gradle 4.x (#377)
  • Remove support for AGP 3.1 (#377)
  • Remove support for AGP 3.2 (#377)
  • Do not force Java bootstrap classpath (#158/#370)

New

Fixes

  • Deprecated Gradle 8 APIs (#231/#235)
  • report: Display number of violations on modules (#237/#241)
  • report: Better navigation from modules (#239/#242)
  • report: Newer API to populate clipboard (#244/#286)
  • Gradle: better lazy configuration (#11,#33/#253)

Internal

  • CI: Remove NDK hacks (#185)
  • Test: better test outputs and more diagnostic information: Gradle version, Java version, Memory (#247, #357, #385)
  • Test: more examples/documentation (#247)
  • Test: strict tests to catch warnings early (#236, #290)
  • build: Better Kotlin usage (#234/#251, #290)
  • build: buildSrc to included build (#252)
  • build: Use Detekt for code style (#292, #335)
  • build: revisit AGP 7 Java versions hack (#360/#364)
  • build: improvements (#290, #359, #366)
  • Moved all changelog to releases (#213/#388)
  • Minor fixes (#138)

Dependency updates

0.14.1

02 Apr 18:35
Compare
Choose a tag to compare

Release

Date: 2022-04-02
Version: 0.14.1

  • New: automated versionName for GIT

Changes

For the full list of changes see release milestone and diff.

Fixes

  • Conventions/release: auto-use GIT hash for versionName (#201, #222)

Internal

  • Version upkeep (#219)
  • Migrate toml to version.ref (#221)
  • Update Violations lib (#220)

0.14 Latest & Greatest

27 Feb 22:49
Compare
Choose a tag to compare

Release

Date: 2022-02-27
Version: 0.14

  • New: Latest AGP 7.1-7.3 (previews too)
  • New: Latest Gradle 7.4

Changes

For the full list of changes see release milestone and diff.

New

  • Gradle 7.4 (#207)
  • Android Gradle Plugin 7.1 (#208)
  • Android Gradle Plugin 7.2 Beta (#209)
  • Android Gradle Plugin 7.3 Alpha (#210)
  • Gradle 6.9.2 (#212)

Fixes

  • conventions: Unwrap AnalyticsEnabledAndroidTest before looking for impl (#204/#205)
  • conventions: Only add automatic repositories when it's safe (#206/#211)
    i.e. support RepositoriesMode.FAIL_ON_PROJECT_REPOS

Internal

  • Update Release process (#200)

0.13 Seven Seven

20 Dec 01:58
8922ae1
Compare
Choose a tag to compare

Release

Date: 2021-12-20
Version: 0.13

  • New: Support Android Gradle Plugin 7.0.x and Gradle 7.0-7.3
  • New: validateViolations and violationCountFile tasks
  • Breaking: DSL removed for autoVersion and addRunTasks

Changes

For the full list of changes see release milestone and diff. This version had a change log.

Breaking

  • convention: Removed autoVersion DSL, it's automatically deciding whether it needs auto-versioning. (#174)
  • convention: Removed addRunTasks DSL, using lazy task creations instead. (#189)
  • Some internal moves and renames of classes. (#177, #184, #195/#197)
  • Lazy/up-to-date improvements (#11/#186/#189, #194/#196)

New

  • Gradle 7 compatible (up to 7.3) (#163)
  • quality: Android Gradle Plugin 7.0.3 compatible (#180)
    (still uses some deprecated code)
  • New compatibility modules for compile-time checks for old code. (#181)
  • quality: validateViolations and violationCountFile tasks (#195/#197)

Fixes

  • convention: -dump option is not supported by R8 (#175/#179)
  • Kotlin, Java, resources are published in -sources.jar (#187/#192)
  • convention: Fail fast on release (#188/#191)

Internal

0.12 Reports & Convention (Private 4.2.2.14-30-30.0)

01 Nov 09:21
Compare
Choose a tag to compare

Release

Date: 2021-11-01
Version: 0.12

  • Android Gradle Plugin 4.2.2 and Gradle 6.9.1
  • New artifact: twister-convention-plugins for history see CHANGELOG.
  • Various HTML report fixes

Changes

For full list of changes see change log, release milestone (+extra milestone) and diff.

New

  • quality: Android Gradle Plugin 4.2.1 compatible (#126)
  • quality: Android Gradle Plugin 4.2.2 compatible (#145)
  • New artifact: twister-convention-plugins
    Private plugins integrated (#95, #149, #142, #148),
    for history see CHANGELOG.
  • convention: use latest versions of things
    AGP 4.2.2 / Build Tools 30.0.2 (#143) / Gradle 6.9.1 (#141) / Kotlin 1.4.32 / JUnit 5 (#133)
  • convention: R8 support (#144)
  • reports: auto-expand all code blocks (#127)
  • reports: Custom output for LintError (#27/#123)
  • reports: Add back to top button (#59/#152)
  • reports: Render lint title as markdown (#130/#153)

Fixes

  • quality: Fix & escaping in lint (#65/#129)
  • quality: Mention violationReport* tasks from :lint output (#24/#125)
  • convention: migrate release task configuration to be lazy (#104/#134)

Internal

  • tests: lintOptions.check syntax (#124/#128)
  • convention: Move from GrGit to JGit direct usage (#131/#132)
  • Improve GitHub actions: (#135, #136, #150)

Private 4.1.1.14-29-29.1

30 Jan 13:00
Compare
Choose a tag to compare
Pre-release
  • Update Git VCS dependencies to latest, will need to add:
    (Update to next version to remove this need.)
    maven {
        name = "ajoberstar-backup"
        url = "https://ajoberstar.org/bintray-backup/"
        content {
      	  includeGroup("org.ajoberstar")
        }
    }
  • Workaround usability issues in Git VCS plugin

0.11 AGP 4.x / Gradle 6.x / Kotlin 1.4.x

06 Jun 21:10
Compare
Choose a tag to compare

Release

Date: 2021-06-06
Version: 0.11

  • Breaking: Removed Bintray publishing as it shut down, replaced with Maven Central. This is the first release only available in mavenCentral(). (#107/#108)
  • Android Gradle Plugin 4.0.2, 4.1.3, 4.2.0 compatible (#101)
  • Kotlin 1.4 only, 1.4.32 (#112) comes as transitive dependency, exclude if you're behind.
  • Built with Gradle 6.9 (#114), fixed deprecation warnings (#114, #102/#117) with compatibility for older Gradle versions.
  • Full project examples as documentation (#116).

Changes

For full list of changes see change log, release milestone and diff.

Breaking

  • Removed Bintray publishing as it shut down, replaced with Maven Central. Use mavenCentral() instead of custom Bintray url. (#107/#108)
  • Build with Kotlin 1.4.32 (#112), this also comes as transitive dependency.

New

  • Android Gradle Plugin 4.0.2 compatible (#101)
  • Android Gradle Plugin 4.1.3 compatible (#101)
  • Android Gradle Plugin 4.2.0 compatible (#101)
  • Full project examples as documentation (#116), see docs/examples.

Fixes

  • Use new Checkstyle API in Gradle 6.9 (#114) to fix:

    The Checkstyle.setConfigDir() method has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the Checkstyle.getConfigDirectory().set() method instead.

  • Use conventions instead of manually created properties (#102/#117) to fix:

    Querying the mapped value of task ':violationReportHtml' property 'xml' before task ':violationReportHtml' has completed has been deprecated. This will fail with an error in Gradle 7.0.

Deprecations

net.twisterrob.gradle:twister-gradle-test

  • GradleRunnerRule.templateFile(String): File
  • GradleRunnerRule.templateFile(String, Any?): File
  • GradleRunnerRule.setGradleVersion(String)

Internal

  • Moved Continuous Integration from Travis to GitHub Actions (#110).
  • Use Gradle 6.9 to build (#114).
  • Enable Parallel builds (#119/#120)
  • Bump test library versions to latest (#115).
  • Allow ignored tests to run on CI (#72/#110).
  • Let Gradle decide PMD version and adapt to it (#81/#118).
  • Share code style and inspections (#109).
  • Clarify ANDROID_HOME variable (#75/#121).