postgresql-dist
A maven project for distributing PostgresQL binaries as Maven artifacts. 9.2.4 was already published to Maven Central. Older versions could be published as well.
Simple usage example (windows):
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>unpack-postgresql</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.github.adrianboimvaser</groupId>
<artifactId>postgresql-dist</artifactId>
<classifier>windows</classifier>
<version>9.2.4</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
Complex usage example (let the build choose the platform):
<profiles>
<profile>
<id>linux-x86</id>
<activation>
<os>
<family>unix</family>
<name>Linux</name>
<arch>x86</arch>
</os>
</activation>
<properties>
<postgresql-dist.classifier>linux</postgresql-dist.classifier>
<postgresql-dist.type>tar.gz</postgresql-dist.type>
</properties>
</profile>
<profile>
<id>linux-x64</id>
<activation>
<os>
<family>unix</family>
<name>Linux</name>
<arch>amd64</arch>
</os>
</activation>
<properties>
<postgresql-dist.classifier>linux-x64</postgresql-dist.classifier>
<postgresql-dist.type>tar.gz</postgresql-dist.type>
</properties>
</profile>
<profile>
<id>windows-x86</id>
<activation>
<os>
<family>windows</family>
<arch>x86</arch>
</os>
</activation>
<properties>
<postgresql-dist.classifier>windows</postgresql-dist.classifier>
<postgresql-dist.type>zip</postgresql-dist.type>
</properties>
</profile>
<profile>
<id>windows-x64</id>
<activation>
<os>
<family>windows</family>
<arch>amd64</arch>
</os>
</activation>
<properties>
<postgresql-dist.classifier>windows-x64</postgresql-dist.classifier>
<postgresql-dist.type>zip</postgresql-dist.type>
</properties>
</profile>
<profile>
<id>osx</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<postgresql-dist.classifier>osx</postgresql-dist.classifier>
<postgresql-dist.type>zip</postgresql-dist.type>
</properties>
</profile>
<profile>
<id>linux</id>
<activation>
<os>
<family>unix</family>
<name>Linux</name>
</os>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-postgresql-linux</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<skip>${skipITs}</skip>
<artifactItems>
<artifactItem>
<groupId>com.github.adrianboimvaser</groupId>
<artifactId>postgresql-dist</artifactId>
<classifier>${postgresql-dist.classifier}</classifier>
<version>9.2.4</version>
<type>${postgresql-dist.type}</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>unzip-postgresql-linux</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${skipITs}</skip>
<executable>tar</executable>
<arguments>
<argument>-zxvf</argument>
<argument>${project.build.directory}/postgresql-dist-9.2.4-1-${postgresql-dist.classifier}.${postgresql-dist.type}</argument>
<argument>-C</argument>
<argument>${project.build.directory}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>unpack-postgresql-windows</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<skip>${skipITs}</skip>
<artifactItems>
<artifactItem>
<groupId>com.github.adrianboimvaser</groupId>
<artifactId>postgresql-dist</artifactId>
<classifier>${postgresql-dist.classifier}</classifier>
<version>9.2.4</version>
<type>${postgresql-dist.type}</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>