I took a look at the release procedure today and ran into quite a few problems. It seems that Maven and autotools don't work well together. This was an attempt to get around using the cpptasks from Ant to build log4cxx, as the cpptasks try to build APR and APR-util without using autotools.
This is a very convoluted process that I did, but I managed to get it to be reproducible. This does use a modified POM: https://gist.github.com/rm5248/25302e2c36df4e24e4ffb56484e78190 The changes in the POM: 1. change the SCM so it commits to a local SVN repo for testing purposes. 2. purge all of the ant tasks. Replaced with maven-exec-plugin commands 3. updated a few plugins, although that may have broken some stuff(the website looks all funky at this point) Procedure: 1. Download maven 3.3.9 (Debian 8 has only 3.0.5, which does not work properly for some reason) 2. run: /path/to/mvn3.3.9 release:prepare. Fill in what you can; this will fail when it tries to clean the project. 3. run: /path/to/mvn3.3.3 initialize. This will run the initial autotools. 4. run: /path/to/mvn3.3.9 release:prepare 5. run: /path/to/mvn3.3.9 release:perform Once you have done step 5, there will be a tar.gz and zip under target/checkout/target. The website is under target/checkout/target/site(there's also a site-deploy which appears to contain the exact same files). Caveats at this point: - website looks all weird(my guess is dueling CSS files) - Doxygen docs have not been copied to the website directory - the tar.gz does not grab the install-sh for some reason - it is listed in the assembly/source.xml, but it is not grabbed for some reason. I'm sure that there's a C++/autotools project that is successfully using maven to do this procedure, I just don't know of one off the top of my head. At this point, I have a few questions: 1. What is the POM here for? As far as I can tell, the only important things it needs to do are to create the website, and use the maven-release-plugin to automatically create a tag in SVN. 2. Are there any C++ projects successfully doing this? 3. Why is the distribution not made with autotools(since it already has the capability of creating a tar.gz and zip files) 4. How was this done in the first place? According to the SVN log, carnold was the last person to create an actual release(8 years ago!)(he did apparently use the maven-release-plugin though, the commit message says so) -Robert Middleton