You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by mfenes <gi...@git.apache.org> on 2018/01/08 09:54:47 UTC

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

GitHub user mfenes opened a pull request:

    https://github.com/apache/zookeeper/pull/443

    ZOOKEEPER-2955: Enable Clover code coverage report

    ZOOKEEPER-2955: Enable Clover code coverage report
    
    This PR configures OpenClover to generate Java code coverage reports.
    
    To enable OpenClover run the following ant targets with -Drun.clover=true:
    ant -Drun.clover=true jar
    ant -Drun.clover=true test
    and then to generate the code coverage reports run:
    ant -Drun.clover=true generate-clover-reports
    
    The reports will be generated under the build/test/clover/reports directory in HTML and XML formats.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mfenes/zookeeper ZOOKEEPER-2955

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/zookeeper/pull/443.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #443
    
----
commit f59dcf8ade02ffbe693b56b480d60aff821900de
Author: Mark Fenes <mf...@...>
Date:   2018-01-05T13:21:19Z

    ZOOKEEPER-2955: Enable Clover code coverage report

----


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    OK. Can you address the other f/b then? (ivy.xml). @afine any thoughts on this wrt the classpath issues we've been facing. I assume the ivy.xml change would be sufficient? Please help verify.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @phunt I've fixed "ant compile-test". Now clover dependencies are pulled into build only when run.clover=true. Thanks for noticing this.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    This config (from most recent commit) is inconsistent with all the other tools, why?
    
         <property name="ivy.javacc.lib" value="${build.dir}/javacc/lib"/>
         <property name="ivy.releaseaudit.lib" value="${build.dir}/releaseaudit/lib"/>
         <property name="ivy.owasp.lib" value="${build.dir}/owasp/lib"/>
    +    <property name="ivy.coverage.lib" value="${test.java.build.dir}/lib"/>



---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by anmolnar <gi...@git.apache.org>.
Github user anmolnar commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @phunt This one is OpenClover which the open source version of Clover. Afaik it's under Apache 2.0 license, but @mfenes please correct me if I'm wrong.


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163712079
  
    --- Diff: build.xml ---
    @@ -1406,50 +1410,53 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     
         <target name="test-core" depends="test-core-java, test-core-cppunit"/>
     
    +    <target name="test-coverage-java">
    --- End diff --
    
    "I think declaring a "test-coverage-java" target to run Clover does not mean "coverage" == clover. The fact that it currently calls "test-core-java" and "generate-clover-reports" does not mean that we would not allow anybody to add/use other code coverage tools here."
    
    Notice how we have cobertura down below in the build.xml file. This is what I mean. "test-coverage-java" just calls clover. If we had created a "test-coverage-java" in the past that called cobertura it seems like that's a statement. It's not a big deal, but hopefully you see what I mean.
    
    Renaming to be more clover specific seems reasonable to me.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    I did an "ant compile-test" and ended up with clover dependencies being pulled into build - clover dependencies should only be pulled when clover tasks are run.


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163675784
  
    --- Diff: build.xml ---
    @@ -124,6 +160,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
         <property name="ivy.javacc.lib" value="${build.dir}/javacc/lib"/>
         <property name="ivy.releaseaudit.lib" value="${build.dir}/releaseaudit/lib"/>
         <property name="ivy.owasp.lib" value="${build.dir}/owasp/lib"/>
    +    <property name="ivy.coverage.lib" value="${test.java.build.dir}/lib"/>
    --- End diff --
    
    Ok. So would changing the location of Clover to ${build.dir}/clover/lib solve this problem?
    
    * Are you ok with the following directory structure:
    build/clover/db for Clover database,
    build/clover/jar for Clover jar,
    build/clover/reports for Clover reports, and
    clover.home=${build.dir}/clover
    
    * Should I change property name "ivy.coverage.lib" to "ivy.clover.lib"?


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by anmolnar <gi...@git.apache.org>.
Github user anmolnar commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @afine do you still need explanation for the above error to commit this?


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by afine <gi...@git.apache.org>.
Github user afine commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163372311
  
    --- Diff: build.xml ---
    @@ -23,6 +23,48 @@ xmlns:artifact="antlib:org.apache.maven.artifact.ant"
     xmlns:maven="antlib:org.apache.maven.artifact.ant"
     xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     
    +    <!-- ====================================================== -->
    --- End diff --
    
    why was this stuff moved?


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163678316
  
    --- Diff: build.xml ---
    @@ -1406,50 +1410,53 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     
         <target name="test-core" depends="test-core-java, test-core-cppunit"/>
     
    +    <target name="test-coverage-java">
    --- End diff --
    
    @phunt Actually, if you prefer, I could rename both the ivy configuration and the ant target for clover to "test-coverage-clover-java" as this does not exclude the possibility of including it into a test-coverage-java target later.


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163670562
  
    --- Diff: build.xml ---
    @@ -1406,50 +1410,53 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     
         <target name="test-core" depends="test-core-java, test-core-cppunit"/>
     
    +    <target name="test-coverage-java">
    --- End diff --
    
    Because the "clover" target does not generate the HTML and XML reports. 
    It's used to initialise and setup Clover and it's called as a dependency of "compile" to instrument source code.
    
    I think declaring a "test-coverage-java" target to run Clover does not mean "coverage" == clover. The fact that it currently calls "test-core-java" and "generate-clover-reports" does not mean that we would not allow anybody to add/use other code coverage tools here.
    
    The reason behind the naming was that I'm also planning to add C code coverage tests, and following the already existing ant target names "test-core-java" and "test-core-cppunit" as naming patterns, there could be targets "test-coverage-java" and "test-coverage-cppunit" to generate coverage reports for Java and C, respectively. 
    
    Their parent target could be "test-coverage", which would run "test-coverage-java" and "test-coverage-cppunit" to prepare a complete coverage report for both Java and C.
    
    Then running a full coverage report for ZK would be as simple as running "test-coverage".
    Please let me know what you think.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    +1, lgtm. I've committed this to master. Thanks @mfenes !


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by afine <gi...@git.apache.org>.
Github user afine commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163377320
  
    --- Diff: build.xml ---
    @@ -124,6 +160,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
         <property name="ivy.javacc.lib" value="${build.dir}/javacc/lib"/>
         <property name="ivy.releaseaudit.lib" value="${build.dir}/releaseaudit/lib"/>
         <property name="ivy.owasp.lib" value="${build.dir}/owasp/lib"/>
    +    <property name="ivy.coverage.lib" value="${test.java.build.dir}/lib"/>
    --- End diff --
    
    My concern here is around classpath issues. Ideally I would like to make sure that clover and its dependencies (my understanding is that there are none currently but this could change) are only included when we are instrumenting coverage. The given setup may see us including clover in the test classpath even when not intended. For example, a developer wants to run the tests with clover and then immediately after without. If my understanding is correct, it there is no `clean` before those two executions clover will be included in the classpath of the second. 



