Conversation
…file * Made into multi-build project * Fixed tests * Cleaned up Taggable * Cleaned up TagLib descriptor
…file * Made into multi-build project * Fixed tests * Cleaned up Taggable * Cleaned up TagLib descriptor
There was a problem hiding this comment.
Pull request overview
This PR restructures the Taggable plugin repo for the Grails 7.0.x line by converting it into a multi-project Gradle build with shared convention plugins, moving integration coverage into an example app, and modernizing CI/CD + docs.
Changes:
- Replace legacy Travis/old GHA setup with new GitHub Actions workflows and updated Gradle wrapper/build layout.
- Split repository into
plugin/,docs/, andexamples/app1/, with build logic centralized inbuild-logic/. - Refresh/clean up core Taggable plugin code, tests, and documentation for Grails 7.x.
Reviewed changes
Copilot reviewed 53 out of 63 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| travis-build.sh | Remove Travis build script |
| .travis.yml | Remove Travis CI config |
| .github/workflows/build.yml | Remove legacy GitHub Actions build |
| .github/workflows/ci.yml | New CI build/test + snapshot publish |
| .github/workflows/release.yml | New staged Maven Central release pipeline |
| .github/workflows/release-notes.yml | Add release-drafter workflow |
| settings.gradle | New multi-project settings + composite build |
| build.gradle | Root build delegates to conventions |
| gradle.properties | Upgrade to 7.0.x build properties |
| gradle/wrapper/gradle-wrapper.properties | Upgrade Gradle wrapper distribution |
| gradlew | Update POSIX Gradle wrapper script |
| gradlew.bat | Update Windows Gradle wrapper script |
| .sdkmanrc | Pin Java/Gradle/Groovy versions |
| .editorconfig | Add formatting rules |
| plugin/build.gradle | New plugin subproject build |
| plugin/grails-app/conf/application.yml | Plugin module config defaults |
| plugin/grails-app/assets/images/.gitkeep | Keep empty assets dir |
| plugin/grails-app/domain/grails/plugins/taggable/Tag.groovy | Add Tag domain class |
| plugin/grails-app/domain/grails/plugins/taggable/TagLink.groovy | Add TagLink domain class |
| plugin/grails-app/services/grails/plugins/taggable/TaggableService.groovy | Refresh domain family mapping logic |
| plugin/grails-app/taglib/grails/plugins/taggable/TagsTagLib.groovy | Add tag cloud taglib |
| plugin/src/main/groovy/grails/plugins/taggable/Taggable.groovy | Trait cleanup + service lookup changes |
| plugin/src/main/groovy/grails/plugins/taggable/TagException.groovy | Add TagException type |
| plugin/src/test/groovy/grails/plugins/taggable/TagsTagLibSpec.groovy | Update taglib unit tests |
| src/integration-test/groovy/grails/plugins/taggable/TaggableSpec.groovy | Remove old integration tests location |
| examples/app1/build.gradle | Add example app project build |
| examples/app1/grails-app/conf/application.yml | Example app config for integration tests |
| examples/app1/grails-app/conf/logback.xml | Example app logging config |
| examples/app1/grails-app/init/grails/plugins/taggable/Application.groovy | Example app bootstrap updates |
| examples/app1/grails-app/domain/grails/plugins/taggable/TestDomain.groovy | Example taggable domain |
| examples/app1/grails-app/domain/grails/plugins/taggable/TestDescendent.groovy | Example polymorphic domain |
| examples/app1/grails-app/views/layouts/main.gsp | Example app layout |
| examples/app1/grails-app/assets/stylesheets/application.css | Example app assets manifest |
| examples/app1/src/integration-test/groovy/grails/plugins/taggable/TaggableSpec.groovy | Move integration tests into example app |
| docs/build.gradle | Add docs project build |
| docs/src/docs/index.adoc | Docs entrypoint |
| docs/src/docs/index.tmpl | Docs landing-page template |
| docs/src/docs/introduction.adoc | Docs introduction section |
| docs/src/docs/introduction/currentVersion.adoc | Docs version compatibility table |
| docs/src/docs/introduction/license.adoc | Docs license section |
| docs/src/docs/introduction/sourceCode.adoc | Docs source code section |
| docs/src/docs/gettingStarted.adoc | Docs getting-started guide |
| docs/src/docs/usage.adoc | Docs usage guide |
| CONTRIBUTING.md | New contributor guide (structure + commands) |
| AGENTS.md | Repository conventions / agent guidance |
| grails-app/conf/application.yml | Remove old root app config |
| build-logic/build.gradle | Convention plugins composite build |
| build-logic/settings.gradle | Build-logic repo management |
| build-logic/src/main/groovy/config.app-run.gradle | bootRun debug flags convention |
| build-logic/src/main/groovy/config.compile.gradle | Compile settings convention |
| build-logic/src/main/groovy/config.docs.gradle | Docs aggregation convention |
| build-logic/src/main/groovy/config.example-app.gradle | Example app convention |
| build-logic/src/main/groovy/config.grails-assets.gradle | Asset pipeline convention |
| build-logic/src/main/groovy/config.grails-plugin.gradle | Grails plugin convention |
| build-logic/src/main/groovy/config.publish.gradle | Publishing toggles convention |
| build-logic/src/main/groovy/config.publish-root.gradle | Root publishing workaround convention |
| build-logic/src/main/groovy/config.testing.gradle | Test logging + JUnit platform convention |
| README.md | Update requirements + install snippet |
| .skills/repository-structure.md | Document repo structure conventions |
| .skills/plugin-project.md | Document plugin-project boundaries |
| .skills/gradle-best-practices.md | Document Gradle best practices |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| This plugin is released under the http://www.apache.org/licenses/LICENSE-2.0[Apache License, Version 2.0]. | ||
|
|
||
| See https://github.com/gpc/taggable/blob/master/LICENSE.txt for the full licence text. |
There was a problem hiding this comment.
The license link hardcodes the master branch. If the default branch is main (or a release branch), this link will be wrong in published docs. Consider linking to a branch-agnostic URL (e.g., /blob/main/…) or using the repo default branch consistently.
There was a problem hiding this comment.
@copilot apply changes based on this feedback
There was a problem hiding this comment.
Applied in 25d3d81. The license docs link now uses a branch-agnostic URL (/blob/HEAD/LICENSE.txt), and wording was cleaned up for consistency.
* origin/7.0.x: Remove Travis CI and GitHub Actions configuration, add .editorconfig file
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/gpc/taggable/sessions/59110057-0ccf-440a-8d17-5e0f63499671 Co-authored-by: sbglasius <625868+sbglasius@users.noreply.github.com>
Agent-Logs-Url: https://github.com/gpc/taggable/sessions/06ae9e5a-0ce2-4dc4-b0fb-9db4723bf799 Co-authored-by: sbglasius <625868+sbglasius@users.noreply.github.com>
Agent-Logs-Url: https://github.com/gpc/taggable/sessions/06ae9e5a-0ce2-4dc4-b0fb-9db4723bf799 Co-authored-by: sbglasius <625868+sbglasius@users.noreply.github.com>
fix #22
Do not merge - when done, promote 7.0.x to default branch