jikkou-cli
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.streamthoughts</groupId>
<artifactId>jikkou-cli</artifactId>
<version>0.36.4</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-License-Identifier: Apache-2.0
Copyright (c) The original authors
Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
-->
<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>io.streamthoughts</groupId>
<artifactId>jikkou-parent</artifactId>
<version>0.36.4</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>jikkou-cli</artifactId>
<name>Jikkou :: CLI</name>
<description>
Jikkou CLI:: A command-line client designed to provide an efficient and easy way to manage, automate, and
provision resources.
</description>
<packaging>${packaging}</packaging>
<properties>
<packaging>jar</packaging>
<license.header.file>${project.parent.basedir}/header</license.header.file>
<ascii-table.version>1.8.0</ascii-table.version>
<executable-suffix/>
<rpm-maven-plugin.version>2.3.0</rpm-maven-plugin.version>
<!-- Micronaut -->
<micronaut.version>4.7.4</micronaut.version>
<micronaut.core.version>4.7.10</micronaut.core.version>
<micronaut-maven-plugin.version>4.7.2</micronaut-maven-plugin.version>
<micronaut-picocli-bom.version>5.7.0</micronaut-picocli-bom.version>
<micronaut.aot.enabled>false</micronaut.aot.enabled>
<os-maven-plugin.version>1.7.1</os-maven-plugin.version>
<!-- Native -->
<imageName>jikkou</imageName>
<native.maven.plugin.version>0.10.6</native.maven.plugin.version>
<exec.mainClass>io.streamthoughts.jikkou.client.Jikkou</exec.mainClass>
</properties>
<dependencyManagement>
<dependencies>
<!-- Micronaut -->
<dependency>
<groupId>io.micronaut.platform</groupId>
<artifactId>micronaut-parent</artifactId>
<version>${micronaut.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-core-bom</artifactId>
<version>${micronaut.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.micronaut.picocli</groupId>
<artifactId>micronaut-picocli-bom</artifactId>
<version>${micronaut-picocli-bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.freva</groupId>
<artifactId>ascii-table</artifactId>
<version>${ascii-table.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-api-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-template-jinja</artifactId>
<version>${project.version}</version>
</dependency>
<!-- START dependencies for Jikkou Extension Providers -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-provider-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-provider-kafka</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-provider-schema-registry</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-provider-aiven</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-provider-kafka-connect</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jikkou-provider-aws</artifactId>
<version>${project.version}</version>
</dependency>
<!-- END dependencies for Jikkou Extension Providers -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<!-- START dependencies for Micronaut/Picocli -->
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-jackson-databind</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-runtime</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
</dependency>
<dependency>
<groupId>io.micronaut.picocli</groupId>
<artifactId>micronaut-picocli</artifactId>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject</artifactId>
<scope>compile</scope>
</dependency>
<!-- END dependencies for Micronaut -->
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<scope>compile</scope>
</dependency>
<!-- Support for AWS MSK Apache Kafka Managed Service -->
<dependency>
<groupId>software.amazon.msk</groupId>
<artifactId>aws-msk-iam-auth</artifactId>
<scope>compile</scope>
</dependency>
<!-- START dependencies for test -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.micronaut.test</groupId>
<artifactId>micronaut-test-junit5</artifactId>
<scope>test</scope>
</dependency>
<!-- END dependencies for test -->
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<!-- detect OS classifier, needed for distribution Zip file -->
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>${os-maven-plugin.version}</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>io.micronaut.maven</groupId>
<artifactId>micronaut-maven-plugin</artifactId>
<version>${micronaut-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<micronautAotVersion>2.0.1</micronautAotVersion>
<testResourcesVersion>1.2.5</testResourcesVersion>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>${jdk.version}</release>
<!-- Uncomment to enable incremental compilation -->
<useIncrementalCompilation>false</useIncrementalCompilation>
<annotationProcessorPaths combine.children="append">
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-graal</artifactId>
<version>${micronaut.version}</version>
</path>
<path>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject-java</artifactId>
<version>${micronaut.version}</version>
</path>
<path>
<groupId>info.picocli</groupId>
<artifactId>picocli-codegen</artifactId>
<version>${picocli.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-Amicronaut.processing.group=io.streamthoughts</arg>
<arg>-Amicronaut.processing.module=jikkou-cli</arg>
<arg>-verbose</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<attach>false</attach>
<appendAssemblyId>false</appendAssemblyId>
<finalName>jikkou-${project.version}-${os.detected.classifier}</finalName>
<outputDirectory>${app.distribution.directory}</outputDirectory>
<workDirectory>${project.build.directory}/assembly/work</workDirectory>
<skipAssembly>true</skipAssembly>
</configuration>
<executions>
<execution>
<id>make-distribution</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<id>generate-autocompletion-script</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>java</executable>
<arguments>
<argument>-Dpicocli.autocomplete.systemExitOnError</argument>
<argument>-cp</argument>
<classpath/>
<argument>picocli.AutoComplete</argument>
<argument>--force</argument><!-- overwrite if exists -->
<argument>--completionScript</argument>
<argument>${project.basedir}/../jikkou_completion</argument>
<argument>io.streamthoughts.jikkou.client.Jikkou</argument>
</arguments>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>${native.maven.plugin.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<id>build-native</id>
<goals>
<goal>build</goal>
</goals>
<phase>package</phase>
</execution>
<execution>
<id>test-native</id>
<goals>
<goal>test</goal>
</goals>
<phase>test</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>dist-windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<executable-suffix>.exe</executable-suffix>
</properties>
</profile>
<profile>
<id>native</id>
<activation>
<property>
<name>native</name>
</property>
</activation>
<properties>
<packaging>native-image</packaging>
<imageName>${project.build.finalName}-runner</imageName>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<configuration>
<mainClass>${exec.mainClass}</mainClass>
<buildArgs combine.children="append">
<buildArg>--verbose</buildArg>
<buildArg>-march=compatibility</buildArg>
<!--
FIX: Error: Classes that should be initialized at run time got initialized during image building:
see: io.micronaut.core.util.KotlinUtils.<clinit>(KotlinUtils.java:45)
-->
<buildArg>--initialize-at-build-time=kotlin.coroutines.intrinsics.CoroutineSingletons</buildArg>
<buildArg>--initialize-at-build-time=org.slf4j.helpers.Reporter</buildArg>
</buildArgs>
<metadataRepository>
<enabled>true</enabled>
<version>0.3.15</version>
</metadataRepository>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration combine.self="append">
<skipAssembly>false</skipAssembly>
<descriptors>
<descriptor>src/main/assembly/assembly-native.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>native-musl</id>
<activation>
<property>
<name>native-musl</name>
</property>
</activation>
<properties>
<packaging>native-image</packaging>
<imageName>${project.build.finalName}-runner</imageName>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<configuration>
<mainClass>${exec.mainClass}</mainClass>
<buildArgs combine.children="append">
<buildArg>--verbose</buildArg>
<buildArg>-march=compatibility</buildArg>
<buildArg>--libc=musl</buildArg>
<buildArg>--static</buildArg>
<!--
FIX: Error: Classes that should be initialized at run time got initialized during image building:
see: io.micronaut.core.util.KotlinUtils.<clinit>(KotlinUtils.java:45)
-->
<buildArg>--initialize-at-build-time=kotlin.coroutines.intrinsics.CoroutineSingletons</buildArg>
<buildArg>--initialize-at-build-time=org.slf4j.helpers.Reporter</buildArg>
</buildArgs>
<metadataRepository>
<enabled>true</enabled>
<version>0.3.15</version>
</metadataRepository>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration combine.self="append">
<skipAssembly>false</skipAssembly>
<descriptors>
<descriptor>src/main/assembly/assembly-native.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>dist</id>
<activation>
<property>
<name>dist</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<executions>
<execution>
<id>make-java-binary</id>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
<configuration>
<assembleDirectory>
${project.build.directory}/distribution
</assembleDirectory>
<licenseHeaderFile>${project.basedir}/header</licenseHeaderFile>
<platforms>
<platform>unix</platform>
</platforms>
<binFileExtensions>
<unix/>
</binFileExtensions>
<programs>
<program>
<mainClass>${exec.mainClass}</mainClass>
<name>jikkou</name>
</program>
</programs>
<configurationDirectory>etc</configurationDirectory>
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<generateRepository>true</generateRepository>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
<extraJvmArguments/>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration combine.self="append">
<finalName>jikkou-${project.version}-java-binary</finalName>
<skipAssembly>false</skipAssembly>
<descriptors>
<descriptor>src/main/assembly/assembly-binary.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>deb</id>
<build>
<plugins>
<plugin>
<groupId>org.vafer</groupId>
<artifactId>jdeb</artifactId>
<executions>
<execution>
<id>make-debian-package</id>
<phase>package</phase>
<goals>
<goal>jdeb</goal>
</goals>
<configuration>
<installDir>/opt/jikkou</installDir>
<deb>
${app.distribution.directory}/jikkou-${project.version}-${os.detected.classifier}.deb
</deb>
<verbose>true</verbose>
<snapshotExpand>true</snapshotExpand>
<!-- expand "SNAPSHOT" to what is in the "USER" env variable -->
<snapshotEnv>USER</snapshotEnv>
<verbose>true</verbose>
<controlDir>${project.basedir}/src/deb/control</controlDir>
<dataSet>
<data>
<src>
${project.build.directory}/${project.build.finalName}-runner${executable-suffix}
</src>
<type>file</type>
<dst>jikkou</dst>
<mapper>
<type>perm</type>
<prefix>/opt/jikkou/bin</prefix>
<filemode>755</filemode>
</mapper>
</data>
<data>
<src>${project.basedir}/../jikkou_completion</src>
<type>file</type>
<mapper>
<type>perm</type>
<prefix>/opt/jikkou/</prefix>
<filemode>444</filemode>
</mapper>
</data>
</dataSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>rpm</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>${rpm-maven-plugin.version}</version>
<executions>
<execution>
<id>generate-rpm</id>
<goals>
<goal>attached-rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<name>jikkou</name>
<version>${project.version}</version>
<license>Apache License Version 2.0</license>
<group>Applications/Programming</group>
<needarch>noarch</needarch>
<defaultFilemode>644</defaultFilemode>
<defaultUsername>root</defaultUsername>
<defaultGroupname>root</defaultGroupname>
<defaultDirmode>755</defaultDirmode>
<packager>Streamthoughts</packager>
<prefix>/opt/jikkou</prefix>
<requires>
<require>java</require>
</requires>
<mappings>
<mapping>
<directory>/opt/jikkou/bin/</directory>
<filemode>755</filemode>
<sources>
<source>
<location>
${project.build.directory}/${project.build.finalName}-runner${executable-suffix}
</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/jikkou/</directory>
<filemode>640</filemode>
<sources>
<source>
<location>${project.basedir}/../jikkou_completion</location>
</source>
</sources>
</mapping>
</mappings>
<preinstallScriptlet>
<scriptFile>src/rpm/scripts/preinstall</scriptFile>
<fileEncoding>utf-8</fileEncoding>
<filter>true</filter>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>src/rpm/scripts/postinstall</scriptFile>
<fileEncoding>utf-8</fileEncoding>
<filter>true</filter>
</postinstallScriptlet>
<preremoveScriptlet>
<scriptFile>src/rpm/scripts/preremove</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</preremoveScriptlet>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>