mir-cli
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.mycore.mir</groupId>
<artifactId>mir-cli</artifactId>
<version>2025.12.1</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<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>org.mycore.mir</groupId>
<artifactId>mir-parent</artifactId>
<version>2025.12.1</version>
</parent>
<artifactId>mir-cli</artifactId>
<packaging>pom</packaging>
<name>MIR: Command Line Interface</name>
<description>ZIP package ready to run MyCoRe commands from shell</description>
<properties>
<MCR.AppName>mir</MCR.AppName>
<acl-description.admins>administrators only</acl-description.admins>
<acl-description.all>always allowed</acl-description.all>
<acl-description.editors>administrators and editors</acl-description.editors>
<acl-description.guests>guests only</acl-description.guests>
<acl-description.guests-and-submitters>guests and submitters</acl-description.guests-and-submitters>
<acl-description.never>never allowed</acl-description.never>
<acl-description.not-logged-in>not logged-in</acl-description.not-logged-in>
<acl-description.require-login>require login</acl-description.require-login>
<acl-description.submitters>submitters, editors and administrators</acl-description.submitters>
<cli.cmd />
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<configuration>
<!-- Extra JVM arguments that will be included in the bin scripts -->
<extraJvmArguments>-DMCR.AppName=${MCR.AppName}
--add-opens java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
--add-opens java.base/java.net=ALL-UNNAMED</extraJvmArguments>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
<useWildcardClassPath>true</useWildcardClassPath>
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
<licenseHeaderFile>license-header.txt</licenseHeaderFile>
<programs>
<program>
<mainClass>org.mycore.frontend.cli.MCRCommandLineInterface</mainClass>
<id>${MCR.AppName}</id>
</program>
</programs>
</configuration>
<executions>
<execution>
<goals>
<goal>assemble</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/bin.xml</descriptor>
</descriptors>
<tarLongFileMode>gnu</tarLongFileMode>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.mycore</groupId>
<artifactId>mycore-meta</artifactId>
<type>pom</type>
<exclusions>
<!-- remove webapp only components -->
<exclusion>
<groupId>org.mycore</groupId>
<artifactId>mycore-acl-editor2</artifactId>
</exclusion>
<exclusion>
<groupId>org.mycore</groupId>
<artifactId>mycore-classbrowser</artifactId>
</exclusion>
<exclusion>
<groupId>org.mycore</groupId>
<artifactId>mycore-classeditor</artifactId>
</exclusion>
<exclusion>
<groupId>org.mycore</groupId>
<artifactId>mycore-oai</artifactId>
</exclusion>
<exclusion>
<groupId>org.mycore</groupId>
<artifactId>mycore-session-listing</artifactId>
</exclusion>
<exclusion>
<groupId>org.mycore</groupId>
<artifactId>mycore-webcli</artifactId>
</exclusion>
<exclusion>
<groupId>org.mycore</groupId>
<artifactId>mycore-xeditor</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>${project.parent.groupId}</groupId>
<artifactId>mir-module</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<!-- required for org.mycore.common.xsl.MCRParameterCollector to work -->
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>dev-cli</id>
<properties>
<MCR.DataPrefix>dev</MCR.DataPrefix>
</properties>
<build>
<defaultGoal>resources:copy-resources exec:exec</defaultGoal>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/appassembler</outputDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main</directory>
<includes>
<include>config/**</include>
</includes>
</resource>
</resources>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>java</executable>
<arguments>
<argument>-Djava.awt.headless=true</argument>
<argument>-DMCR.AppName=${MCR.AppName}</argument>
<argument>-DMCR.DataPrefix=${MCR.DataPrefix}</argument>
<argument>-Dapp.home=${project.build.directory}${file.separator}appassembler</argument>
<argument>-classpath</argument>
<classpath />
<argument>org.mycore.frontend.cli.MCRCommandLineInterface</argument>
<argument>${cli.cmd}</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>