On Mon, 25 Jun 2018 08:24:58 +0200
Michael Osipov <micha...@apache.org> wrote:
>
> William,
> 
> my first an foremost question is why do you need this? 

Maven and parts are needed as dependencies for Gradle and Netbeans.

> Aren't you  satisfied with the signed binary released we provide?

No, I do not run a binary distribution. Why should Maven be one of the
sole binaries? The only exception is the JDK itself, for other reasons.

> Even if you pursue the from-source-BSD-approach, it is perfectly fine
> to use packages as-is. 

Pre-generated sources are bad. One should have a means to build from
version control for a variety of reasons. Java has a horrendous habit
of developing things that require bootstrapping, needlessly...
The JDK is one thing, but anything built atop should have a better way.
Most of these generate Java code or bytecode from something else.

> This is what I recommend on the FreeBSD Java mailing list. Moreover,
> the general consensus from us is that we do not support packages not
> carrying the Git commit or our signature. Debian guys do abnormal
> things by splitting every single dependency of Maven into a deb file.

I am not looking for support. I am looking to understand things Maven
is built atop and how its developed. If one makes changes to a mdo
file. They must run Maven to generate the Java file. Plus then write
tests to ensure that what Modello generated was what was expected.
Rather than writing pure Java from the start...

In a nutshell to develop maven, you must be able to run maven. To use
said plugins to generate Java code. Which a choice was made to use that
format over others. Which can always be changed and eliminates any
issues I have with build.

It is not like Modello's .mdo files are in wide use. I cannot find them
anywhere other than Maven, and even worse a circular dep issue with
Plexus.
https://github.com/codehaus-plexus/plexus-containers/issues/11

That is poor design IMHO. Maven could drop using Modello mdo files for
some other format for Maven build. Which would not effect other stuff.
It likely would not change work flow described above. As you swap out
the modello-maven-plugin for javacc, antlr, xjc, or some other plugin.
Lots of Generators to choose from that are more common.

> These days compiling Java software w/ pure javac is a pain. 

Maybe how you do it, but using what I have been working on for sometime
it is anything but. I was able to package most of Netbeans in a much
more simplistic way using a completely different build system.

You should look at some of my packages and tell me that is complex. Or
even the eclasses. They are trivial compared to most other build
systems. It could even be used on other distros or OS.
https://github.com/Obsidian-StudiosInc/os-xtoo/tree/master/dev-java/

Netbeans ones are even less due to its eclass
https://github.com/Obsidian-StudiosInc/os-xtoo/tree/master/nb-ide
https://github.com/Obsidian-StudiosInc/os-xtoo/blob/master/eclass/java-netbeans.eclass

> Even if this will work, you'd still need -- as you have said -- all
> dependencies from Maven. So you still rely on binary files.

Nice assumption, but you are wrong. I build ALL dependencies from
source.... I use no binaries, except for javacc only to build javacc
from source within its package. Its the only one using a pre-build
binary that resides within source releases.
https://github.com/Obsidian-StudiosInc/os-xtoo/blob/master/dev-java/javacc/javacc-9999.ebuild#L39

Which I have a request into to stop requiring bootstrap.
https://github.com/javacc/javacc/issues/40

Other stuff I can build to build itself like Groovy, antlr and many
other generators. Though I do dislike bootstrapping and believe it can
be avoided in many cases. Sadly others do not care about such and
rather continue with the bad practices of requiring bootstrapping.

-- 
William L. Thomson Jr.

Attachment: pgpRaG5o3YvtH.pgp
Description: OpenPGP digital signature

Reply via email to