skjolber/3d-bin-container-packing/maven
Claude Code and agent skill by skjolber/3d-bin-container-packing
- community
Checking that the SKILL.md file is still in the repository.
Maven build expertise for this multi-module Java project. Use when working with pom.xml files, managing dependencies, running builds or tests for specific modules, configuring or troubleshooting plugins (surefire, jacoco, shade, spotless, pitest, spotbugs, owasp), building the JMH benchmark JAR, or releasing to Maven Central.
Install
npx vskill@latest install skjolber/3d-bin-container-packing/mavenSKILL.md
Maven Multi-Module Build
This project is a Maven multi-module build. The root pom.xml is the parent; all dependency versions and plugin versions are declared there as properties.
Module Names (for -pl)
-pl value | Description | |
|---|---|---|
api | Public interfaces and data model | |
points | Free-space point tracking | |
validators | Result and load validators | |
core | Packager algorithm implementations | |
test | Shared test utilities | |
jmh | JMH benchmark suite | |
visualizer/api | Visualizer JSON contract types | |
visualizer/algorithm | Algorithm state capture | |
visualizer/packaging | Packing result → JSON conversion |
Common Commands
Plugin Reference
Surefire — running tests
Version is maven-surefire-plugin.version in root pom.xml.
Slow integration tests — differential verification against the 4.x reference
The slow-tests profile runs the *IT classes of core with the Failsafe plugin (same version as Surefire). They compare the 5.0 brute force packagers with the ported 4.x recursive search, the reference oracle in core/src/test/java/.../packer/bruteforce/reference, over thousands of seeded scenarios and the order-9 Bouwkamp codes which are too slow for the ordinary tests. The profile is off by default: a default build has no Failsafe execution, and *IT classes are not run by test. Run the tier locally, on four cores, with:
It takes a few minutes, and the forked JVM is stopped after 30 minutes. The tier runs on master in CI and weekly (.github/workflows/maven.yml, job slow-tests, also on demand). To run one class while developing, name it with Surefire: -Dtest=BouwkampReferenceIT -Dsurefire.failIfNoSpecifiedTests=false test.
JaCoCo — code coverage
Spotless — code formatting
Maven Shade — fat JAR (jmh module)
PiTest — mutation testing
-DfailWhenNoMutations=false is needed because -am also runs PIT on upstream modules. Narrow a run with -DtargetClasses=<pattern> -DtargetTests=<pattern> (for example -DtargetClasses='com.github.skjolber.packing.ep.points2d.*'); a whole module takes long. JUnit 5 support comes from pitest-junit5-plugin in the root POM.
SpotBugs — static analysis
The spotbugs profile runs the check goal at verify (effort max, threshold low) and writes <module>/target/spotbugsXml.xml; the build fails on findings. spotbugs-exclude.xml in the root excludes findings which are by design or reviewed (mutable inputs and outputs are not copied, no serialization, extension points). Use clean: Moditect fails on an already modular JAR otherwise.
OWASP Dependency Check
Dependency Management Rules
- All versions live in root `pom.xml` as `<properties>` — never hardcode a version in a child POM.
- Use
${property.version}references in child POMs. <dependencyManagement>in the root POM controls all third-party and inter-module versions.- Inter-module dependencies use
${project.version}.
Key Version Properties
| Property | Controls | |
|---|---|---|
java.version | Java 17 source/target | |
junit.version | JUnit Jupiter | |
mockito.version | Mockito | |
assertj.version | AssertJ | |
jmh.version | JMH framework | |
jacoco-maven-plugin.version | JaCoCo | |
maven-surefire-plugin.version | Surefire, and Failsafe for the slow-tests profile | |
spotless.version | Spotless formatter | |
pitest.version | PiTest mutation testing | |
pitest-junit5-plugin.version | PiTest JUnit 5 test discovery | |
spotbugs-maven-plugin.version | SpotBugs (spotbugs profile) |
Release to Maven Central
Uses maven-release-plugin + maven-gpg-plugin + Sonatype Central Portal plugin.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/maven/SKILL.md
Popularity
- Repository stars
- 572
- Repository forks
- 152
- 7-day trend score
- 32
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/skjolber/3d-bin-container-packing/maven)