guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Progress and todos for Jave maven


From: Hartmut Goebel
Subject: Progress and todos for Jave maven
Date: Thu, 13 Apr 2017 13:28:55 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Hello,

TL;DR: some progress on packaging maven; still a lot todo; need help
from Java-developers.

1) Some progress on packaging maven

I spent quite some on packaging maven again. This time I took a
different approach which looks promising; maven comes with a list of
transitive dependencies and includes a "build.xml" for bootstrapping via
ant. So I started re-implementing the ant-tasks in guix (which are a few
simple one only) and packaging the transitive dependencies.

My first idea was to merge all sources into one big source tree. But
this showed up to lead to an uggly and complicated (and thus hard to
maintain) package definition. (And afterwards I discovered this would
not even work since some meta-data file would need to be merged.) So I
started building "bootstrap" packages for the dependecies.

Packaging the dependencies showed up to be tricky, since for compiling
these packages, other unlisted packages are required. That's a mess! So
I started deleting classes (files) under the assumption that this
code-part will not be used by maven since the dependency is not listed.
Some code can not be removed or would lead to more and more code to be
removed, so needed to package the dependency.

One package (googe guice) includes another ant-task which is delivered
as a jar-file. Luckily this jar includes the source files, too, but
there seems to be no source-repository for this ant-task.

maven also requires some source to be generated at build-time using
"modello". It took me two days to make this work, I even needed to set
up a Eclipse development environment and step through the code, just to
find out that "could not find plugin" actually means: "plugin found, but
initiating it failed due to x.y.z missing". Even increasing the
debug-level did not show this. What crap!

While I'm now confident to make this work, is is quite time-consuming :-(


2) Still a lot todo / roadmap

After we managed to have some bootstrap-maven, these are the next tasks:

  * write a maven-build-system (see below)
  * package all the dependencies of maven using the maven-build-system
    and the bootstrap-maven and including all code. This means to
    package a lot more complicated dependencies.
  * Decide on naming conventions, repository structure, which data to be
    kept in poms, etc. (see below for all of these)
  * Clean up all the clutter, e.g. find official sources, homepage,
    descriptions, etc. for all packages,


3) Help needed from Java-Developers

I'll write this in a separate mail :-)
 

P.S.: My respect on the Java development community has vanished
completely. I've never seen another programming language having thus a
crappy source infrastructure: projects without home-page, packages
without source, packages not able to bootstrap itself, outdated links,
and thus. Bootstrapping (well, what they call bootstrapping) maven using
ant downloads 67 MB, many jars are fetches in five different version,
for one I counted even 12 versions! This is how unmaintainable software
grows!

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | address@hidden               |
| www.crazy-compilers.com | compilers which you thought are impossible |





reply via email to

[Prev in Thread] Current Thread [Next in Thread]