MVN_BUILD(7)
π MVN_BUILD(7) β the mvn_build page, bestie edition π
okay so real quick: this is the manual page for mvn_build from the Java Packages Tools crew. she builds Maven projects with XMvn and she's lowkey the backbone of your whole spec file. let's get into it π«Ά
β¨ NAME β¨
mvn_build β build a Maven project with XMvn
πΈ SYNOPSIS πΈ
%mvn_build [options] [-- Maven-arguments]
π¦ DESCRIPTION π¦
so the mvn_build macro does the thing: it builds your Maven project by calling XMvn, and then it generates the reactor structure information that mvn_install is gonna need later. they're a duo, fr fr. π
by default, Maven phase verify and goal javadoc:aggregate get executed, plus some extra XMvn-specific goals and phases on top. but if you pass -f? then phase package runs instead of verify. and if you pass -j? then goal javadoc:aggregate gets skipped entirely. choices, choices β¨
anything you put after -- gets passed directly to XMvn. if you wanna know what XMvn options are even available, go read xmvn(1). iykyk π
π OPTIONS π
-d,--xmvn-debugβ turn on XMvn debugging output. XMvn will write verbose debugging info to standard output. at minimum you'll get details about artifact resolution from system repositories. it's giving "let me see what's going on in here" π-f,--forceβ skip compilation AND execution of unit and integration tests, and also skip resolution of build dependencies with scopetest. this option makes Maven run phasepackageinstead of the default phaseverify, defines the propertymaven.test.skip=true(which disables compilation and execution of tests), and makes XMvn remove any project dependencies with scopetest. no tests, no problem π-i,--skip-installβ skip artifact installation. this disables generation of the reactor structure information, which means any future calls tomvn_installwill not install the artifacts produced in the current Maven reactor. so likeβ¦ nothing gets installed later. noted π-j,--skip-javadocβ skip javadoc generation. this skips running the Maven Javadoc Plugin. super useful for packages that don't wanna produce Java API documentation. no docs, no drama π-s,--singletonβ enable singleton packaging, aka one artifact per package. this makes artifacts with an identicalartifactIdget installed as part of the same subpackage. you can customize this behavior even further by adding more specific packaging rules withmvn_package. one artifact, one home, periodt π-X,--debugβ turn on Maven debugging output. this implies-d. Maven will write verbose debugging information to standard output. maximum yap mode, but make it useful π₯
π ENVIRONMENT π
xmvn_bootstrapβ run XMvn in online mode. if thexmvn_bootstrapRPM macro is defined to any value, then XMvn runs in online mode. otherwise, XMvn runs in offline mode. online mode lets XMvn fetch missing dependency artifacts from remote repositories. this is mostly useful when you're bootstrapping new packages whose dependencies haven't been packaged yet. (yes, the original says "dependecies" β we're keeping the typo, that's canon now π)_without_testsβ defining this macro to any value is equivalent to the-foption._without_javadocβ defining this macro to any value is equivalent to the-joption.
π AUTHOR π
originally written by Mikolaj Izdebski. versions 3.0.0 and later were written by Stanislav Ochotnicky. legends, both of them β¨
π REPORTING BUGS π
found a bug? don't suffer in silence, bestie. bugs should be reported through the Java Packages Tools issue tracker at Github:
https://github.com/fedora-java/javapackages/issues
π§ SEE ALSO π§
mvn_alias(7), mvn_compat_version(7), mvn_config(7), mvn_file(7), mvn_package(7), xmvn(1).
and that's the whole page, bestie π«Ά this was JAVAPACKAGES, dated 2025-09-19, and yes the manual name really is MVN_BUILD(7) β go build something iconic with it πβ¨πΈ
π¦ where this page comes from
- fedora 43: javapackages-common 6.4.1-4.fc43 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms