mmm
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.m-m-m</groupId> <artifactId>mmm</artifactId> <version>24</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" child.project.url.inherit.append.path="false"> <modelVersion>4.0.0</modelVersion> <groupId>io.github.m-m-m</groupId> <artifactId>mmm</artifactId> <version>24</version> <packaging>pom</packaging> <name>${project.artifactId}</name> <description>Mature Modular Meta-Framework (MMM) is a generic and modular meta-framework to build applications.</description> <url>https://m-m-m.github.io/</url> <inceptionYear>2001</inceptionYear> <properties> <!-- Actual repositories with code will inherit from this POM and use revision as default version for development and CI builds. CI will also deploy them to nexus where users can always test the latest successful build versions using this magic version. To workaround a bug in Java module system when adding JARs to class- or modulepath this version number has to carry at least two dot separated digits (so dev-SNAPSHOT or 0-SNAPSHOT was not working causing that Java bug): https://github.com/m-m-m/cli/issues/1 For real releases the revision will be overridden as commandline argument -Drevision=... --> <revision>0.0-SNAPSHOT</revision> <java.version>21</java.version> <maven.compiler.fork>true</maven.compiler.fork> <maven.compiler.release>${java.version}</maven.compiler.release> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <logback.version>1.5.18</logback.version> <junit.version>5.12.2</junit.version> <assertj.version>3.27.3</assertj.version> <mmm.flatten.mode>bom</mmm.flatten.mode> <mmm.flatten.updatePom>true</mmm.flatten.updatePom> <githuib.organization>m-m-m</githuib.organization> <githuib.repository>parent</githuib.repository> <github.default.branch>master</github.default.branch> <maven.archetype.version>3.2.1</maven.archetype.version> <maven.resources.plugin.version>3.3.1</maven.resources.plugin.version> <maven.compiler.plugin.version>3.13.0</maven.compiler.plugin.version> <maven.install.plugin.version>3.1.2</maven.install.plugin.version> <maven.deploy.plugin.version>3.1.2</maven.deploy.plugin.version> <maven.clean.plugin.version>3.4.0</maven.clean.plugin.version> <maven.jar.plugin.version>3.4.2</maven.jar.plugin.version> <maven.source.plugin.version>3.3.1</maven.source.plugin.version> <maven.javadoc.plugin.version>3.8.0</maven.javadoc.plugin.version> <maven.surefire.plugin.version>3.3.1</maven.surefire.plugin.version> <maven.war.plugin.version>3.4.0</maven.war.plugin.version> <maven.help.plugin.version>3.4.1</maven.help.plugin.version> <maven.gpg.plugin.version>3.2.4</maven.gpg.plugin.version> <mojo.flatten.plugin.version>1.6.0</mojo.flatten.plugin.version> <mojo.license.plugin.version>2.4.0</mojo.license.plugin.version> <mojo.exec.plugin.version>3.4.0</mojo.exec.plugin.version> <sonar.maven.plugin.version>4.0.0.4121</sonar.maven.plugin.version> <owasp.dependency.check.plugin.version>9.2.0</owasp.dependency.check.plugin.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>${junit.version}</version> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${assertj.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Test --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${maven.resources.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${maven.install.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${maven.deploy.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${maven.clean.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${maven.jar.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven.source.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven.javadoc.plugin.version}</version> <configuration> <!-- http://jira.codehaus.org/browse/MJAVADOC-308 --> <!--<maxmemory>5048m</maxmemory>--> <notree>true</notree> <show>protected</show> <source>${java.version}</source> <encoding>${project.reporting.outputEncoding}</encoding> <charset>${project.build.sourceEncoding}</charset> <docfilessubdirs>true</docfilessubdirs> <stylesheetfile>${user.dir}/src/main/javadoc/stylesheet.css</stylesheetfile> <doclint>none</doclint> <doctitle>JavaDocs for ${project.name} ${project.version}</doctitle> <windowtitle>JavaDocs for ${project.name} ${project.version}</windowtitle> <additionalOptions>--allow-script-in-comments --enable-preview</additionalOptions> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven.surefire.plugin.version}</version> <configuration> <!-- Surefire changed the default to the project.build.directory causing trouble with file paths to test resources --> <workingDirectory>${basedir}</workingDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>${maven.war.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-help-plugin</artifactId> <version>${maven.help.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven.gpg.plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>${mojo.cobertura.plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>${mojo.license.plugin.version}</version> </plugin> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonar.maven.plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <version>${mojo.flatten.plugin.version}</version> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>${owasp.dependency.check.plugin.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>${project.build.sourceEncoding}</encoding> <includeEmptyDirs>true</includeEmptyDirs> </configuration> </plugin> <!-- advanced manifests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> </archive> </configuration> </plugin> <!-- generate and use flattened pom instead of pom.xml --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <configuration> <flattenMode>${mmm.flatten.mode}</flattenMode> <updatePomFile>${mmm.flatten.updatePom}</updatePomFile> </configuration> <executions> <execution> <id>flatten</id> <phase>process-test-resources</phase> <goals> <goal>flatten</goal> </goals> </execution> <execution> <id>flatten.clean</id> <phase>clean</phase> <goals> <goal>clean</goal> </goals> </execution> </executions> </plugin> <!-- also generate source JARs --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <phase>package</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <!-- https://central.sonatype.org/publish/publish-portal-maven/ --> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.7.0</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> <autoPublish>true</autoPublish> </configuration> </plugin> <!-- avoid version in local war files, exclude sources JARs from WARs --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <packagingExcludes>WEB-INF/lib/*-sources.jar</packagingExcludes> <warName>${project.artifactId}</warName> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>deploy</id> <build> <plugins> <!-- also generate javadoc JARs --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Sign artifacts with PGP --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- separate eclipse build from command-line... --> <id>mmm.eclipse</id> <activation> <property> <name>eclipse.application</name> </property> </activation> <build> <directory>eclipse-target</directory> </build> </profile> <profile> <id>security</id> <build> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <configuration> <failBuildOnCVSS>8</failBuildOnCVSS> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>ossrh</id> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> </profiles> <issueManagement> <system>GitHub</system> <url>https://github.com/${githuib.organization}/${githuib.repository}/issues</url> </issueManagement> <scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false"> <connection>scm:git:https://github.com/${githuib.organization}/${githuib.repository}.git</connection> <developerConnection>scm:git:https://github.com/${githuib.organization}/${githuib.repository}.git</developerConnection> <url>https://github.com/${githuib.organization}/${githuib.repository}/tree/${github.default.branch}</url> <tag/> </scm> <distributionManagement> <repository> <id>deploy</id> <name>MMM Staging Repository</name> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>deploy</id> <name>mmm snapshot repository</name> <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> <organization> <name>mmm-team</name> <url>https://${githuib.organization}.github.io</url> </organization> <developers> <developer> <id>hohwille</id> <name>Jörg Hohwiller</name> <email>hohwille@users.sourceforge.net</email> <url>http://www.j-hohwiller.de/joerg</url> <organization></organization> <organizationUrl/> <roles> <role>admin</role> <role>designer</role> <role>developer</role> </roles> <timezone>+1</timezone> <properties/> </developer> </developers> <contributors> <contributor> <name>Malte Brunnlieb</name> <email>m_brunnl@cs.uni-kl.de</email> <url>https://github.com/may-bee/</url> <organization/> <organizationUrl/> <roles> </roles> <timezone>+1</timezone> <properties/> </contributor> <contributor> <name>Christoph Bauer</name> <email>fridolin@users.sourceforge.net</email> <url>http://www.christoph-bauer.net/</url> <organization/> <organizationUrl/> <roles> </roles> <timezone>+1</timezone> <properties/> </contributor> </contributors> <licenses> <license> <name>Apache Software License, Version 2.0</name> <url>https://github.com/${githuib.organization}/${githuib.repository}/blob/${github.default.branch}/LICENSE</url> <distribution>repro</distribution> <comments/> </license> </licenses> </project>