---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163198966
  
    --- Diff: build.xml ---
    @@ -124,6 +160,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
         <property name="ivy.javacc.lib" value="${build.dir}/javacc/lib"/>
         <property name="ivy.releaseaudit.lib" value="${build.dir}/releaseaudit/lib"/>
         <property name="ivy.owasp.lib" value="${build.dir}/owasp/lib"/>
    +    <property name="ivy.coverage.lib" value="${test.java.build.dir}/lib"/>
    --- End diff --
    
    I did see the naming inconsistency, but on the other hand code coverage measurement belongs to testing, and everything related to testing is placed under build/test. Not all the tools have their own subdirectory under the build directory (like javacc, releaseaudit, owasp), e.g. JUnit does not have. If JUnit does not have its own subdirectory under build/, then why should OpenClover have. If the reason to put OpenClover under an own build/coverage directory instead of putting it into build/test/lib is packaging, i.e. not delivering the clover jar in releases, then basically the answer is that a ZK compiled with Clover should not be released. I also verified that ant tar does not include build/test/lib jars. If ant targets tar, jar, compile, test-core-java etc. are run without the -Drun.clover=true parameter, then the clover jar is not even retrieved by ivy, so it won't be included, everything will run as before. Another reason is, that originally in current code everything related
  to Clover (db, reports) is configured to be under build/test/clover. If Clover db and reports are under build/test/clover, then why should the clover jar be put in build/coverage/lib and not in build/test/lib? All-in-all, these were the reasons behind my decision to put Clover under build/test/lib instead of build/coverage/lib. However, I agree that this is a naming inconsistency and I can see the reason that everything which has its own ivy configuration should have its own directory under build, so I can change the location of Clover if you prefer having Clover under build/coverage/lib.


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/zookeeper/pull/443


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r162224317
  
    --- Diff: ivy.xml ---
    @@ -133,6 +133,8 @@
         <dependency org="org.codehaus.jackson" name="jackson-mapper-asl"
                     rev="${jackson-mapper-asl.version}" conf="optional->default"/>
     
    +    <dependency org="org.openclover" name="clover" rev="${clover.version}"/>
    --- End diff --
    
    doesn't this need to be in it's own conf, similar to owasp, releaseaudit, etc.. ?


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163363116
  
    --- Diff: build.xml ---
    @@ -1406,50 +1410,53 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     
         <target name="test-core" depends="test-core-java, test-core-cppunit"/>
     
    +    <target name="test-coverage-java">
    --- End diff --
    
    Why do we need this given we have a "clover" target?
    
    I'm also hesitant to explicitly code that "coverage" == clover. In the past we've allowed coverage other than clover to be used.
    
    perhaps "test-coverage-clover-java" instead?


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by afine <gi...@git.apache.org>.
Github user afine commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163373344
  
    --- Diff: build.xml ---
    @@ -1406,50 +1410,53 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     
         <target name="test-core" depends="test-core-java, test-core-cppunit"/>
     
    +    <target name="test-coverage-java">
    +        <antcall target="test-core-java">
    +            <param name="run.clover" value="true"/>
    +        </antcall>
    +        <antcall target="generate-clover-reports"/>
    +    </target>
    +
         <!-- ====================================================== -->
         <!-- Run optional third-party tool targets                  -->
         <!-- ====================================================== -->
     
         <!-- clover code coverage -->
    -    <target name="clover" depends="clover.setup, clover.info" 
    -            description="Instrument the Unit tests using Clover.  Requires a Clover license and CLOVER_HOME environment variable set appropriately.  To use, specify -Drun.clover=true on the command line."/>
    +    <target name="clover" if="run.clover" depends="ivy-retrieve-test-coverage-java, clover.check, clover.setup"
    +            description="Instrument the Unit tests using Clover. To use, specify -Drun.clover=true on the command line."/>
    --- End diff --
    
    we should update this description to show that we have an ant task that can be used instead of specifying a system property


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163684223
  
    --- Diff: build.xml ---
    @@ -23,6 +23,48 @@ xmlns:artifact="antlib:org.apache.maven.artifact.ant"
     xmlns:maven="antlib:org.apache.maven.artifact.ant"
     xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     
    +    <!-- ====================================================== -->
    --- End diff --
    
    @afine 
    Because I need
    `<property name="clover.version" value="4.2.1" />`
    in
    `<property name="clover.jar" location="${clover.home}/lib/clover-${clover.version}.jar"/>`
    and the dependency versions at their original location were declared later than clover.jar, so clover.version was undefined at this point.
    
    I had 3 choices:
    1. move the clover property set behind the dependency version declarations just before the macro definitions, separating it from the other property set declarations,
    1. move all the dependency version declarations before the clover property set,
    1. or just declare the clover.version separately from the other dependency versions in the clover property set block.
    
    I've chosen option 2 as I thought that was the best out of the three.
    Please let me know if there is a better way to solve this.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @phunt @afine I've made the following changes: moved Clover (db, lib, reports) to ${build.dir}/clover. Included test sources with `<testsources>` in clover-setup. 
    Changed naming to follow other tools and updated/added ant target descriptions.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @phunt According to OpenClover 4.2.0 Release Notes at http://openclover.org/doc/openclover-4.2.0-release-notes.html
    _"No license key required
    OpenClover requires no license key, in some places you may see a "Clover free edition" message. You no longer need any external license key to run it. In case you still pass the license key issued by Atlassian in your builds (e.g. via -Dclover.license.path JVM property), it will be ignored and the built-in one will be used."_
    
    Regarding being able to run OpenClover on Apache Jenkins: I think we can configure a Jenkins job to generate code coverage reports since OpenClover does not need any installation, it's just a clover-4.2.1.jar file in /build/test/lib. However we would need a storage space to store the generated coverage reports as otherwise it would be deleted when the /build directory is cleaned. Also I would mention that OpenClover needs ZK to be compiled using the 
    -Drun.clover=true option in order to use source code instrumentation and ZK compiled with source code instrumentation should not be used for production, only just for testing and generating coverage reports.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @anmolnar Clover home is now set to test.java.build.dir. No need to configure CLOVER_HOME environment variable.


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163218498
  
    --- Diff: build.xml ---
    @@ -132,21 +169,16 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
         <property name="ant_task_repo_url"
             value="${mvnrepo}${tsk.org}${ant-task.version}/maven-ant-tasks-${ant-task.version}.jar"/>
         <property name="ant_task.jar" location="${ivy.lib}/maven-ant-tasks-${ant-task.version}.jar"/>
    -    
    -    <available property="clover.present"
    -               classname="com.cenqua.clover.CloverInstr"
    -               classpath="${clover.home}/lib/clover.jar"/>
     
    -    <available file="${c.src.dir}/Makefile" property="Makefile.present"/>
    -
    -    <!-- check if clover reports should be generated -->
    -    <condition property="clover.enabled">
    -      <and>
    -        <isset property="run.clover"/>
    -        <isset property="clover.present"/>
    -      </and>
    -    </condition>
    +    <!-- clover property set -->
    +    <property name="clover.home" location="${test.java.build.dir}"/>
    --- End diff --
    
    The main reason why I set clover.home to ${test.java.build.dir} is because originally in master, 3.5 and 3.4 Clover db is set to ${test.java.build.dir}/clover/db and Clover reports are set to ${test.java.build.dir}/clover/reports. This indicates that clover.home should be ${test.java.build.dir}. Since Clover was in use before this change, I thought it's better to keep the original settings as other tools (e.g. a Jenkins job) might rely on reports being generated under this location. @anmolnar also recommended to use this setting in his comment. Setting clover.home to ${test.java.build.dir} does not put everything related to Clover directly under build/test, as Clover db goes into build/test/clover/db, Clover reports go under build/test/clover/reports and clover jar is placed in /build/test/lib. Of course, I can change clover.home to point to any other location, e.g. to build/coverage, but one reason against it might be that Clover code coverage is more related to test than to bui
 ld.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by anmolnar <gi...@git.apache.org>.
