Re: Please consider using Maven

From: Shijun Kong <skong(at)investoranalytics(dot)com>
To: Dave Cramer <pg(at)fastcrypt(dot)com>
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Please consider using Maven
Date: 2012-08-10 13:26:27
Message-ID: CC4A7F3F.1028C%skong@investoranalytics.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

You are right. That's the point: "the maintainers of the driver are much
more comfortable
using ant.", be more accurate, this ant build.xml (or ant program, ant
script?)

I did projects with ant and maven (both for small teams less than 10 and
large teams with more than 100 developers). Per my personal experience,
when a project grows to a certain size, complexity and a team with more
than handful people, ant build.xml files themselves becomes a part of code
hard to maintain/enhance/test. On the other hand, maven is much standard,
consistent for 99% jobs. When a new developer get source code with ant,
he/she has to spend time read instrument, understand step 1,2,3 to
compile/test/build a project. If using maven, it's always maven clean
compile test package install.

I will stop here, looks like the topic is moving to ant V.S maven instead
of how could we make pgsql-jdbc easier for outsider to play and
contribute. It's light a fanboy war between Android and iOS. As you said,
"I think our time is better spent adding features not refactoring the
build system."

__________________________

Shijun Kong

On 8/10/12 6:33 AM, "Dave Cramer" <pg(at)fastcrypt(dot)com> wrote:

>Well clearly the maintainers of the driver are much more comfortable
>using ant. So your solution would have *us* relearn a new tool.
>
>Why not use gradle as someone else suggested? Or the next new super
>duper build system when it comes out?
>
>I think our time is better spent adding features not refactoring the
>build system.
>
>
>Dave Cramer
>
>dave.cramer(at)credativ(dot)ca
>http://www.credativ.ca
>
>
>On Thu, Aug 9, 2012 at 5:42 PM, Shijun Kong <skong(at)investoranalytics(dot)com>
>wrote:
>>
>> Maven definitely can handle that, one solution can be using profiles for
>> different jdbc versions.
>>
>>(http://maven.apache.org/guides/introduction/introduction-to-profiles.htm
>>l)
>>
>> For all those "if then include" entries in build.xml:
>> <include name="${package}/jdbc3/Jdbc3Array.java" if="jdbc3"/>
>>
>> It can be archived by use maven compiler plugin, includes filter
>>
>>(http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html)
>>
>> <build>
>> <sourceDirectory>../src/main/java</sourceDirectory>
>>
>> <plugins>
>> <plugin>
>> <artifactId>maven-compiler-plugin</artifactId>
>> <version>2.0.2</version>
>> <configuration>
>> <includes><include>**/jdbc3/**</include></includes>
>> </configuration>
>> </plugin>
>> </plugins>
>> </build>
>>
>>
>>
>> I do see the benefit for pgsql-jdbc project to migrating to
>> maven. The standard and conversion brought by maven makes it much easier
>> to write patch and test for a project without have to spend time read a
>> customized ant build.xml and README for some basic jobs
>> (compile/test/build). I once wanted to contribute back an hstore
>> enhancement but gave up after spending 5 mins into build.xml.(Yes, I am
>> lazy. I don't want to spend more than 5 mins to understand a customized
>> build/test process.)
>>
>> Here is a half way migration (example only, I am not sure if I would
>>have
>> time to complete it), only fixed to do one job: compile for jdbc4:
>> https://github.com/sinbadblue/pgjdbc/tree/maven_migration
>>
>> To reduce the initial conversion work, I only changed directories
>> structure and leverage existing ant target "driver" to build for java
>> version 1.6(jdbc4 flavor) only.
>> __________________________
>>
>> Shijun Kong
>>
>>
>> On 8/2/12 8:07 PM, "Craig Ringer" <ringerc(at)ringerc(dot)id(dot)au> wrote:
>>
>>>On 08/03/2012 01:11 AM, Dave Cramer wrote:
>>>> Thomas,
>>>>
>>>> I would have no problem publishing to maven if someone wants to do the
>>>> work to make it happen.
>>>
>>>I work with Maven a lot and like it. Mostly. I thought about trying to
>>>Mavenize the JDBC driver a while ago but before I proposed it here I
>>>took at look at the build.xml and decided it wasn't so important after
>>>all ;-)
>>>
>>>PgJDBC has all that that funky business for handling different JDBC
>>>levels and compilation with different JDKs. It's not especially
>>>challenging to do with Maven, but it complicates things a bit. When I
>>>last looked I didn't know enough about Maven to be able to tackle it.
>>>
>>>Knowing that you're OK with moving it over to Maven is interesting. If
>>>I'm ever feeling the lack of pain and suffering in my day to day
>>>development I might give the conversion a go ;-)
>>>
>>>--
>>>Craig Ringer
>>>
>>>--
>>>Sent via pgsql-jdbc mailing list (pgsql-jdbc(at)postgresql(dot)org)
>>>To make changes to your subscription:
>>>http://www.postgresql.org/mailpref/pgsql-jdbc
>>
>>
>> This email message and any attachments may contain legally privileged
>>or confidential information intended solely for the use of the
>>individual or entity to whom it is addressed. If the reader of this
>>message is not the intended recipient, you are hereby notified that any
>>reading, dissemination, distribution or copying of this message or its
>>attachments is strictly prohibited. If you have received this message in
>>error, please notify us immediately by telephone, fax or email and
>>delete the message and all attachments to the message. Any views or
>>opinions expressed are solely those of the author and do not necessarily
>>represent those of Investor Analytics LLC.
>>
>> --
>> Sent via pgsql-jdbc mailing list (pgsql-jdbc(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-jdbc

This email message and any attachments may contain legally privileged or confidential information intended solely for the use of the individual or entity to whom it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any reading, dissemination, distribution or copying of this message or its attachments is strictly prohibited. If you have received this message in error, please notify us immediately by telephone, fax or email and delete the message and all attachments to the message. Any views or opinions expressed are solely those of the author and do not necessarily represent those of Investor Analytics LLC.

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Ger Timmens 2012-08-14 13:19:38 ChangeLog
Previous Message Dave Cramer 2012-08-10 10:33:23 Re: Please consider using Maven