mule-lint-maven-plugin

A Maven Plugin for the Mule lint project.

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

org.nuisto
ArtifactId

ArtifactId

mule-lint-maven-plugin
Last Version

Last Version

0.6.0-alpha-1
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

mule-lint-maven-plugin
A Maven Plugin for the Mule lint project.
Project URL

Project URL

https://github.com/mule-lint/mule-lint-maven-plugin
Source Code Management

Source Code Management

https://github.com/mule-lint/mule-lint-maven-plugin

Download mule-lint-maven-plugin

How to add to project

<plugin>
    <groupId>org.nuisto</groupId>
    <artifactId>mule-lint-maven-plugin</artifactId>
    <version>0.6.0-alpha-1</version>
</plugin>

Dependencies

compile (2)

Group / Artifact Type Version
org.apache.maven : maven-plugin-api jar 3.6.3
org.nuisto : mule-lint jar 0.6.0-alpha-1

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.6.0

Project Modules

There are no modules declared in this project.

Mule Lint Maven Plugin

The purpose of this project, is to be a wrapper for the mule-lint project, and easier to include within a maven build. See the mule-lint project for more details.

The mule-lint project as well as this one does not perform any assertions, that is left up to the consumer of the resulting output file. The reasoning behind this was really just two thoughts; 1) In order to "release early/release often" this was left out to solve with other tools/scripts, 2) Put the responsibility of asserting/checking to something else and not the responsibility of this or the mule-lint project.

Keeping the assertions out of these two is not fulling set it stone, but probably won't be a feature fullfilled for some time. Having assertions around how often it occurs in either a project as a whole or how many times within a file, does seem valuable to me (i.e. It's okay for a logger not to have a category declared, but if we have 20 loggers in the project without a logger, then that might be an issue).

This plugin is only necessary if you want to invoke the mule-lint project through maven (of course), if you want to invoke the mule-lint project by other means, then this is not needed and you can use mule-lint directly, see the mule-lint project for more details.

Getting Started

This project does not perform any logic, it purely passes information on to the mule-lint application. The parameters are:

  • rules - Required. The mule-lint DSL rules
  • sources - Optional. Directory (default src/app) of where the source files are located.
  • output - Required. A file location where json formatted results are written.
  • dictionary - Required. File containing a word per line, for casing validation.
<build>
  <plugins>
    <plugin>
      <groupId>org.nuisto</groupId>
      <artifactId>mule-lint-maven-plugin</artifactId>
      <version>0.5.1</version>
      <configuration>
        <rules>rules.txt</rules>
        <sources>src/main/app</sources>
        <output>mule-lint-results.json</output>
        <dictionary>words.txt</dictionary>
      </configuration>
    </plugin>
  </plugins>
</build>

With the above configuration in your pom, you can run the plugin with:

mvn org.nuisto:mule-lint-maven-plugin:analyze-mule

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

Analytics

Versions

Version
0.6.0-alpha-1
0.5.3
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0