[
https://issues.apache.org/jira/browse/LUCENE-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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
reasons.
All tests pass.
> The Maven build can't directly handle complex inter-module dependencies
> involving the test-framework modules
> ------------------------------------------------------------------------------------------------------------
>
> Key: LUCENE-4365
> URL: https://issues.apache.org/jira/browse/LUCENE-4365
> 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 module.)
> 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: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]