grails/grails-gsp

`grails-gsp` should not depend on `codeconsole/grails-sitemesh3`

Opened this issue · 7 comments

The dependency appears to be required solely for the String constant RENDERING_VIEW_ATTRIBUTE.

@codeconsole Could we either reverse this dependency or recreate the constant in grails-gsp to decouple grails-gsp from the grails-sitemesh3 plugin?

@matrei I believe this was done because there was a forced dependency for the constant for SiteMesh 2. Can you provide a code link to where the plugin is being required?

Sure, here are links to the usages:

api "org.sitemesh:grails-plugin-sitemesh3:6.2.0"

import org.grails.web.sitemesh.GroovyPageLayoutFinder;

request.setAttribute(GroovyPageLayoutFinder.RENDERING_VIEW_ATTRIBUTE, Boolean.TRUE);

import org.grails.web.sitemesh.GroovyPageLayoutFinder;

request.setAttribute(GroovyPageLayoutFinder.RENDERING_VIEW_ATTRIBUTE, Boolean.TRUE);

@matrei thanks for that. It has been so long, I forgot I removed sitemesh2 from grails-gsp as well. The reason it was required is layouts are a fundamental part of Grails Web GSP and they will not work without SiteMesh or SiteMesh 3. SiteMesh 2 has always been a forced dependency. If we want to offer a version of grails that does not support layouts, we could remove the dependency. I don't have a problem with that. Another reason to not force SiteMesh 3 resolution would be if we decided to keep support for SiteMesh 2.

sitemesh3-grails-plugin could also be brought in under grails-gsp repo

sitemesh3-grails-plugin could also be brought in under grails-gsp repo

@codeconsole Yes, I think that makes sense, as sitemesh is such an integral part of Grails 👍

@codeconsole @jamesfredley if we bring the sitemesh plugin under grails gsp, we remove one of the last 2 circular dependency references. We should consider doing this to stream line our build process