michael-o commented on PR #15:
URL: https://github.com/apache/velocity-tools/pull/15#issuecomment-2323428808

   > > 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.
   
   First is to create the new jakarta modules. I wouldn't even copy the source 
code, I would use the `generate-sources` phase to copy the on the fly and the 
`process-sources` will rewrite the servlet package.
   
   > > 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.
   
   I'd leave this afterwards, but I would do is that I would skip the 
deployment of all showcases and examples being for them being in Maven Central 
has zero value.


-- 
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

Reply via email to