Hey guys, Last week I was able to fetch source of artifacts which has an <scm/> tag in their maven metadata. By leveraging the maven-scm-plugin, I was able to get the vast support of VCSs for free. It also provides a well documented interface for extension in case other VCSs come out or someone is using one which is currently unsupported. I've tried to make upgrading the maven-scm-plugin possible without cluttering the mojo configuration using plexus configuration elements. This doesn't make it impossible to change, but again, not very easy. I might want to revisit this at a later time.
This week I started to work on actually building a checked out project. My focus has been maven projects. I've been able to build simple (single module) projects easily and have started to look at multi-module projects. This has brought up a few issues. I recall reading that packaging a maven project for debian requires maven to be in offline mode during the build. I can try to emulate that by dumping artifacts into a built artifact repository and use that as the only repository during the build. You are still kind of cheating because you need an online repository to get the artifact metadata in the first place, but since I've opted to fork off a maven process for building, we can force offline mode there. This will require all dependencies, which includes parent poms, dependencies, plugins and their dependencies to be built before the project can be built. We can't rely on just dependencies and parent poms because one of the plugins or maybe even one of the plugin dependencies could be in the reactor, or a proper dependency that should be built. This begs the question of where to stop as plugins will inevitably depend on maven-core. My goal for next week, although is a little ambitious considering what is left for building maven projects, is to look at ant projects and see if I can come up with a good way to determine which way to build. I think ant should always take preference if there is a build.xml file regardless of a pom.xml file. I also forsee problems determining the jar file which represents the built artifact. I could simply diff the tree before and after the build to find new jars, but this doesn't help if there are 2 or more jars built for the project. It really doesn't help that ant doesn't have the same standards for building that maven does. I may need project specific commands to locate the artifact in question. Cheers, Andrew -- To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/cags-l4ves3dff9vxv22yvzayftngyx12ppmvdjvqscswtwh...@mail.gmail.com