beanzooka
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.github.nbbrd.beanzooka</groupId>
<artifactId>beanzooka</artifactId>
<version>1.4.0</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>com.github.nbbrd.beanzooka</groupId>
<artifactId>beanzooka</artifactId>
<version>1.4.0</version>
<packaging>jar</packaging>
<name>Beanzooka</name>
<description>NetBeans Platform Launcher</description>
<url>https://github.com/${x.github.user}/${x.github.repo}</url>
<inceptionYear>2019</inceptionYear>
<licenses>
<license>
<name>European Union Public Licence (EUPL)</name>
<url>https://joinup.ec.europa.eu/page/eupl-text-11-12</url>
</license>
</licenses>
<developers>
<developer>
<name>Philippe Charles</name>
<email>philippe.charles@nbb.be</email>
<organization>National Bank of Belgium</organization>
<organizationUrl>https://www.nbb.be</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/${x.github.user}/${x.github.repo}.git</connection>
<developerConnection>scm:git:ssh://github.com:${x.github.user}/${x.github.repo}.git</developerConnection>
<url>http://github.com/${x.github.user}/${x.github.repo}/tree/master</url>
</scm>
<properties>
<!-- Java 8+ config -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.outputTimestamp>2025-03-11T09:25:48Z</project.build.outputTimestamp>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<!-- GitHub hosting -->
<x.github.user>nbbrd</x.github.user>
<x.github.repo>beanzooka</x.github.repo>
<project.x.mainClass>beanzooka.Beanzooka</project.x.mainClass>
<project.x.fileName>beanzooka</project.x.fileName>
<project.x.splash>beanzooka/beanzooka.png</project.x.splash>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.12.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-desktop-util</groupId>
<artifactId>java-desktop-util-bom</artifactId>
<version>2.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-io-util</groupId>
<artifactId>java-io-bom</artifactId>
<version>0.0.33</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- compile only -->
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
<version>3.49.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-design-util</groupId>
<artifactId>java-design-processor</artifactId>
<scope>provided</scope>
</dependency>
<!-- compile and runtime -->
<dependency>
<groupId>com.github.nbbrd.java-desktop-util</groupId>
<artifactId>java-desktop-util-swing</artifactId>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-desktop-util</groupId>
<artifactId>java-desktop-util-fa</artifactId>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-desktop-util</groupId>
<artifactId>java-desktop-util-os</artifactId>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-io-util</groupId>
<artifactId>java-io-xml</artifactId>
</dependency>
<dependency>
<groupId>com.formdev</groupId>
<artifactId>flatlaf</artifactId>
<version>3.5.4</version>
</dependency>
<!-- test only -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.27.3</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<!-- Enforce reproducible builds -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.4.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.1.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.21.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.2</version>
</plugin>
<!-- Other plugins -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<version>3.8</version>
</plugin>
<plugin>
<groupId>com.github.nbbrd.heylogs</groupId>
<artifactId>heylogs-maven-plugin</artifactId>
<version>0.9.3</version>
</plugin>
<plugin>
<groupId>com.amashchenko.maven.plugin</groupId>
<artifactId>gitflow-maven-plugin</artifactId>
<version>1.21.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.2</version>
</plugin>
<plugin>
<groupId>org.simplify4u.plugins</groupId>
<artifactId>sign-maven-plugin</artifactId>
<version>1.1.0</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.7.0</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.12</version>
</plugin>
<plugin>
<groupId>org.jreleaser</groupId>
<artifactId>jreleaser-maven-plugin</artifactId>
<version>1.17.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>templating-maven-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.5.2</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.github.nbbrd.heylogs</groupId>
<artifactId>heylogs-maven-plugin</artifactId>
<executions>
<execution>
<id>check-changelog</id>
<goals>
<goal>check</goal>
</goals>
<inherited>false</inherited>
<configuration>
<semver>true</semver>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<properties>
<!-- Enable parallel execution of junit5 tests -->
<configurationParameters>
junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.mode.default=concurrent
</configurationParameters>
</properties>
</configuration>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<configuration>
<failOnUnsupportedJava>false</failOnUnsupportedJava>
<bundledSignatures>
<bundledSignature>jdk-unsafe</bundledSignature>
<bundledSignature>jdk-deprecated</bundledSignature>
<bundledSignature>jdk-internal</bundledSignature>
<bundledSignature>jdk-non-portable</bundledSignature>
<bundledSignature>jdk-reflection</bundledSignature>
</bundledSignatures>
<suppressAnnotations>
<suppressAnnotation>javax.annotation.processing.Generated</suppressAnnotation>
<suppressAnnotation>lombok.Generated</suppressAnnotation>
</suppressAnnotations>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
<goal>testCheck</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Generates an all-in-one executable jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>${project.x.mainClass}</Main-Class>
<SplashScreen-Image>${project.x.splash}</SplashScreen-Image>
</manifestEntries>
</transformer>
</transformers>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>bin</shadedClassifierName>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
</plugin>
<!-- Generates About.java -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>templating-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-aboutSummary</id>
<goals>
<goal>filter-sources</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Base build java8 -->
<profile>
<id>base-java8</id>
<activation>
<property>
<name>!skipBaseJava8</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<useModulePath>false</useModulePath>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Base processors -->
<profile>
<id>base-processors</id>
<activation>
<property>
<name>!skipBaseProcessors</name>
</property>
</activation>
<properties>
<lombok.version>1.18.36</lombok.version>
<java-design.version>1.5.1</java-design.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-design-util</groupId>
<artifactId>java-design-annotation</artifactId>
<version>${java-design.version}</version>
</dependency>
<dependency>
<groupId>com.github.nbbrd.java-design-util</groupId>
<artifactId>java-design-processor</artifactId>
<version>${java-design.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths combine.children="append">
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>com.github.nbbrd.java-design-util</groupId>
<artifactId>java-design-processor</artifactId>
<version>${java-design.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Run Java8 build with JPMS on JDK9+ -->
<profile>
<id>java8-with-jpms</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<!-- Fix NetBeans bug with test packages -->
<maven.compiler.target>9</maven.compiler.target>
<maven.compiler.source>9</maven.compiler.source>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<!-- First: compile all as Java9 -->
<execution>
<id>default-compile</id>
<configuration>
<release>9</release>
</configuration>
</execution>
<!-- Second: recompile all but module-info as Java8 -->
<execution>
<id>base-compile</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<source>8</source>
<target>8</target>
<excludes>
<exclude>module-info.java</exclude>
</excludes>
</configuration>
</execution>
<!-- Third: compile all tests as Java8 -->
<!-- This fails in NetBeans ... -->
<execution>
<id>default-testCompile</id>
<configuration>
<release>8</release>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Run Java8 build without JPMS on JDK8 -->
<profile>
<id>java8-without-jpms</id>
<activation>
<jdk>1.8</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<excludes>
<exclude>module-info.java</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Enforce dependency & Maven-central rules -->
<profile>
<id>enforce-dependency-rules</id>
<activation>
<property>
<name>!skipEnforceDependencyRules</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.kordamp.maven</groupId>
<artifactId>pomchecker-enforcer-rules</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>1.9.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>enforce</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<!-- Built-In Rules -->
<banDuplicatePomDependencyVersions/>
<dependencyConvergence/>
<reactorModuleConvergence/>
<requireMavenVersion>
<version>3.6.0</version>
</requireMavenVersion>
<requireNoRepositories>
<allowSnapshotRepositories>true</allowSnapshotRepositories>
</requireNoRepositories>
<requirePluginVersions/>
<requireReleaseDeps>
<onlyWhenRelease>true</onlyWhenRelease>
</requireReleaseDeps>
<requireUpperBoundDeps/>
<!-- pomchecker-enforcer-rules -->
<checkMavenCentral
implementation="org.kordamp.maven.enforcer.checker.CheckMavenCentral">
<release>false</release>
<strict>false</strict>
</checkMavenCentral>
<!-- extra-enforcer-rules -->
<banCircularDependencies/>
<banDuplicateClasses/>
<enforceBytecodeVersion>
<maxJdkVersion>8</maxJdkVersion>
<ignoredScopes>
<ignoreScope>test</ignoreScope>
</ignoredScopes>
</enforceBytecodeVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Enforce modern API -->
<profile>
<id>enforce-modern-api</id>
<activation>
<property>
<name>!skipEnforceModernAPI</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-plugin</artifactId>
<configuration>
<javaVersion>1.8</javaVersion>
</configuration>
<executions>
<execution>
<id>modernizer</id>
<phase>verify</phase>
<goals>
<goal>modernizer</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Enforce code coverage -->
<profile>
<id>enforce-code-coverage</id>
<activation>
<property>
<name>!skipEnforceCodeCoverage</name>
</property>
<jdk>(,11]</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Gitflow automation -->
<profile>
<id>gitflow-automation</id>
<activation>
<property>
<name>!skipGitflowAutomation</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.amashchenko.maven.plugin</groupId>
<artifactId>gitflow-maven-plugin</artifactId>
<configuration>
<gitFlowConfig>
<versionTagPrefix>v</versionTagPrefix>
</gitFlowConfig>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Base deploy -->
<profile>
<id>base-deploy</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-empty-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludePackageNames>*</excludePackageNames>
<quiet>true</quiet>
</configuration>
</plugin>
<plugin>
<groupId>org.simplify4u.plugins</groupId>
<artifactId>sign-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Deploy SNAPSHOTS to OSSRH -->
<profile>
<id>snapshot-deploy</id>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
<stagingProgressTimeoutMinutes>10</stagingProgressTimeoutMinutes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Deploy RELEASES to OSSRH -->
<profile>
<id>release-deploy</id>
<distributionManagement>
<repository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
<stagingProgressTimeoutMinutes>10</stagingProgressTimeoutMinutes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>full-release</id>
<build>
<plugins>
<!-- Extract changelog for release -->
<plugin>
<groupId>com.github.nbbrd.heylogs</groupId>
<artifactId>heylogs-maven-plugin</artifactId>
<executions>
<execution>
<id>extract-changelog</id>
<goals>
<goal>extract</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Release assets -->
<plugin>
<groupId>org.jreleaser</groupId>
<artifactId>jreleaser-maven-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>full-release</goal>
</goals>
</execution>
</executions>
<configuration>
<jreleaser>
<release>
<github>
<skipTag>true</skipTag>
<!-- Fix default value -->
<branch>master</branch>
<changelog>
<external>${project.build.directory}/CHANGELOG.md</external>
</changelog>
</github>
</release>
<checksum>
<individual>true</individual>
</checksum>
<signing>
<active>ALWAYS</active>
<!-- Fix default value -->
<armored>true</armored>
</signing>
<distributions>
<!-- Name is here ! -->
<beanzooka>
<type>SINGLE_JAR</type>
<artifacts>
<artifact>
<path>
${project.build.directory}/${project.x.fileName}-${project.version}-bin.jar
</path>
</artifact>
</artifacts>
<scoop>
<active>RELEASE</active>
</scoop>
<brew>
<active>RELEASE</active>
</brew>
</beanzooka>
</distributions>
</jreleaser>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>