I have a situation as follows: - Multi-module project (~30 modules)
- Certain test dependencies (e.g. groovy-all) needed by nearly all
sub-modules are declared directly with test scope in the parent POM
(not just dependencyManagement, but also dependency). I know this is
considered to be bad practice but it saves a lot of redundant
dependency duplication.
- One new sub-module now actually also needs groovy-all, but with a
compile scope. So my wish (although seemingly unsupported by Maven)
is to override the default scope for this sub-module so as for the
dependency to be actually available during runtime.
How can I do this or work around the need to duplicate my test
dependencies in 30 modules just so as to be able to define the scope for
the new module? AFAIK a POM can only inherit from one POM. But can I
somehow use an "included POM" in my 30 modules in order to be able to
centrally manage the test dependencies? Sorry if I am explaining this
wrong or using incorrect erms, but I am by no means a Maven pro.
Hopefully I was at least able to make my intent clear. I am looking for
good advice beyond lecturing about how I should really, really declare
everything 30 times in order to do it the Maven way. I am looking for
alternatives, am willing to learn and hoping to get constructive answers.
Thanks you all in advance
--
Alexander Kriegisch
smime.p7s
Description: S/MIME Cryptographic Signature
