highwheel-bytecode

Highwheel bytecode dump Mojo.

License

License

GroupId

GroupId

org.pitest
ArtifactId

ArtifactId

highwheel-bytecode
Last Version

Last Version

1.7
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

highwheel-bytecode
Highwheel bytecode dump Mojo.
Project URL

Project URL

http://pitest.org

Download highwheel-bytecode

How to add to project

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>highwheel-bytecode</artifactId>
    <version>1.7</version>
</plugin>

Dependencies

compile (10)

Group / Artifact Type Version
org.pitest : highwheel-parser jar 1.7
org.pitest : highwheel-maven jar 1.7
org.apache.maven : maven-plugin-api jar 3.5.3
org.apache.maven : maven-project jar 2.2.1
org.apache.maven.surefire : surefire-booter jar 2.22.2
org.apache.maven.surefire : maven-surefire-common jar 2.22.2
org.apache.maven : maven-artifact jar 2.2.1
org.apache.maven : maven-toolchain jar 2.2.1
commons-io : commons-io jar 2.4
org.ow2.asm : asm-util jar 8.0.1

test (5)

Group / Artifact Type Version
org.apache.maven.shared : maven-plugin-testing-harness jar 1.1
org.apache.maven.shared : maven-verifier jar 1.2
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