Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Dec 2021 21:09:52 +0100
From:      Michael Osipov <1983-01-06@gmx.net>
To:        freebsd-ports@FreeBSD.org
Subject:   Re: Building JAVA-applications with maven
Message-ID:  <0d3735bd-b3ea-c211-cbbe-1654eb253760@gmx.net>

next in thread | raw e-mail | index | archive | help
> On 07.06.16 20:46, Kurt Jaeger wrote:
>> A Uses/maven.mk sounds non-trivial, but very, very useful, if
>> it covers the generic use-case of maven-built ports.
>
> 4 years later, has anyone done anything on this matter? I may have some
> free time later this month, if not...
>
> I think, creating devel/log4j2 will be a good "test-bed"...

Maven PMC here. I highly recommend not doing and I will explain why:
The approach to dependencies of Maven, npm, composer, pip goes against
an offline build required by the ports system. All py-packages are
repackaged to what pip does, this is work. Caching libs and POMs from
Maven Central absolutely does not make sense. Both Maven Central and ASF
dist use a fully distributed CDN by now.
There is no compelling reason to recompile the software at all. All
dependencies are available cryptographically signed in Maven Central. If
your application uses Maven, it will *not* use the port from the ports
system. Repackaging what is in Central is a waste of time, IMHO. Another
issue comes with custom build: Many Linux distro dissect or modify
blessed packages like Maven or Tomcat beyond recognition and the first
thing we ask is: Where did you get Tomcat or Maven? Not from us? GO AWAY.
I am currently the maintainer of the Nexus 2 OSS and use the bundle
tarball only, I do not even try to compile myself since it gives from a
Java PoV no benefit compared to native langs like C/C++/Rust/Go/YOU_NAME_I=
T.

There are situations where a port makes sense, not necessary recompiled
Java code, e.g., a JDBC driver which is loaded into Tomcat and not part
of the application or the library requires native code which I would
want to compile, e.g., https://github.com/xerial/sqlite-jdbc/issues/495.

Looking at https://www.freshports.org/java I am certain that most of
those ports can go away.

I am happy to step into a discussion if you are interested in.

This is me, BTW: http://home.apache.org/phonebook.html?uid=3Dmichaelo

Michael



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0d3735bd-b3ea-c211-cbbe-1654eb253760>