This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to annotated tag REL9_3_1100 in repository libpostgresql-jdbc-java.
commit e0a0baae0b4df7cb76c626e4479001fc973a454e Author: Dave Cramer <[email protected]> Date: Thu Oct 10 17:33:23 2013 -0400 build for maven --- build.properties | 14 +++- build.xml | 194 +++++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 179 insertions(+), 29 deletions(-) diff --git a/build.properties b/build.properties index 5c91342..978735c 100644 --- a/build.properties +++ b/build.properties @@ -4,6 +4,18 @@ major=9 minor=3 -fullversion=9.3devel +fullversion=9.3 def_pgport=5432 enable_debug=yes + +maven.group.id=org.postgresql +maven.artifact.id=postgresql +#maven.artifact.version=9.3-2000-jdbc4 +maven.artifact.version=9.3.jdbc4-SNAPSHOT +maven.artifact.description=The PostgreSQL Driver JDBC4 + +# Maven snapshots and staging repository id and url +maven.snapshots.repository.id=sonatype-nexus-snapshots +maven.snapshots.repository.url=https://oss.sonatype.org/content/repositories/snapshots +maven.staging.repository.id=sonatype-nexus-staging +maven.staging.repository.url=https://oss.sonatype.org/service/local/staging/deploy/maven2 diff --git a/build.xml b/build.xml index 7e70d60..bdb8843 100644 --- a/build.xml +++ b/build.xml @@ -15,7 +15,7 @@ <!ENTITY jarfiles "postgresql.jar"> ]> -<project name="postgresqlJDBC" default="all" basedir="."> +<project name="postgresqlJDBC" default="all" basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant"> <!-- set global properties for this build --> <property name="srcdir" value="." /> @@ -30,6 +30,81 @@ <property file="build.local.properties" /> <property file="build.properties"/> + <!-- define artifacts' name, which follows the convention of Maven --> + <property name="maven.jar" value="${jardir}/${maven.artifact.id}-${maven.artifact.version}.jar"/> + <property name="maven.javadoc.jar" value="${jardir}/${maven.artifact.id}-${maven.artifact.version}-javadoc.jar"/> + <property name="maven.sources.jar" value="${jardir}/${maven.artifact.id}-${maven.artifact.version}-sources.jar"/> + + <patternset id="jdbc.version.src.pattern"> + <!-- This is the core of the driver. It is common for all versions. --> + <include name="${package}/*.java" /> + <include name="${package}/core/**" /> + <include name="${package}/copy/**" /> + <include name="${package}/fastpath/**" /> + <include name="${package}/geometric/**" /> + <include name="${package}/largeobject/**" /> + <include name="${package}/util/**" /> + + <!-- + Each jdbcN subpackage is used only if the driver supports *at least* that + revision of JDBC. That is, a JDBC2 build uses only jdbc2, a JDBC3 build + uses both jdbc2 and jdbc3, etc. + + Within those subpackages, classes beginning with "JdbcN" are assumed to be + the concrete implementations for JDBC version N and are built only if the + driver supports *exactly* that version. For example, jdbc2/Jdbc2Statement.java + is built only if the driver build is a JDBC2 build. + --> + + <!-- jdbc2 subpackage --> + <include name="${package}/jdbc2/**"/> + + <!-- jdbc3 subpackage --> + <include name="${package}/jdbc3/Abstract*.java"/> + <include name="${package}/jdbc3/PSQLSavepoint.java"/> + + <include name="${package}/jdbc3/Jdbc3Array.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3Blob.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3CallableStatement.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3Clob.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3Connection.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3DatabaseMetaData.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3PreparedStatement.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3ResultSet.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3ResultSetMetaData.java.java" if="jdbc3"/> + <include name="${package}/jdbc3/Jdbc3Statement.java" if="jdbc3"/> + + <!-- jdbc3g subpackage --> + <include name="${package}/jdbc3g/*.java" if="jdbc3g"/> + <exclude name="${package}/jdbc3g/Jdbc3g*.java" unless="jdbc3g"/> + + <!-- jdbc4 subpackage --> + <include name="${package}/jdbc4/*.java" if="jdbc4any"/> + <exclude name="${package}/jdcb4/Jdbc4*.java" unless="jdbc4any"/> + + <!-- ssl --> + <include name="${package}/ssl/jdbc4/*.java" if="jdbc4any"/> + <include name="${package}/ssl/jdbc3/*.java" if="jdbc3any"/> + + <!-- gss --> + <include name="${package}/gss/*.java"/> + + <!-- datasource stuff --> + <include name="${package}/jdbc3/Jdbc3ConnectionPool.java" if="jdbc3any"/> + <include name="${package}/jdbc3/Jdbc3PoolingDataSource.java" if="jdbc3any"/> + <include name="${package}/jdbc3/Jdbc3SimpleDataSource.java" if="jdbc3any"/> + + <include name="${package}/ds/*.java"/> + <include name="${package}/ds/common/*.java"/> + <include name="${package}/ds/jdbc23/*.java"/> + <include name="${package}/ds/jdbc4/*.java" if="jdbc4any"/> + + <!-- XA stuff --> + <include name="${package}/xa/*.java"/> + <include name="${package}/xa/jdbc3/*.java"/> + <include name="${package}/xa/jdbc4/*.java" if="jdbc4any"/> + </patternset> + <target name="check_versions"> <condition property="jdbc2"> <or> @@ -198,7 +273,7 @@ <target name="check_driver"> <uptodate targetfile="${package}/Driver.java" property="driver.uptodate"> - <srcfiles dir="${srcdir}"> + <srcfiles dir="."> <include name="${package}/Driver.java.in"/> <include name="${package}/ds/PGSimpleDataSource.java.in"/> <include name="${package}/ds/PGPoolingDataSource.java.in"/> @@ -313,33 +388,33 @@ <!-- Put a check for the current version here --> <!-- now copy and filter the file --> - <copy file="${srcdir}/${package}/Driver.java.in" + <copy file="${package}/Driver.java.in" overwrite="true" - tofile="${srcdir}/${package}/Driver.java" + tofile="${package}/Driver.java" filtering="yes" /> - <copy file="${srcdir}/${package}/ds/PGPoolingDataSource.java.in" + <copy file="${package}/ds/PGPoolingDataSource.java.in" overwrite="true" - tofile="${srcdir}/${package}/ds/PGPoolingDataSource.java" + tofile="${package}/ds/PGPoolingDataSource.java" filtering="yes" /> - <copy file="${srcdir}/${package}/ds/PGSimpleDataSource.java.in" + <copy file="${package}/ds/PGSimpleDataSource.java.in" overwrite="true" - tofile="${srcdir}/${package}/ds/PGSimpleDataSource.java" + tofile="${package}/ds/PGSimpleDataSource.java" filtering="yes" /> - <copy file="${srcdir}/${package}/ds/PGPooledConnection.java.in" + <copy file="${package}/ds/PGPooledConnection.java.in" overwrite="true" - tofile="${srcdir}/${package}/ds/PGPooledConnection.java" + tofile="${package}/ds/PGPooledConnection.java" filtering="yes" /> - <copy file="${srcdir}/${package}/ds/PGConnectionPoolDataSource.java.in" + <copy file="${package}/ds/PGConnectionPoolDataSource.java.in" overwrite="true" - tofile="${srcdir}/${package}/ds/PGConnectionPoolDataSource.java" + tofile="${package}/ds/PGConnectionPoolDataSource.java" filtering="yes" /> - <copy file="${srcdir}/${package}/xa/PGXADataSource.java.in" + <copy file="${package}/xa/PGXADataSource.java.in" overwrite="true" - tofile="${srcdir}/${package}/xa/PGXADataSource.java" + tofile="${package}/xa/PGXADataSource.java" filtering="yes" /> - <copy file="${srcdir}/${package}/ssl/MakeSSL.java.in" + <copy file="${package}/ssl/MakeSSL.java.in" overwrite="true" - tofile="${srcdir}/${package}/ssl/MakeSSL.java" + tofile="${package}/ssl/MakeSSL.java" filtering="yes" /> <echo message="Configured build for the ${edition} edition driver." /> @@ -363,13 +438,13 @@ <target name="clean"> <delete quiet="true" dir="${builddir}" /> <delete quiet="true" dir="${jardir}" /> - <delete quiet="true" file="${srcdir}/${package}/Driver.java" /> - <delete quiet="true" file="${srcdir}/${package}/ds/PGPoolingDataSource.java" /> - <delete quiet="true" file="${srcdir}/${package}/ds/PGSimpleDataSource.java" /> - <delete quiet="true" file="${srcdir}/${package}/ds/PGPooledConnection.java" /> - <delete quiet="true" file="${srcdir}/${package}/ds/PGConnectionPoolDataSource.java" /> - <delete quiet="true" file="${srcdir}/${package}/xa/PGXADataSource.java" /> - <delete quiet="true" file="${srcdir}/${package}/ssl/MakeSSL.java" /> + <delete quiet="true" file="${package}/Driver.java" /> + <delete quiet="true" file="${package}/ds/PGPoolingDataSource.java" /> + <delete quiet="true" file="${package}/ds/PGSimpleDataSource.java" /> + <delete quiet="true" file="${package}/ds/PGPooledConnection.java" /> + <delete quiet="true" file="${package}/ds/PGConnectionPoolDataSource.java" /> + <delete quiet="true" file="${package}/xa/PGXADataSource.java" /> + <delete quiet="true" file="${package}/ssl/MakeSSL.java" /> </target> <!-- This compiles and executes the JUnit tests --> @@ -380,7 +455,7 @@ <property name="database" value="test" /> <property name="username" value="test" /> <!-- Password must be something. Doesn't matter if trust is used! --> - <property name="password" value="test" /> + <property name="password" value="password" /> <property name="preparethreshold" value="5" /> <property name="loglevel" value="0" /> <property name="protocolVersion" value="0" /> @@ -455,12 +530,12 @@ <!-- Build public javadoc --> <target name="publicapi" depends="compile"> <mkdir dir="${builddir}/publicapi" /> - <javadoc destdir="${builddir}/publicapi" charset="utf-8"> + <javadoc destdir="${builddir}/publicapi"> <classpath> <pathelement path="${builddir}" /> <pathelement path="${java.class.path}" /> </classpath> - <fileset dir="${srcdir}/${package}"> + <fileset dir="${package}"> <include name="copy/*.java" /> <include name="geometric/*.java" /> <include name="largeobject/*.java" /> @@ -481,12 +556,12 @@ <!-- Build driver-internal javadoc. NB: needs Ant 1.6 & JDK 1.4 for 'breakiterator'. --> <target name="privateapi" depends="compile"> - <javadoc destdir="${builddir}/privateapi" breakiterator="yes" charset="utf-8"> + <javadoc destdir="${builddir}/privateapi" breakiterator="yes"> <classpath> <pathelement path="${builddir}" /> <pathelement path="${java.class.path}" /> </classpath> - <fileset dir="${srcdir}/${package}"> + <fileset dir="${package}"> <include name="**/*.java"/> <exclude name="jdbc3/Jdbc3*.java" unless="jdbc3" /> <exclude name="jdbc3g/Jdbc3g*.java" unless="jdbc3g" /> @@ -547,4 +622,67 @@ </xmlvalidate> </target> + <target name="deploy" depends="maven-jar" description="deploy snapshot version to Maven snapshot repository"> + <mkdir dir="${builddir}/pom"/> + <!-- Copy the templated pom.xml with version info --> + <filter token="maven.group.id" value="${maven.group.id}"/> + <filter token="maven.artifact.id" value="${maven.artifact.id}"/> + <filter token="maven.artifact.version" value="${maven.artifact.version}"/> + <filter token="maven.artifact.description" value="${maven.artifact.description}"/> + <copy todir="${builddir}/pom" filtering="true" file="src/pom/pom.xml"/> + + <artifact:mvn> + <artifact:arg value="org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file"/> + <artifact:arg value="-Durl=${maven.snapshots.repository.url}"/> + <artifact:arg value="-DrepositoryId=${maven.snapshots.repository.id}"/> + <artifact:arg value="-DpomFile=${builddir}/pom/pom.xml"/> + <artifact:arg value="-Dfile=${maven.jar}"/> + <artifact:arg value="-Pgpg"/> + + </artifact:mvn> + </target> + + <!-- before this, update project version (both build.xml and pom.xml) from SNAPSHOT to RELEASE --> + <target name="stage" depends="maven-jar" description="deploy release version to Maven staging repository"> + <mkdir dir="${builddir}/pom"/> + <!-- Copy the templated pom.xml with version info --> + <filter token="maven.group.id" value="${maven.group.id}"/> + <filter token="maven.artifact.id" value="${maven.artifact.id}"/> + <filter token="maven.artifact.version" value="${maven.artifact.version}"/> + <filter token="maven.artifact.description" value="${maven.artifact.description}"/> + <copy todir="${builddir}/pom" filtering="true" file="src/pom/pom.xml"/> + <!-- sign and deploy the main artifact --> + <artifact:mvn> + <artifact:arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" /> + <artifact:arg value="-Durl=${maven.staging.repository.url}" /> + <artifact:arg value="-DrepositoryId=${maven.staging.repository.id}" /> + <artifact:arg value="-DpomFile=${builddir}/pom/pom.xml" /> + <artifact:arg value="-Dfile=${maven.jar}" /> + <artifact:arg value="-DfinalName=${maven.jar}" /> + <artifact:arg value="-Dtypes=jar,jar" /> + <artifact:arg value="-Dclassifiers=sources,javadoc" /> + <artifact:arg value="-Dfiles=${maven.sources.jar},${maven.javadoc.jar}" /> + <artifact:arg value="-Pgpg" /> + </artifact:mvn> + </target> + + <!-- create jar files for distribution to maven central --> + <target name="maven-jar" depends="jar, publicapi"> + <!-- Copy the built jar into a maven compatible name --> + <copy file="${jardir}/postgresql.jar" tofile="${maven.jar}"/> + <!-- Create a jar of the javadoc public api --> + <jar jarfile="${maven.javadoc.jar}"> + <fileset dir="${builddir}/publicapi"> + <include name="**/*"/> + </fileset> + </jar> + <!-- Create a jar of the source code --> + <jar jarfile="${maven.sources.jar}"> + <fileset dir="${srcdir}"> + <patternset refid="jdbc.version.src.pattern"/> + <include name="META-INF/**/*"/> + </fileset> + </jar> + </target> + </project> -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libpostgresql-jdbc-java.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

