[
https://issues.apache.org/jira/browse/HADOOP-6340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Allen Wittenauer resolved HADOOP-6340.
--------------------------------------
Resolution: Won't Fix
> Change build/test/clean targets to prevent tar target from including clover
> instrumented code
> ---------------------------------------------------------------------------------------------
>
> Key: HADOOP-6340
> URL: https://issues.apache.org/jira/browse/HADOOP-6340
> Project: Hadoop Common
> Issue Type: Improvement
> Components: build
> Affects Versions: 0.20.1
> Reporter: Lee Tucker
> Assignee: Giridharan Kesavan
>
> Currently the clover targets in build.xml cause the code generated in the
> build root to contain clover instrumented code. Should the tar target be
> called, this instrumented code is packaged up and made part of what would be
> delivered to the grid for use. Installing cloverized code on real clusters
> is generally a very bad idea unless it's done with significant upfront
> thought.
> I propose that we alter the targets so that when clover is enabled, the
> compile target does two passes. The first would generate the uninstrumented
> code in the standard build root. The second pass would then generate clover
> instrumented code in a build-clover build root. That way, the tar target
> would only pick up uninstrumented code. I strongly suggest a 2 pass
> compile, and not a different target, because you never want the two sets of
> objects to be out of sync. (For instance, you might want to run the clover
> instrumented unit tests, and then package the uninstrumented code to be
> delivered to the next step in your QA/Release process.)
> The test targets would also need to be altered. I'd propose that the test
> results still be placed in their current location in the build root,
> regardless of whether the tests were run with instrumented or uninstrumented
> code. This means that when clover is enabled, that the test target would
> execute against the objects in build-clover, but report results in build.
> (This would allow currently existing test infrastructure to continue to
> report results without modification.)
> The clean target(s) would also need to be enhanced to clean out both build
> roots.
> The only drawback to this approach I can see is that if you wanted to produce
> instrumented code to be delivered to a real grid, you'd have to create the
> package from build-clover instead of build manually, or we'd have to add a
> "tar-with-clover" target that did it for you.
--
This message was sent by Atlassian JIRA
(v6.2#6252)