You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (Commented) (JIRA)" <ji...@apache.org> on 2012/04/06 00:34:33 UTC

[jira] [Commented] (LUCENE-3961) don't build and rebuild jar files for dependencies in tests

    [ https://issues.apache.org/jira/browse/LUCENE-3961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13247778#comment-13247778 ] 

Hoss Man commented on LUCENE-3961:
----------------------------------

I don't have a strong opinion about this, but there are two counter arguments i've heard from over the years made in favor of *always* building the jar(s) even though it's a bit slower for the tests...

1) it mean you always test against hte same jars that you ship -- so there is no risk that the classpath you build for testing is subtly different then the files that make it into the jar (ie: maybe contrib/cheeseburger/build.xml copies a cheese_types.xml file into it's classes dir, but it accidentally gets excluded from contrib-cheeses.jar

2) it means less risk that someone accidentally uses an older jar then they thing...

a) "ant something" ... builds contrib-hamburger.jar and contrib-cheese.jar
b) you realize it doesn't work the way you want, so you apply a patch (with tests!)
c) "ant test" rebuilds contrib/*/classes and you see your new hamburger test passes
d) you copy contrib-hamburger.jar and contrib-cheese.jar not realizing they are still left over from #a above, and don't have your patch.

                
> don't build and rebuild jar files for dependencies in tests
> -----------------------------------------------------------
>
>                 Key: LUCENE-3961
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3961
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: general/build
>            Reporter: Robert Muir
>             Fix For: 4.0
>
>
> Hossman's comments about when jars are built had me thinking,
> its not really great how dependencies are managed currently.
> say i have contrib/hamburger that depends on contrib/cheese
> if I do 'ant test' in contrib/hamburger, you end out with a situation
> where you have no hamburger.jar but you have a cheese.jar.
> The reason for this: i think is how we implement the contrib-uptodate,
> via .jar files. I think instead contrib-uptodate shouldnt use actual
> jar files (cheese.jar) but a simple file we 'touch' like cheese.compiled.
> This will make the build faster, especially I think the solr tests
> which uses these dependencies across a lot of lucene modules. we won't
> constantly jar their stuff.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org