Github user anmolnar commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @phunt @afine Just tested this patch and it works fine. I think it's ready to be merged.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @phunt I've added ivy.xml configuration for Clover: test-coverage-java and created an ant target with the same name, so generating a coverage report for Java became as simple as running ant test-coverage-java.


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163062338
  
    --- Diff: build.xml ---
    @@ -124,6 +160,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
         <property name="ivy.javacc.lib" value="${build.dir}/javacc/lib"/>
         <property name="ivy.releaseaudit.lib" value="${build.dir}/releaseaudit/lib"/>
         <property name="ivy.owasp.lib" value="${build.dir}/owasp/lib"/>
    +    <property name="ivy.coverage.lib" value="${test.java.build.dir}/lib"/>
    --- End diff --
    
    This directory is inconsistent with all the other tools - why?


---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by afine <gi...@git.apache.org>.
Github user afine commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r168883423
  
    --- Diff: build.xml ---
    @@ -1861,4 +1876,18 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
            <delete dir="${build.dir.eclipse}" />
          </target>
     
    +    <target name="print_compile_classpath">
    --- End diff --
    
    As we discussed offline please move these useful targets to a new JIRA.


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by mfenes <gi...@git.apache.org>.
Github user mfenes commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    @anmolnar Yes, OpenClover's Intellectual property protection page http://openclover.org/doc/manual/4.2.0/developer-guide--intellectual-property-protection.html says that
    - Clover Core is licensed under Apache 2.0 License
    - Most of Clover plugins are licensed under Apache 2.0 License
    - Bamboo Clover Plugin is proprietary software, see Bamboo Clover Plugin Developer Guide
    - Clover documentation on confluence.atlassian.com is under Creative Commons License, see Contributing to the Clover Documentation



