[ 
https://issues.apache.org/jira/browse/NUTCH-1818?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julien Nioche updated NUTCH-1818:
---------------------------------

    Description: 
>From email thread : 

[After ant clean] the target "compile-test" of lib-regex-filter which fails.
Should it be really called for target "runtime"?
  <target name="deps-jar">
    <ant target="jar" inheritall="false" dir="../lib-regex-filter"/>
    <ant target="compile-test" inheritall="false" dir="../lib-regex-filter"/>
  </target>

This is the source of the problem indeed, the second line should not be there : 
the test classes are not required at that stage. Both urlfilter-automaton and 
urlfilter-regex have the same problem, which was not apparent until I 
introduced a cleaner separation between the compilation and test deps.

I've fixed that for trunk in revision 1611303.

------------------------------------------------

This revealed another hidden issue which is that the test classes for the 
dependency plugins (e.g. lib-regex-filter) are not compiled anymore in the 
deps-jar step and we can't refer to them in the classpath.

There actually is a task deps-test which gets overriden by the plugins but this 
is not used by compile-test and despite its name has nothing to do with the 
tests but with the deployment of the dependency plugins. 

The best approach is to add a new overridable tasks for the plugins 
'deps-test-compile' and trigger the compilation of the test classes for the dep 
plugins from there. 



  was:
>From email thread : 

[After ant clean] the target "compile-test" of lib-regex-filter which fails.
Should it be really called for target "runtime"?
  <target name="deps-jar">
    <ant target="jar" inheritall="false" dir="../lib-regex-filter"/>
    <ant target="compile-test" inheritall="false" dir="../lib-regex-filter"/>
  </target>

This is the source of the problem indeed, the second line should not be there : 
the test classes are not required at that stage. Both urlfilter-automaton and 
urlfilter-regex have the same problem, which was not apparent until I 
introduced a cleaner separation between the compilation and test deps.

I've fixed that for trunk in revision 1611303.

------------------------------------------------

This revealed another hidden issue which is that the test classes for the 
dependency plugins (e.g. lib-regex-filter) are not compiled anymore in the 
deps-jar step and we can't refer to them in the classpath.

There actually is a task deps-test which gets overriden by the plugins but this 
is not used by compile-test and despite its name has nothing to do with the 
tests but with the deployment of the dependency plugins. 

The simplest solution is to add : 

    <ant target="compile-test" inheritall="false" dir="../lib-regex-filter"/>

to the   <target name="deps-test"> 

and make so that compile-test in plugins depends on deploy. This way  deps-test 
will be called prior to compiling the test. 





> deps-test task for plugins used at deployment time
> --------------------------------------------------
>
>                 Key: NUTCH-1818
>                 URL: https://issues.apache.org/jira/browse/NUTCH-1818
>             Project: Nutch
>          Issue Type: Bug
>          Components: build
>            Reporter: Julien Nioche
>            Assignee: Julien Nioche
>             Fix For: 1.9
>
>
> From email thread : 
> [After ant clean] the target "compile-test" of lib-regex-filter which fails.
> Should it be really called for target "runtime"?
>   <target name="deps-jar">
>     <ant target="jar" inheritall="false" dir="../lib-regex-filter"/>
>     <ant target="compile-test" inheritall="false" dir="../lib-regex-filter"/>
>   </target>
> This is the source of the problem indeed, the second line should not be there 
> : the test classes are not required at that stage. Both urlfilter-automaton 
> and urlfilter-regex have the same problem, which was not apparent until I 
> introduced a cleaner separation between the compilation and test deps.
> I've fixed that for trunk in revision 1611303.
> ------------------------------------------------
> This revealed another hidden issue which is that the test classes for the 
> dependency plugins (e.g. lib-regex-filter) are not compiled anymore in the 
> deps-jar step and we can't refer to them in the classpath.
> There actually is a task deps-test which gets overriden by the plugins but 
> this is not used by compile-test and despite its name has nothing to do with 
> the tests but with the deployment of the dependency plugins. 
> The best approach is to add a new overridable tasks for the plugins 
> 'deps-test-compile' and trigger the compilation of the test classes for the 
> dep plugins from there. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to