[ 
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

Reply via email to