Releases: TWiStErRob/net.twisterrob.gradle
0.17 Double Eight ++
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
Internal
-
dependencies
- Gradle 8.2.1 to 8.7 (#567, #572, #574, #578, #579, #596, #601, #604, #605, #606, #607, #620, #624, #628, #631, #633, #634, #649, #658, #661, #665, #687, #688, #689, #691, #695, #712)
- AGP 8.1.0 to 8.4.0 (#563, #564, #565, #571, #582, #585, #589, #591, #594, #598, #603, #612, #615, #621, #622, #626, #637, #638, #659, #666, #698, #709, #726, #705, #711, #717, #720, #723, #733)
- violations-lib 1.156.5 to 1.157.1 (#595, #610, #700, #715, #718)
- JGit 6.6.0 to 6.9.0 (#587, #590, #648, #706)
- Update Graph dependencies (#681, #693, #708, #692, #727)
-
Cleanup
-
build: Gradle and CI improvements
- Quiet Android SDK installation logs on CI (#629)
- Add name for buildSrc (#551/#602/#640)
- Set repository description for publishing (#558/#641)
- Use reusable workflow for wrapper validation (#682)
- Remove traces of withoutKotlin hacks. (#696)
- Relocate graph plugin ID and prepare publishing (#710)
- Migrate renovate config (v36 and v37) #623
- Build with Kotlin preview (#702)
- Download Test Results XML artifacts via pattern (#656)
-
dependencies: Build
- actions: github-workflows (#722, #728, #732), setup-android (#600), checkout (#588), setup-java (#635), upload-artifact (#655), cache (#664), codeql-action (#650), cancel-action (#683)
- Gradle Enterprise / Develocity 3.14.0 to 3.17.2 (#566, #593, #608, #647, #651, #669, #719, #725, #730)
- publishing (#580, #721)
- Foojay Resolver 0.6.0 to 0.8.0 (#581, #662)
- Kotlin 1.9.0 to 1.9.23 (#584, #614, #630, #657, #704)
- Dokka 1.8.20 to 1.9.20 (#586, #611, #703)
- detekt 1.23.0 to 1.23.6 (#616, #617, #632, #684, #716)
- annotations 24.0.1 to 24.1.0 (#625)
-
dependencies: Testing
0.16 Double Eight
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
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 "..." }
- Graph, see https://www.twisterrob.net/project/gradle-graph/
- 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
- dependencies:
Internal
-
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
Full Changelog: v0.15.1...v0.16
0.15.1 Seven Patches
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, usenet.twisterrob.gradle.plugin.*
instead.
New
- Gradle Plugin Marker (#372, #426)
This means the new Gradle Plugin IDs are available without aclasspath
declaration, just through:Anyplugins { id("net.twisterrob.gradle.plugin.*") version "" }
resolutionStrategy.eachPlugin
related to these plugins can also be removed fromsettings.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
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
- Support AGP 7.2, 7.3, 7.4 (#232, #250, #268, #288, #293, #310, #312, #318, #320, #323, #345, #351, #352, #363, #364)
- Support Gradle 7.5.1, 7.5, 7.6, 8.0 RC 2 (#249, #314, #336, #382, #357)
- report: Link to documentation (#245)
- Settings: artifact, slug and
doNotNagAbout
,enableFeaturePreviewQuietly
functions (#290, #223/#272, #385)
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
- CI: Actions (#225, #254, #311, #321, #331, #340, #378)
- Test: Remove Guava (#229)
- GitHub: introduce Renovate (#228, #280)
- Lots of minor dependency updates (#254, #348, #362)
- se.bjurr.violations (#266, #267, #269, #270, #301, #367, #368, #371, #373)
- com.gradle.enterprise (#313, #319, #324, #347, #350, #358)
- Test: JUnit (#294, #361), Pioneer (#329, #330, #332, #343)
- Test: Mockito (#284, #333, #349, #354, #316, #337)
- Test: Mockk (#287, #295, #302, #341, #384)
- Kotlin (#308, #315, #325, #338, #353)
- svnkit (#279, #328)
0.14.1
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
Internal
0.14 Latest & Greatest
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. supportRepositoriesMode.FAIL_ON_PROJECT_REPOS
Internal
- Update Release process (#200)
0.13 Seven Seven
Release
Date: 2021-12-20
Version: 0.13
- New: Support Android Gradle Plugin 7.0.x and Gradle 7.0-7.3
- New:
validateViolations
andviolationCountFile
tasks - Breaking: DSL removed for
autoVersion
andaddRunTasks
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
andviolationCountFile
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)
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
Private 4.1.1.14-29-29.1
- 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
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).