rose-build
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.rosestack</groupId> <artifactId>rose-build</artifactId> <version>0.0.5</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> <groupId>io.github.rosestack</groupId> <artifactId>rose-build</artifactId> <version>0.0.5</version> <packaging>pom</packaging> <name>Rose Build POM</name> <description>Rose Build POM</description> <url>https://rosestack.github.io/rose-build</url> <inceptionYear>2025</inceptionYear> <organization> <name>rosestack</name> <url>https://github.com/rosestack</url> </organization> <licenses> <license> <name>Apache License, Version 2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <developers> <developer> <name>chensoul</name> <email>ichensoul@gmail.com</email> </developer> </developers> <scm child.scm.url.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.connection.inherit.append.path="false"> <connection>scm:git:git@github.com:rosestack/rose-build</connection> <!-- 生成 site 时会使用相对地址,故去掉 .git 后缀--> <developerConnection>scm:git:https://github.com/rosestack/rose-build</developerConnection> <tag>v0.0.5</tag> <url>https://github.com/rosestack/rose-build</url> </scm> <issueManagement> <system>github</system> <url>https://github.com/rosestack/rose-build/issues</url> </issueManagement> <ciManagement> <system>github</system> <url>https://github.com/rosestack/rose-build/actions</url> </ciManagement> <distributionManagement> <snapshotRepository> <id>central</id> <name>central-snapshot</name> <url>https://central.sonatype.com/repository/maven-snapshots/</url> </snapshotRepository> <site> <id>github</id> <!--如果使用 ssh,mvn scm-publish:publish-scm 会提示 vpn 无法连接--> <url>${project.scm.developerConnection}</url> </site> </distributionManagement> <properties> <java.version>8</java.version> <maven.min.version>3.6.3</maven.min.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- Maven Plugins --> <central-publishing-maven-plugin.version>0.7.0</central-publishing-maven-plugin.version> <flatten-maven-plugin.version>1.7.0</flatten-maven-plugin.version> <forbiddenapis.version>3.9</forbiddenapis.version> <git-commit-id-maven-plugin.version>4.9.9</git-commit-id-maven-plugin.version> <jacoco-maven-plugin.version>0.8.13</jacoco-maven-plugin.version> <license-maven-plugin.version>4.6</license-maven-plugin.version> <maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version> <maven-deploy-plugin.version>3.1.4</maven-deploy-plugin.version> <maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version> <maven-failsafe-plugin.version>3.5.3</maven-failsafe-plugin.version> <maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version> <maven-javadoc-plugin.version>3.11.2</maven-javadoc-plugin.version> <maven-release-plugin.version>3.1.1</maven-release-plugin.version> <maven-scm-publish-plugin.version>3.3.0</maven-scm-publish-plugin.version> <!-- 使用 4.X 版本会出现 CRLF would be replaced by LF in fonts/glyphicons-halflings-regular.svg --> <maven-site-plugin.version>3.21.0</maven-site-plugin.version> <maven-source-plugin.version>3.3.1</maven-source-plugin.version> <maven-surefire-plugin.version>3.5.3</maven-surefire-plugin.version> <sonar-maven-plugin.version>3.11.0.3922</sonar-maven-plugin.version> <sortpom-maven-plugin.version>3.0.1</sortpom-maven-plugin.version> <spotbugs-maven-plugin.version>4.8.6.6</spotbugs-maven-plugin.version> <spotless-maven-plugin.version>2.22.8</spotless-maven-plugin.version> <sundrio-maven-plugin.version>0.103.1</sundrio-maven-plugin.version> <!-- Sonar settings --> <sonar.host.url>https://sonarcloud.io</sonar.host.url> <sonar.organization>rosestack</sonar.organization> <sonar.projectKey>${project.groupId}:${project.artifactId}</sonar.projectKey> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <version>${spotless-maven-plugin.version}</version> <configuration> <java> <importOrder /> <removeUnusedImports /> <palantirJavaFormat /> </java> </configuration> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>${sortpom-maven-plugin.version}</version> <configuration> <createBackupFile>false</createBackupFile> <predefinedSortOrder>recommended_2008_06</predefinedSortOrder> <lineSeparator>\n</lineSeparator> <sortModules>true</sortModules> <sortPlugins>groupId,artifactId</sortPlugins> </configuration> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs-maven-plugin.version}</version> <configuration> <effort>Max</effort> <threshold>Low</threshold> <xmlOutput>true</xmlOutput> </configuration> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>${license-maven-plugin.version}</version> <configuration> <properties> <owner>${project.organization.name}</owner> </properties> <licenseSets> <licenseSet> <header>com/mycila/maven/plugin/license/templates/APACHE-2-noemail.txt</header> <includes> <include>**/*.java</include> </includes> </licenseSet> </licenseSets> <strictCheck>true</strictCheck> <mapping> <java>SLASHSTAR_STYLE</java> </mapping> </configuration> </plugin> <plugin> <groupId>de.thetaphi</groupId> <artifactId>forbiddenapis</artifactId> <version>${forbiddenapis.version}</version> <configuration> <targetVersion>${java.version}</targetVersion> <signatures><![CDATA[com.google.common.base.Preconditions#checkNotNull(java.lang.Object) @ use java.util.Objects#requireNonNull(java.lang.Object) instead com.google.common.collect.ImmutableList#of(java.lang.Object) @ use java.util.Collections#singletonList(java.util.Objects#requireNonNull(java.lang.Object)) instead, and also consider omitting unnecessary null-checks com.google.common.collect.ImmutableSet#of(java.lang.Object) @ use java.util.Collections#singleton(java.util.Objects#requireNonNull(java.lang.Object)) instead, and also consider omitting unnecessary null-checks com.google.common.collect.ImmutableList#of() @ use java.util.Collections#emptyList() instead com.google.common.collect.ImmutableSet#of() @ use java.util.Collections#emptySet() instead # According to javadoc of following methods # "for Java 7 and later: this method is now unnecessary and should be treated as deprecated" @defaultMessage use diamond operator instead com.google.common.collect.Lists#newArrayList() com.google.common.collect.Lists#newLinkedList() com.google.common.collect.Maps#newHashMap() com.google.common.collect.Sets#newHashSet() com.google.common.base.Objects @ use java.util.Objects instead]]></signatures> <!-- if the used Java version is too new, don't fail, just do nothing: --> <failOnUnsupportedJava>false</failOnUnsupportedJava> <ignoreSignaturesOfMissingClasses>true</ignoreSignaturesOfMissingClasses> <bundledSignatures> <bundledSignature>jdk-unsafe</bundledSignature> <bundledSignature>jdk-deprecated</bundledSignature> <bundledSignature>jdk-non-portable</bundledSignature> <bundledSignature>jdk-reflection</bundledSignature> <bundledSignature>jdk-internal</bundledSignature> <bundledSignature>jdk-system-out</bundledSignature> </bundledSignatures> </configuration> </plugin> <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> <version>${git-commit-id-maven-plugin.version}</version> <configuration> <dateFormatTimeZone>${user.timezone}</dateFormatTimeZone> <failOnNoGitDirectory>false</failOnNoGitDirectory> <generateGitPropertiesFile>true</generateGitPropertiesFile> <dateFormat>yyyy-MM-dd HH:mm:ss</dateFormat> <includeOnlyProperties> <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty> <includeOnlyProperty>^git.commit.(id|message|time).*$</includeOnlyProperty> </includeOnlyProperties> </configuration> <executions> <execution> <id>get-the-git-infos</id> <goals> <goal>revision</goal> </goals> <phase>initialize</phase> </execution> </executions> </plugin> <plugin> <groupId>io.sundr</groupId> <artifactId>sundr-maven-plugin</artifactId> <version>${sundrio-maven-plugin.version}</version> <inherited>false</inherited> <executions> <execution> <goals> <goal>generate-bom</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> <compilerArgs> <arg>-parameters</arg> <arg>-Xlint:all,-options,-processing</arg> </compilerArgs> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> <encoding>${file.encoding}</encoding> </configuration> </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-enforcer-plugin</artifactId> <version>${maven-enforcer-plugin.version}</version> <configuration> <rules> <dependencyConvergence /> <requireJavaVersion> <version>${maven.compiler.target}</version> </requireJavaVersion> <requireMavenVersion> <version>${maven.min.version}</version> </requireMavenVersion> </rules> </configuration> <executions> <execution> <id>enforce</id> <phase>validate</phase> <goals> <goal>enforce</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${maven-failsafe-plugin.version}</version> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven-gpg-plugin.version}</version> <executions> <execution> <goals> <goal>sign</goal> </goals> <phase>verify</phase> <configuration> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <source>${maven.compiler.source}</source> <encoding>${file.encoding}</encoding> <doclint>none</doclint> <detectLinks>false</detectLinks> <detectOfflineLinks>false</detectOfflineLinks> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>${maven-release-plugin.version}</version> <configuration> <preparationGoals>clean verify</preparationGoals> <preparationProfiles>!tests</preparationProfiles> <releaseProfiles>release</releaseProfiles> <autoVersionSubmodules>true</autoVersionSubmodules> <tagNameFormat>v@{project.version}</tagNameFormat> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <version>${maven-scm-publish-plugin.version}</version> <configuration> <tryUpdate>true</tryUpdate> <scmBranch>gh-pages</scmBranch> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${maven-site-plugin.version}</version> <configuration> <skipDeploy>true</skipDeploy> <topSiteURL>${project.scm.developerConnection}</topSiteURL> </configuration> <executions> <execution> <goals> <goal>attach-descriptor</goal> </goals> <!-- one level of site descriptor --> <inherited>false</inherited> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <includes> <include>**/*Tests.java</include> <include>**/*Test.java</include> </includes> <excludes> <exclude>**/Abstract*.java</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <version>${flatten-maven-plugin.version}</version> <inherited>true</inherited> <configuration> <embedBuildProfileDependencies>false</embedBuildProfileDependencies> <flattenDependencyMode>all</flattenDependencyMode> <flattenMode>resolveCiFriendliesOnly</flattenMode> <updatePomFile>true</updatePomFile> <pomElements> <parent>expand</parent> <properties>keep</properties> <dependencyManagement>interpolate</dependencyManagement> <dependencies>resolve</dependencies> <distributionManagement>remove</distributionManagement> <repositories>remove</repositories> </pomElements> </configuration> <executions> <execution> <id>flatten</id> <goals> <goal>flatten</goal> </goals> <phase>process-resources</phase> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco-maven-plugin.version}</version> <configuration> <!-- jacoco does not support multi-release jars --> <excludes> <exclude>META-INF/**</exclude> </excludes> <propertyName>jacoco.argLine</propertyName> <append>true</append> </configuration> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonar-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>${central-publishing-maven-plugin.version}</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> <autoPublish>true</autoPublish> <deploymentName>${project.groupId}:${project.artifactId}:${project.version}</deploymentName> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> </plugin> <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> </plugin> <plugin> <groupId>io.sundr</groupId> <artifactId>sundr-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </plugin> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> </plugin> <plugin> <groupId>de.thetaphi</groupId> <artifactId>forbiddenapis</artifactId> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> </plugin> </plugins> </build> <profiles> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>jdk9+</id> <activation> <jdk>[9,)</jdk> </activation> <properties> <maven.compiler.release>${java.version}</maven.compiler.release> </properties> </profile> </profiles> </project>