neo4j-migrations-cli
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>eu.michael-simons.neo4j</groupId>
<artifactId>neo4j-migrations-cli</artifactId>
<version>4.1.3</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2020-2026 the original author or authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>eu.michael-simons.neo4j</groupId>
<artifactId>neo4j-migrations-parent</artifactId>
<version>4.1.3</version>
</parent>
<artifactId>neo4j-migrations-cli</artifactId>
<name>Neo4j Migrations (CLI)</name>
<description>CLI module, packaged as JVM and native assemblies.</description>
<properties>
<assembly-suffix />
<covered-ratio-complexity>0.1</covered-ratio-complexity>
<covered-ratio-instructions>0.03</covered-ratio-instructions>
<executable-suffix />
<java-module-name>ac.simons.neo4j.migrations.cli</java-module-name>
<name-of-main-class>ac.simons.neo4j.migrations.cli.MigrationsCli</name-of-main-class>
<sonar.coverage.jacoco.xmlReportPaths>${basedir}/../${aggregate.report.dir}</sonar.coverage.jacoco.xmlReportPaths>
</properties>
<dependencies>
<dependency>
<groupId>eu.michael-simons.neo4j</groupId>
<artifactId>neo4j-migrations</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
</dependency>
<dependency>
<groupId>com.github.stefanbirkner</groupId>
<artifactId>system-lambda</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-neo4j</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>${native.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<requiredVersion>24</requiredVersion>
<mainClass>${name-of-main-class}</mainClass>
<imageName>neo4j-migrations</imageName>
<buildArgs>
<arg>--no-fallback</arg>
<arg>-Os</arg>
<arg>-march=compatibility</arg>
<arg>-H:+UnlockExperimentalVMOptions</arg>
<arg>-J--sun-misc-unsafe-memory-access=allow</arg>
</buildArgs>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>info.picocli</groupId>
<artifactId>picocli-codegen</artifactId>
<version>${picocli.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<!-- Otherwise, we mess up logging -->
<artifactId>maven-surefire-plugin</artifactId>
<configuration combine.self="append">
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<environmentVariables>
<superSecretSuperPassword>Geheim</superSecretSuperPassword>
<emptySecret />
</environmentVariables>
<useModulePath>false</useModulePath>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration combine.self="append">
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<environmentVariables>
<NEO4J_URI>bolt://aura-nicht-ok:1234</NEO4J_URI>
<NEO4J_USERNAME>foo</NEO4J_USERNAME>
<NEO4J_PASSWORD>bar</NEO4J_PASSWORD>
</environmentVariables>
<systemPropertyVariables>
<migrations.default-neo4j-image>${neo4j.image}</migrations.default-neo4j-image>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>${name-of-main-class}</mainClass>
</manifest>
</archive>
<skipIfEmpty>true</skipIfEmpty>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-cli-completion</id>
<goals>
<goal>exec</goal>
</goals>
<phase>package</phase>
<configuration combine.self="override">
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>${name-of-main-class}</argument>
<argument>generate-completion</argument>
</arguments>
<outputFile>target/neo4j-migrations_completion</outputFile>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>${appassembler-maven-plugin.version}</version>
<configuration>
<assembleDirectory>${project.build.directory}/assembly</assembleDirectory>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
<programs>
<program>
<mainClass>${name-of-main-class}</mainClass>
<id>neo4j-migrations</id>
</program>
</programs>
</configuration>
<executions>
<execution>
<id>make-distribution</id>
<goals>
<goal>assemble</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>assembly-java</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<finalName>neo4j-migrations-${project.version}</finalName>
<attach>false</attach>
<descriptors>
<descriptor>src/main/assembly/assembly-java.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>${os-maven-plugin.version}</version>
</extension>
</extensions>
</build>
<profiles>
<profile>
<id>windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<executable-suffix>.exe</executable-suffix>
</properties>
</profile>
<profile>
<id>osx</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<assembly-suffix>-osx</assembly-suffix>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>add-zsh-completion</id>
<goals>
<goal>exec</goal>
</goals>
<phase>package</phase>
<configuration combine.self="override">
<executable>${project.basedir}/../bin/add-zsh-completion-osx.sh</executable>
<arguments>
<argument>${project.build.directory}</argument>
<argument>neo4j-migrations_completion</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>musl_static</id>
<activation>
<os>
<name>Linux</name>
</os>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<configuration combine.self="override">
<requiredVersion>24</requiredVersion>
<mainClass>${name-of-main-class}</mainClass>
<imageName>neo4j-migrations</imageName>
<buildArgs>
<arg>--no-fallback</arg>
<arg>-Os</arg>
<arg>--static</arg>
<arg>--libc=musl</arg>
<arg>-march=compatibility</arg>
<arg>-H:+UnlockExperimentalVMOptions</arg>
<arg>-J--sun-misc-unsafe-memory-access=allow</arg>
</buildArgs>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>native</id>
<activation>
<property>
<name>native</name>
</property>
</activation>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>4.1.137.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<executions>
<execution>
<id>create-native-image</id>
<goals>
<goal>compile-no-fork</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>assembly-native</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<finalName>neo4j-migrations-${project.version}-${os.detected.classifier}</finalName>
<attach>false</attach>
<descriptors>
<descriptor>src/main/assembly/assembly-native${assembly-suffix}.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>