Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.adrianboimvaser:postgresql-maven-plugin:v0.2'
}
dependencies {
implementation("com.github.adrianboimvaser:postgresql-maven-plugin:v0.2")
}
<dependency>
<groupId>com.github.adrianboimvaser</groupId>
<artifactId>postgresql-maven-plugin</artifactId>
<version>v0.2</version>
</dependency>
libraryDependencies += "com.github.adrianboimvaser" % "postgresql-maven-plugin" % "v0.2"
:dependencies [[com.github.adrianboimvaser/postgresql-maven-plugin "v0.2"]]
A Maven plugin for controlling PostgreSQL. There are goals for starting, stopping, initializing a DB, etc. The main purpose is running integration tests.
The project is in a very early stage. It requires JDK 7 to run. Currently there are 6 goals with very few options.
Usage example:
<plugin>
<groupId>com.github.adrianboimvaser</groupId>
<artifactId>postgresql-maven-plugin</artifactId>
<version>0.2-SNAPSHOT</version>
<configuration>
<pgsqlHome>${project.build.directory}/pgsql</pgsqlHome>
<dataDir>${project.build.directory}/data</dataDir>
<skip>${skipITs}</skip>
<databaseName>postgres</databaseName>
<username>postgres</username>
</configuration>
<executions>
<execution>
<id>version-check</id>
<phase>pre-integration-test</phase>
<goals>
<goal>version</goal>
</goals>
<configuration>
<mandatoryVersionRange>[9.2,)</mandatoryVersionRange>
</configuration>
</execution>
<execution>
<id>init-db</id>
<phase>pre-integration-test</phase>
<goals>
<goal>initdb</goal>
</goals>
<configuration>
<username>postgres</username>
<passwordFile>${basedir}/password.txt</passwordFile>
<encoding>UTF8</encoding>
<locale>en_US</locale>
</configuration>
</execution>
<execution>
<id>start-postgresql</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>create-db</id>
<phase>pre-integration-test</phase>
<goals>
<goal>createdb</goal>
</goals>
<configuration>
<username>postgres</username>
<databaseName>products</databaseName>
</configuration>
</execution>
<execution>
<id>drop-db</id>
<phase>pre-integration-test</phase>
<goals>
<goal>dropdb</goal>
</goals>
<configuration>
<username>postgres</username>
<databaseName>products</databaseName>
</configuration>
</execution>
<execution>
<id>stop-postgresql</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
version
-- display (and enforce) version informationinitdb
-- initialize a database root (cluster)start
-- start the servercreatedb
-- connect to the server and create a databasedropdb
-- connect to the server and drop a databasestop
-- stop the server