[ https://issues.apache.org/jira/browse/SOLR-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steven Rowe updated SOLR-2659: ------------------------------ Description: SOLR-2452 split the solrj & common tests and test-files out from under {{solr/src/test\{,-files\}}} and placed them under {{solr/solrj/}}. Because IntelliJ's dependency scheme can't directly support the dependencies among the {{core/}}, {{solrj/}}, and {{test-framework/}} internal modules, IntelliJ runs {{core/}} and {{solrj/}} tests under the monolithic IntelliJ "solr" module, As a result, when IntelliJ copies {{core/src/test-files/\*\*}} and {{solrj/src/test-files/\*\*}} to {{solr/build/solr-idea/classes/test/}} (the test output directory), only one file from each same-named file pair can reside in the target directory, e.g. {{solr/conf/schema.xml}}. When same-named files differ between the two {{test-files/}} directories, tests will fail. E.g.: LUCENE-2048 introduced a {{nopositions}} fieldType and a {{nopositionstext}} field into {{core/src/test-files/solr/conf/schema.xml}}, but not into the same-named file under {{solrj/src/test-files/}}, so when IntelliJ chooses the solrj version when copying resources, the core test that depends on the {{nopositionstext}} field ({{TestOmitPositions}}) will fail. I propose adding an extra directory level under {{solrj/src/test-files/}}: {{solrj/src/test-files/solrj/}}. That way, files from {{core/src/test-files/}} can have the same names, but still co-exist when copied to the test output directory by IntelliJ. To maintain consistency, as well as avoid future naming conflicts, all other solr modules except core should switch to the same layout: {{src/test-files/<module-name>/\*}}. Currently all contribs' solr homes are named {{src/test-files/solr-<module-name>/}} - these directories should be renamed to {{src/test-files/<module-name>/solr}}. was: SOLR-2452 split the solrj & common tests and test-files out from under {{solr/src/test\{,-files\}}} and placed them under {{solr/solrj/}}. Because IntelliJ's dependency scheme can't directly support the dependencies among the {{core/}}, {{solrj/}}, and {{test-framework/}} internal modules, IntelliJ runs {{core/}} and {{solrj/}} tests under the monolithic IntelliJ "solr" module, As a result, when IntelliJ copies {{core/src/test-files/\*\*}} and {{solrj/src/test-files/\*\*}} to {{solr/build/solr-idea/classes/test/}} (the test output directory), only one file from each same-named file pair can reside in the target directory, e.g. {{solr/conf/schema.xml}}. When same-named files differ between the two {{test-files/}} directories, tests will fail. E.g.: LUCENE-2048 introduced a {{nopositions}} fieldType and a {{nopositionstext}} field into {{core/src/test-files/solr/conf/schema.xml}}, but not into the same-named file under {{solrj/src/test-files/}}, so when IntelliJ chooses the solrj version when copying resources, the core test that depends on the {{nopositionstext}} field ({{TestOmitPositions}}) will fail. I propose adding an extra directory level under {{solrj/src/test-files/}}: {{solrj/src/test-files/solrj/}}. That way, files from {{core/src/test-files/}} can have the same names, but still co-exist when copied to the test output directory by IntelliJ. Summary: src/test-files/** should be moved under src/test-files/<module-name>/** for all Solr modules except core (was: IntelliJ resource copying of solrj/src/test-files/** and core/src/test-files/** to build output directory has to choose between/overwrite same-named files) > src/test-files/** should be moved under src/test-files/<module-name>/** for > all Solr modules except core > -------------------------------------------------------------------------------------------------------- > > Key: SOLR-2659 > URL: https://issues.apache.org/jira/browse/SOLR-2659 > Project: Solr > Issue Type: Improvement > Components: Build > Affects Versions: 3.4, 4.0 > Reporter: Steven Rowe > Assignee: Steven Rowe > Priority: Minor > Attachments: SOLR-2659.patch > > > SOLR-2452 split the solrj & common tests and test-files out from under > {{solr/src/test\{,-files\}}} and placed them under {{solr/solrj/}}. > Because IntelliJ's dependency scheme can't directly support the dependencies > among the {{core/}}, {{solrj/}}, and {{test-framework/}} internal modules, > IntelliJ runs {{core/}} and {{solrj/}} tests under the monolithic IntelliJ > "solr" module, > As a result, when IntelliJ copies {{core/src/test-files/\*\*}} and > {{solrj/src/test-files/\*\*}} to {{solr/build/solr-idea/classes/test/}} (the > test output directory), only one file from each same-named file pair can > reside in the target directory, e.g. {{solr/conf/schema.xml}}. When > same-named files differ between the two {{test-files/}} directories, tests > will fail. E.g.: LUCENE-2048 introduced a {{nopositions}} fieldType and a > {{nopositionstext}} field into {{core/src/test-files/solr/conf/schema.xml}}, > but not into the same-named file under {{solrj/src/test-files/}}, so when > IntelliJ chooses the solrj version when copying resources, the core test that > depends on the {{nopositionstext}} field ({{TestOmitPositions}}) will fail. > I propose adding an extra directory level under {{solrj/src/test-files/}}: > {{solrj/src/test-files/solrj/}}. That way, files from > {{core/src/test-files/}} can have the same names, but still co-exist when > copied to the test output directory by IntelliJ. > To maintain consistency, as well as avoid future naming conflicts, all other > solr modules except core should switch to the same layout: > {{src/test-files/<module-name>/\*}}. Currently all contribs' solr homes are > named {{src/test-files/solr-<module-name>/}} - these directories should be > renamed to {{src/test-files/<module-name>/solr}}. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org