MAVEN(1)

πŸ“¦
version 1.12 Β· 3 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– MAVEN β€” like, the manual page, bestie πŸ’–

okay so real talk: this is the man page for Maven (the mh_patchpoms tool from Maven Repo Helper), a lil script that patches POM files using the Maven dependency rules. It lives in the User Commands section of the manual, and honestly? She's niche but she's everything if you're doing Debian Java packaging. πŸŽ€


✨ NAME ✨

Maven β€” patches the POM files using the Maven dependency rules. that's it, that's the whole job description, and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

mh_patchpoms [option]...

yeah, that's the whole vibe. options go in, magic comes out ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea 🍡 β€” this thing reads the file debian/$package.poms, and then it takes every single POM file that's listed inside that .poms file and transforms it into a POM file that uses the Debian versions of the libraries. glow-up, but for XML. πŸ’–

and because she's a considerate queen, she also keeps a backup of every POM file she touches, so you can always undo it with mh_unpatchpoms. no cap, always have a safety net bestie 🫢


πŸ‘‘ OPTIONS πŸ‘‘

  • -h, --help β€” show this text. the classic "help me pls" move πŸ™ˆ
  • -V, --version β€” show the version. slay, now you know what you're running ⭐
  • -p<package>, --package=<package> β€” the package to act on. tell her who she's working with πŸ’…
  • -k, --keep-pom-version β€” keeps the original version of the POMs, BUT converts all the other versions in dependencies and plugins. and if there's a parent POM? she keeps its version too β€” except when that parent is already registered in the Maven repository. iykyk, it's giving nuance 🌈
  • -e<version>, --set-version=<version> β€” set the version for the POM, and do not use the version declared in the POM file. you're overriding, periodt πŸ‘‘
  • -r<rules>, --rules=<rules> β€” path to the file containing the rules to apply when cleaning the POM. this one's optional, and the default location is debian/maven.rules πŸ“
  • -R<rule>, --extra-rule=<rule> β€” an extra rule to apply when cleaning the POM. can occur multiple times, and it works instead of, or in addition to, -r πŸ”₯
  • -u<rules>, --published-rules=<rules> β€” path to the file with the extra rules to publish in the property debian.mavenRules in the cleaned POM. optional, default location is debian/maven.publishedRules πŸ“’
  • -U<rule>, --extra-published-rule=<rule> β€” an extra rule to publish. can occur multiple times, instead of or in addition to -u ✨
  • -i<rules>, --ignore-rules=<rules> β€” path to the file with the rules used to remove certain dependencies from the cleaned POM. optional, default location is debian/maven.ignoreRules 🚫
  • -I<rule>, --extra-ignore-rule=<rule> β€” an extra rule used to remove dependencies from the transformed POM. can occur multiple times, instead of or in addition to -i πŸ’€
  • -c<rules>, --clean-ignore-rules=<rules> β€” path to the file with the rules used to remove certain dependencies from the cleaned POM, in addition to the ignore rules specified previously. super useful when, say, the Maven clean target needs more dependencies or plugins ignored than the build target does. all rules defined in clean-ignore-rules get added to the existing rules in ignore-rules. optional, default location is debian/maven.cleanIgnoreRules 🧚
  • -s, --no-rules β€” don't apply any rules for converting versions. like, none. she won't even convert versions to the default 'debian' version. full chaos mode, no notes 😭
  • --no-publish-used-rule β€” don't publish the rule used to transform a POM's own attributes in debian.mavenRules. keep it private bestie πŸ™ˆ
  • -d, --debian-build β€” transform during a Debian build, which means that some POM elements will be removed βœ‚οΈ
  • -b, --build-no-docs β€” if the build doesn't need to build documentation, use this option to remove some POM elements (in particular plugins) which are useless here and may require extra dependencies and make the packaging harder. basically: cut the dead weight πŸ’…
  • -m<repo root>, --maven-repo=<repo root> β€” location of the Maven repository. used to force the versions of the Maven plugins used in the current POM file with the versions found in the repository πŸ—‚οΈ
  • -v, --verbose β€” show more information while running. she's yapping, but productively πŸ—£οΈ
  • -n, --no-act β€” don't actually do anything, just print the results. the "let me rehearse first" option, iconic for testing πŸŽ€

see also: mh_installpoms(1), mh_patchpom(1) β€” go read your sisters' pages too, they're all in the same friend group 🫢

and that's the whole page, bestie!! 🌟 this manual is from Maven Repo Helper version 1.7.1, dated September 2025 β€” so like, fresh, current, and serving main character energy in the MAVEN(1) section. now go patch some POMs, you absolute legend πŸ’œβœ¨πŸ¦‹

πŸ“¦ where this page comes from