Re: Migration to Maven

From: Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com>
To: Stephen Nelson <stephen(at)eccostudio(dot)com>
Cc: List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Migration to Maven
Date: 2015-11-30 21:18:27
Message-ID: CAB=Je-Fer_GdWcieQUTeFTu95h8YB8-v=wM3dXU-Vr+Ar+jUrg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

>but has the downside or creating additional workload

Another downside is inability to test if PR breaks build for JDK 6.
Note: development of "current" version should be done via JDK8, so it
is super easy to use new APIs by mistake (e.g. Map#replace,
Map#getOrDefault, or whatever).

Current travis CI setup is very good as it provides fast feedback for
different JDKs.

I've updated https://github.com/pgjdbc/pgjdbc/pull/435 to reflect option A.
It does exclude all the testing as I was focused on a release procedure.
It does point to my github fork as release involves git tag/push/etc.

I use the same artifactId, and include JRE to version.
There are two reasons for that:
1) That ensures there will be just a single pgjdbc artifact in classpath
2) It will simplify life for third party projects, as switch from
pgjdbc-jre7 to pgjdbc-jre8 artifactId would require updating of lots
of poms while version can be fixed in a dependencyManagement, thus
there can be a single "9.4-jre7" to "9.4" switch.

maven-toolchains-plugin allows to specify per-module JDK version, so
you just mvn and it uses the proper JDK.
I did not figure proper travis configuration yet, however I think it
should not be hard.

It boils down the release procedure to:
Release for jre8
1) mvn release:clean release:prepare, enter, enter, enter
2) mvn release:perform

Release for jre7
3) cd core-jre7; mvn release:clean release:prepare, enter, type <next
version>; enter, enter
4) mvn release:perform

Release for jre6
3) cd core-jre6; mvn release:clean release:prepare, enter, type <next
version>; enter, enter
4) mvn release:perform

For regular JDK8 development, it does not require you to setup toolchains.xml.
However, if you do, you'll be able to build core-jre7 with a matter of
mvn install (no need to play with java_home).

Vladimir

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Steven Schlansker 2015-11-30 21:26:17 Re: Migration to Maven
Previous Message Stephen Nelson 2015-11-30 20:09:51 Re: Migration to Maven