lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Rowe (JIRA)" <>
Subject [jira] [Updated] (LUCENE-4365) The Maven build can't directly handle complex inter-module dependencies involving the test-framework modules
Date Thu, 06 Sep 2012 04:04:07 GMT


Steven Rowe updated LUCENE-4365:

    Attachment: LUCENE-4365.patch

Trunk patch splitting out a tests-only module for each of the four modules that have cyclic
dependencies involving Lucene test-framework or Solr test-framework.

The {{solr-core-tests}} module fails {{SolrInfoMBeanTest#testCallMBeanInfo()}} when a run
against the {{solr-core}} jar, apparently because the SolrInfoMBean finding method doesn't
look into jar dependencies.  The attached patch works around this issue by declaring the same
compilation output directory as {{solr-core}}, so that like the Ant build, tests include the
.class files in the classpath.  {{solr-solrj-tests}} is given the same treatment for similar

All tests pass.
> The Maven build can't directly handle complex inter-module dependencies involving the
test-framework modules
> ------------------------------------------------------------------------------------------------------------
>                 Key: LUCENE-4365
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: general/build
>            Reporter: Steven Rowe
>            Assignee: Steven Rowe
>            Priority: Minor
>         Attachments: LUCENE-4365.patch, lucene.solr.dependency.cycles.png.jpg
> The Maven dependency model disallows cyclic dependencies, of which there are now several
in the Ant build (considering test and compile dependencies together, as Maven does).  All
of these cycles involve either the Lucene test-framework or the Solr test-framework.
> The current Maven build works around this problem by incorporating dependencies' sources
into dependent modules' test sources, rather than literally declaring the problematic dependencies
as such. (See SOLR-3780 for a recent example of putting this workaround in place for the Solrj
> But with the factoring out of the Lucene Codecs module, upon which Lucene test-framework
has a compile-time dependency, the complexity of the workarounds required to make it all hang
together is great enough that I want to attempt a (Maven-build-only) module refactoring. 
It should require fewer contortions and be more maintainable.
> The Maven build is currently broken, as of the addition of the Codecs module (LUCENE-4340).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message