Sitemesh on Confluence 9 and Greylist

Hi!

On https://developer.atlassian.com/server/confluence/get-your-apps-ready-for-gray-api-removal/ the dependeny to opensymphony:sitemesh is listed as being required in scope ‘compile’.

When I have it listed as a ‘compile’ dependency and added the banned exclusion on Confluence 9.0.3 then I get the following error when deploying the app:

confluence-1 | OBR resolver has 7 unsatisfied requirements for installing plugin_17670648460403716412_xxx-1.0.0-SNAPSHOT.obr
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780
confluence-1 | Unsatisfied requirement: (&(package=freemarker.template)) 
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780 
confluence-1 | Unsatisfied requirement: (&(package=org.apache.tapestry.request)) 
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780 
confluence-1 | Unsatisfied requirement: (&(package=org.apache.tapestry.valid)) 
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780 
confluence-1 | Unsatisfied requirement: (&(package=org.apache.velocity.tools.view.servlet)) 
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780
confluence-1 | Unsatisfied requirement: (&(package=freemarker.ext.servlet)) 
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780 
confluence-1 | Unsatisfied requirement: (&(package=javax.rmi))
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780 
confluence-1 | Unsatisfied requirement: (&(package=org.apache.tapestry)) 
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780 
confluence-1 | Plugin installation failed: Failed to resolve plugin dependencies within OBR [plugin_17670648460403716412_xxx-1.0.0-SNAPSHOT.obr]. Please see the logs for more detailed information. 
confluence-1 | -- url: /rest/plugins/1.0/installed-marketplace | userName: admin | referer: http://localhost:8080/plugins/servlet/upm | traceId: 757f4b746e497780

If I add it with provided scope dependency, everything works fine.

Since the com.fasterxml.jackson.core:* dependencies are also still listed here, but should be set to scope ‘provided’ (see Bitbucket), I’d like to ask if I can keep the opensymphony:sitemesh with scope ‘provided’?

If not (I assume this is the correct answer, since it is listed as removed on https://developer.atlassian.com/platform/marketplace/dc-apps-platform-7/#removed-dependencies), why does it work at scope ‘provided’ on Confluence 9.0.3?

And is there any documentation for this? I assume I have to fiddle with the Import section of the Maven Plugin in my pom.xml or have to check for missing transitive dependencies etc., but it would be cool if there was some documentation I just fail to find …

1 Like