On 4 June 2013 11:16, Jörg Schaible <joerg.schai...@scalaris.com> wrote: > sebb wrote: > >> DBCP is complicated to release, because the source has to be >> pre-processed in order to build additional versions of the code. >> (unlike the rest of Java, JDBC is not generally upwards compatible). >> >> The source code in SVN is for the latest JDBC version we support, and >> can be built and deployed using Maven the same as any other normal >> Commons component. >> [At least I assume that is the case; if not that ought to be fixed first] >> >> Previous versions are currently built and deployed using Ant which has >> to pre-process the source before doing the build. >> >> Now component RCs should ideally be built from a fresh checkout of the >> tag, so one possible approach would be to use Ant to create the tag >> and workspace and then use Maven as before. >> It would mean using multiple workspaces, but it does not take huge >> amounts of disk space. >> >> The process for previous JDBC versions would be: >> >> Checkout a fresh workspace from SVN. >> Run Ant to fix up the source code >> Create the RC tag directly from the workspace >> Use Maven to build and deploy the jars. >> >> Does that sound like a possible approach? > > Why not use the antrun plugin in a profile in the generate-sources phase to > filter the sources into a new directory in target/generates-sources and also > set the path to the Java source in that profile to this directory? You can > even reuse our existing profiles for the Java runtime:
Would the generated source jars contain the updated source? Ditto Javadoc? I presume one would then just need to run the Maven build/deploy once for each JDBC version? Seems worth a try. Might also be worth considering using a classifier to distinguish the jars, rather than a version number? > ========= %< =========== > <build> > <sourceDirectory>${dbcp.source.directory}</sourceDirectory> > </build> > <profiles> > <profile> > <id>jdk-1.5</id> > <build> > <plugins> > <plugin> > <artifactId>maven-antrun-plugin</artifactId> > <executions> > <execution> > <id>filter-out-jdbc4</id> > <phase>generate-sources</phase> > <goals> > <goal>run</goal> > </goals> > </execution> > </executions> > <configuration> > <!- filter sources into target/generated-sources/java -> > </configuration> > </plugin> > </plugins> > </build> > <properties> > <dbcp.source.directory>target/generated- > sources/java</db.source.directory> > </properties> > </profile> > </profiles> > <properties> > <dbcp.source.directory>src/main/java</db.source.directory> > </properties> > ========= %< =========== > > For the release you can now activate the appropriate JDK profile, provide > the versions with the command line and possibly we can additionally add an > enforcer rule to avoid errors. > > - Jörg > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org