ct-parker commented on PR #15: URL: https://github.com/apache/velocity-tools/pull/15#issuecomment-2322948423
> Here are a few takeaways for you why my approach with a single module will _not_ work for Velocity Tools: > > * It violates Maven principals to have one main artifact per module, two different namespaces are two main artifacts > > * How to solve different sets of dependencies at any scope? You can't. > > * How to build classifier artifacts of classier artifacts? JAvadoc/sources? You can't. > > * Downstream consumers doing analysis of dep trees? You can't. > > > There are more arguments I cannot remember ATM, but we have here only one choice: Yet another module in the reactor which just reuses the sources somehow, rewrites them and builds appropriately. > > What I wouldn't also do is to duplicate the sample/showcase modules at all. Why? If a developer cannot make the mental stretch to replace some namespace then he shouldn't deal with it at all. I'd solely focus on Servlet/JSP related code: `velocity-tools-view-jsp` and `velocity-tools-view` (which actually should rather be `velocity-tools-view-servlet`). I will support any solution that results in a way to use `velocity-tools-view` in a modern version of Tomcat (10+). If you are going to split that project, your newly recommended approach would result (e.g.) in the following four artifacts: - velocity-tools-view-servlet (javax) - velocity-tools-view-jsp (jaxax) - velocity-tools-view-servlet-jakarta (jakarta) - velocity-tools-view-jsp-jakarta (jakarta) I would be totally fine with that. This sounds like more than a simple pull request. You probably don't want me trying to change the module names and creating new ones. I'd be willing to try, but I'll stand by for your recommendation. > If a developer cannot make the mental stretch to replace some namespace then he shouldn't deal with it at all. While I agree that it would be unnecessary to duplicate the sample/showcase modules, we were all beginner developers at some point. As a courtesy, perhaps you could simply add a comment above the relevant imports to suggest that the examples will also work with the jakarta version of the modules if "javax." is replaced with "jakarta.". At least that would show that it is intentional and prevent any unnecessary questions. IIRC, Freemarker also included some comments like that somewhere. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org For additional commands, e-mail: dev-h...@velocity.apache.org