highwheel-ant

Highwheel Ant task.

License

License

Categories

Categories

Ant Build Tools
GroupId

GroupId

org.pitest
ArtifactId

ArtifactId

highwheel-ant
Last Version

Last Version

1.7
Release Date

Release Date

Type

Type

jar
Description

Description

highwheel-ant
Highwheel Ant task.
Project URL

Project URL

http://pitest.org

Download highwheel-ant

How to add to project

<!-- https://jarcasting.com/artifacts/org.pitest/highwheel-ant/ -->
<dependency>
    <groupId>org.pitest</groupId>
    <artifactId>highwheel-ant</artifactId>
    <version>1.7</version>
</dependency>
// https://jarcasting.com/artifacts/org.pitest/highwheel-ant/
implementation 'org.pitest:highwheel-ant:1.7'
// https://jarcasting.com/artifacts/org.pitest/highwheel-ant/
implementation ("org.pitest:highwheel-ant:1.7")
'org.pitest:highwheel-ant:jar:1.7'
<dependency org="org.pitest" name="highwheel-ant" rev="1.7">
  <artifact name="highwheel-ant" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.pitest', module='highwheel-ant', version='1.7')
)
libraryDependencies += "org.pitest" % "highwheel-ant" % "1.7"
[org.pitest/highwheel-ant "1.7"]

Dependencies

provided (1)

Group / Artifact Type Version
org.apache.ant : ant jar 1.8.3

test (6)

Group / Artifact Type Version
xmlunit : xmlunit jar 1.3
org.apache.ant : ant-testutil jar 1.8.3
org.apache.maven : maven-ant-tasks jar 2.1.3
junit : junit jar 4.12
org.mockito : mockito-all jar 1.9.0
org.easytesting : fest-assert-core jar 2.0M7

Project Modules

There are no modules declared in this project.

Build Status

Highwheel

Highwheel is a tool to detect and visualise class and package cycles in Java code.

It differs from other tools such as

In that it generates visualisations of the detected cycles and provides much more data about the detected dependencies.

To make it easier to make headway when working with legacy code, Highwheel also breaks down large cycles into their smaller elemental sub-cycles for easier comprehension.

Cycles are detected using tarjen's algorithm.

As fixing package cycles often involves moving classes between packages highwheel also reports unit tests that look to have been left the wrong package when their testee is moved ( for maven only in latest snapshot ).

Documentation

TODO

But briefly

Maven

Analyse a single project, or a each module within a multi-module project individually.

mvn org.pitest:highwheel-maven:analyse 

Analyse a multi-module project as a single component

mvn -DparentOnly=true org.pitest:highwheel-maven:analyse 

By default assumes that your package names match your group id. If not can supply a filter using Glob syntax.

mvn -DclassFilter=com.bigcompany.* org.pitest:highwheel-maven:analyse 

All options can of course be configured in your pom.xml.

Seperate goal dumps decompiled bytecode to disk

mvn org.pitest:highwheel-bytecode:asmDump

Ant

Create a task and pass in an analysisPath and filter

<taskdef name="highwheel" classname="org.pitest.highwheel.ant.AnalyseTask" classpathref="<path to jar>"/>

<target name="highwheel" depends="compile">
  <highwheel analysisPathRef="code.path" filter="com.example.*"/>
</target>

Versions

Version
1.7
1.6
1.5
1.4
1.3
1.2
1.0