Refactor Solr modules structure
-------------------------------
Key: SOLR-2537
URL: https://issues.apache.org/jira/browse/SOLR-2537
Project: Solr
Issue Type: Improvement
Reporter: Gabriele Kahlout
Priority: Minor
Fix For: 3.1.1
Solr modules are nested in a non-standard archeotype (e.g. Solr Core module is
in the src dir of Solr parent).
Also, a workaround for avoiding maven dependencies between Solr Core and
Testframework makes it impossible to add a depenency on Solr-3.2-SNAPHOST (Solr
Search Server) since it's packaged as a war, to import EmbeddedSolrServer.java,
for example. It has been discussed on the mailing list[1].
I've, in the mlist, suggested to "create yet one more module for Tests which
depend on Solr Core and on the Test Framework. The org burden of that extra
module, versus the ease of building configuration, I believe, outweights."
However I realize there's a major drawback in that, i.e. that Solr Core will
build without passing the tests in the other module. There're 2 solutions:
1. Make Solr Core a parent module that encompasses a thin Solr Core, the
TestFramework module, and the Tests-only module;
2. 'Downgrade' Testframework from being a fully-fledged module by moving the
packages under Solr Core.
2a. Move them under Solr Core test packages.
2b. move them under Solr Core src
To me 2a is most intuitive. Those that want a dependency on Solr TestFramework
declare it with <classifier>tests</classifier>, which packages only the tests,
and the Solr Core classes those require.[2][3]
The same refactoring applies to lucuene.
[1]
http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201105.mbox/%3c2d127f11dc79714e9b6a43ac9458147fbad42...@suex07-mbx-03.ad.syr.edu%3e
[2] http://maven.apache.org/guides/mini/guide-attached-tests.html
[3] I've successfully used it before.
https://code.google.com/p/memorizeasy/source/browse/MemoPlatform/persistenceui/pom.xml
--
This message is automatically generated by JIRA.
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]