On Mon, Oct 9, 2017 at 10:23 AM, Mark Thomas <[email protected]> wrote:

> On 06/10/17 13:01, Rémy Maucherat wrote:
> > On Fri, Oct 6, 2017 at 10:18 AM, Mark Thomas <[email protected]> wrote:
> >
> >> The usual candidate for an alternative build system is Maven. The
> >> argument for Maven is that it is more widely known and hence easier to
> >> get started with. The argument against is broadly that Maven is very
> >> opinionated and they way Tomcat currently does things is not consistent
> >> with what Maven expects and some things (e.g. the Windows installer) are
> >> well outside the typical Maven build. Therefore switching to Maven would
> >> require a fair amount of effort.
> >>
> >> I'd like to suggest a third alternative: Gradle. The argument for Gradle
> >> is that it can boot-strap itself so, unlike Ant, a new user doesn't need
> >> to download the build tool. Gradle can also import Ant build files so we
> >> could start with a simple Gradle script that simply imported the current
> >> Ant script and then migrate slowly over time. The argument against is
> >> that it isn't as widely known as Maven.
> >>
> >>
> >> My own views are neutral at this point on modularisation. I don't have
> >> any immediate suggestions for changes but I'd like to hear what ideas
> >> others have. On build systems, I'm not convinced that the benefits of
> >> switching to Maven justify the costs. Gradle looks promising and I do
> >> like the boot-strapping feature. If there was consensus to move to
> >> Gradle, I'd be willing to help that process.
> >>
> > On Java 9 modularisation I'm super neutral too. Especially since it
> > wouldn't bring anything to Tomcat IMO.
>
> For Java 9 modules, I can see some benefits to defining Java 9 modules
> to be consistent with the names and dependencies we already have.
> Primarily, if a user adds a module (not using Maven) then they'll get
> notified about missing dependencies when they try and build it. That is
> about the only benefit I can see though and it is a fairly small one.
>
> > On the build and source structure, I'd say the first decision should be
> > another yes/no on Maven, since that's what everyone else has been asking
> > about. Then if it's still a no, we can make another decision on Gradle.
>
> I remain unconvinced that the benefits of switching to Maven would
> justify the costs.
>
> The previous experiments have shown that it is not practical to keep the
> current source code structure and use Maven.
>
> See:
> http://svn.apache.org/viewvc/tomcat/sandbox/trunk-mvn-build
>
> It is 6 years old (and for 7.0.24) but you get the idea. Note that:
> - I had to build and run with Java 7 to avoid various class version
>   issues
> - It is incomplete (e.g. no Windows Installer build)
>
> Benefits:
>
> - More widely known, so easier/faster for newcomers to pick up
>
> - Standard project structure makes it easier/faster for newcomers to
>   navigate
>
> - Producing OSGI bundles would be simpler
>
> - Bootstrap wrapper available
>
> Costs:
>
> - The code would need to be split into multi-modules
>
> - Back-ports would become more difficult unless all currently supported
>   versions were also back-ported (which increases the costs of
>   transition)
>
> - If we change the layout of the currently supported versions, that will
>   create costs for downstream packagers
>
> - We'd need to write a code-signing plug-in for Maven
>
> - We'd need to write a plug-in to use NSIS or continue to use Ant for
>   the Windows Installer
>
>
> Overall, I remain firmly unconvinced that a move to Maven is in the best
> interests of Apache Tomcat. The time that would be required to migrate
> to Maven would be significant and would disrupt the project for an
> extended period of time (my expectation is several months). It would
> also disrupt down-stream users. That is a significant cost. While I
> don't deny there are potential benefits, those benefits are - in my view
> - significantly smaller than the associated costs.
>
> Another concern is that switching to Maven would not be a small,
> reversible change. It would be reversible but the effort required, both
> to make the change and to reverse it, would not be small.
>
> I haven't seem any significant movement from the last time we discussed
> this so I don't think we need a vote or anything. That said, I've no
> objection to a vote being held if a committer wishes to call one.
>

Yes, if there's a switch to maven, then Tomcat has to become something
resembling a Maven project (IMO), with a non monolithic source tree. So it
seems you don't like it any more than before, so then it looks like it's
still a "no" for maven. Your arguments are reasonable especially for
maintenance of previous branches.

Poor Maven, he may start being depressed after being rejected so often ;)

Rémy


>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to