---

[GitHub] zookeeper pull request #443: ZOOKEEPER-2955: Enable Clover code coverage rep...

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/443#discussion_r163062466
  
    --- Diff: build.xml ---
    @@ -132,21 +169,16 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
         <property name="ant_task_repo_url"
             value="${mvnrepo}${tsk.org}${ant-task.version}/maven-ant-tasks-${ant-task.version}.jar"/>
         <property name="ant_task.jar" location="${ivy.lib}/maven-ant-tasks-${ant-task.version}.jar"/>
    -    
    -    <available property="clover.present"
    -               classname="com.cenqua.clover.CloverInstr"
    -               classpath="${clover.home}/lib/clover.jar"/>
     
    -    <available file="${c.src.dir}/Makefile" property="Makefile.present"/>
    -
    -    <!-- check if clover reports should be generated -->
    -    <condition property="clover.enabled">
    -      <and>
    -        <isset property="run.clover"/>
    -        <isset property="clover.present"/>
    -      </and>
    -    </condition>
    +    <!-- clover property set -->
    +    <property name="clover.home" location="${test.java.build.dir}"/>
    --- End diff --
    
    Similar as comment above - can't we contain this all in it's own subdir?


---

[GitHub] zookeeper issue #443: ZOOKEEPER-2955: Enable Clover code coverage report

Posted by phunt <gi...@git.apache.org>.
Github user phunt commented on the issue:

    https://github.com/apache/zookeeper/pull/443
  
    It's been a while since I used clover - I didn't notice on the JIRA. Do we need a license at this point to run clover? Is this setup consistent with being able to run clover on apache jenkins or is the intent to only run on a local host?


---