Hi Julien, On 2023-07-13 18:48, Julien Lepiller wrote: > If you feel like helping, maybe an importer would be a good first step :). > You should be able to get info from Maven Central (get the pom files, they > are XML files and we have a module somewhere to handle them (guix build maven > pom) I think). It should work for maven and gradle packages at least. Mapping > maven name to guix names might also be challenging, but we can solve with an > upstream-name property. > > Here are some more resources if you want to learn more about Guix and Java: > > I gave a talk about bootstrapping Maven in 2020: > > https://xana.lepiller.eu/guix-days-2020/guix-days-2020-julien-lepiller-bootstrapping-maven-480.mp4
Thanks! This was very helpful in providing an overview of the system. Can we say that the maven in Guix has already been “bootstrapped” or is there something still missing? Given the large and non-trivial nature of just the “bootstrap” part, would it make sense to split gnu/packages/maven.scm into maven-bootstrap.scm and maven-<anything else>.scm files to keep things manageable? The maven-importer situation is quite unfortunate due to the often absent source location, a quick glance here suggests that the best we might hope for is an automation-½ approach: generate “skeleton” package definitions and manually fill-in the source & co. Some additional maven related questions: * What is 'sisu.sh' & 'components.sh' and when/what are they used for? * Is it common for maven plugins to end up with package definitions that make heavy use of inherit? (a quick glance at gnu/packages/maven.scm gives the impression that it all looks very fragile due to the matryoshka-like inheritance rabbit-holes) -- Furthermore, I consider that nonfree software must be eradicated. Cheers, Bruno.