Skip to content

Conversation

@jdaugherty
Copy link
Contributor

RenderTagLib should be just as accessible as ApplicationTagLib, etc. Otherwise, users have to include internal grails packages (grails-web-gsp-taglib)

@matrei
Copy link
Contributor

matrei commented Nov 3, 2025

RenderTagLib should be just as accessible as ApplicationTagLib, etc. Otherwise, users have to include internal grails packages (grails-web-gsp-taglib)

How are you using RenderTagLib, that does not work at the moment?

@jdaugherty
Copy link
Contributor Author

I'm registering it in unit tests, and it's no longer exposed on the classpath like it was previously and like the other gsp tag libs are.

@matrei
Copy link
Contributor

matrei commented Nov 3, 2025

I'm registering it in unit tests, and it's no longer exposed on the classpath like it was previously and like the other gsp tag libs are.

Then, in my view, you are explicitly using it in your test implementation and should declare it in the testImplementation configuration.

@Taglib is a runtime retention annotation and annotated classes are not needed on the application compile classpath. The other taglibs are available only because they are in grails-gsp and grails-gsp must be on the compile classpath as it has the ControllerTagLibraryTraitInjector transformation.

I'm not going to stop this from being merged, but I think we should be restricting our dependency graphs instead of opening them up, to be able to reduce coupling going forward.

One solution would be to add grails-web-gsp-taglib as an API dependency in grails-testing-support-web (with an explaining comment).

@jdaugherty
Copy link
Contributor Author

@matrei Let's discuss further in the weekly?

@jdaugherty jdaugherty merged commit 5d78f8d into apache:7.0.x Nov 5, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants