Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bernardo-mg/jqassistant-maven-analyzer

Maven project set up for analyzing Java projects with JQAssistant
https://github.com/bernardo-mg/jqassistant-maven-analyzer

analysis jqassistant maven scanning

Last synced: about 2 months ago
JSON representation

Maven project set up for analyzing Java projects with JQAssistant

Awesome Lists containing this project

README

        

# JQAssistant Maven Analyzer

Maven project for analyzing with [JQAssistant](https://jqassistant.org/).

Can be used by itself, as a gateway for JQAssistant. Or may be used as a basis to add JQAssistant on a Maven project.

[![Release docs](https://img.shields.io/badge/docs-release-blue.svg)][site-release]
[![Development docs](https://img.shields.io/badge/docs-develop-blue.svg)][site-develop]

## Features

- Maven-based JQAssistant setup
- JQAssistant dashboard
- Java scan
- git scan

## Documentation

Documentation is always generated for the latest release, kept in the 'master' branch:

- The [latest release documentation page][site-release].

Documentation is also generated from the latest snapshot, taken from the 'develop' branch:

- The [the latest snapshot documentation page][site-develop].

### Building the docs

The documentation site is actually a Maven site, and its sources are included in the project. If required it can be generated by using the following Maven command:

```
mvn verify site
```

The verify phase is required, otherwise some of the reports won't be generated.

## Usage

The project makes use of the [JQAssistant plugin][jqassistant-plugin]. To analyze just run the integration verify phase:

```
mvn clean verify -Dscan.path=[path to project]
```

Using the clean goal is recommended. On big projects it is faster than waiting for the database to be repopulated.

Afterwards just start the server:

```
mvn jqassistant:server
```

This will give access to two dashboards, one for Neo4J, another for JQAssistant:

| URL | Dashboard |
| ------------------------------------------- | ------------- |
| http://localhost:7474 | Neo4j |
| http://localhost:7474/jqassistant/dashboard | JQAssistant |

### Cleaning Up the Graph

On complex or multimodule projects some classes may appear duplicated. The merge profile will fix this:

```
mvn clean verify -Pmerge -Dscan.path=[path to project]
```

### Scanned Project

It's important having access to the .class files of the scanned project. And it can be useful adding also reports and test results.

For this reason the following command should be run, on the scanned project, before scanning:

```
mvn verify site
```

### Memory Problems

On big projects the scanning may crash due to memory limits. The problem can be reduced by increasing the memory available to Maven before running:

Use this command for Windows:

```
set MAVEN_OPTS=-Xmx4g -Xss1g
```

Or this for Linux:

```
export MAVEN_OPTS="-Xmx4g -Xss1g"
```

## Collaborate

Any kind of help with the project will be well received, and there are two main ways to give such help:

- Reporting errors and asking for extensions through the issues management
- or forking the repository and extending the project

### Issues management

Issues are managed at the GitHub [project issues tracker][issues], where any Github user may report bugs or ask for new features.

### Getting the code

If you wish to fork or modify the code, visit the [GitHub project page][scm], where the latest versions are always kept. Check the 'master' branch for the latest release, and the 'develop' for the current, and stable, development version.

## License

The project has been released under the [MIT License][license].

[issues]: https://github.com/bernardo-mg/jqassistant-maven-analyzer/issues
[license]: https://www.opensource.org/licenses/mit-license.php
[scm]: https://github.com/bernardo-mg/jqassistant-maven-analyzer
[site-develop]: https://docs.bernardomg.com/development/maven/jqassistant-maven-analyzer
[site-release]: https://docs.bernardomg.com/maven/jqassistant-maven-analyzer

[jqassistant-plugin]: https://github.com/kontext-e/jqassistant-plugins