Helpers for Kode Konveyor coding style:
- pmd rules
- annotations java package
- runtime java package
- default hooks for each phases
- TODO: Eclipse settings
How to use?
Define the parent in your pom.xml:
<parent>
<groupId>io.github.magwas</groupId>
<artifactId>konveyor.parent</artifactId>
<version>${version.konveyor}</version>
</parent>
Declare version.konveyor in properties. You probably want to overwrite konveyor.uploadRsyncURI as well.
<properties>
<version.konveyor>0.4.39</pmdrules-version>
<konveyor.uploadRsyncURI>
your.server:/path/to/repository/${project.artifactId}/${project.version}</konveyor.uploadRsyncURI>
</properties>
If you want to deploy to central.sonatype.com, set the name, description, url, scm developers, and licences tags in your main project:
<name>${project.artifactId}-${project.version}</name>
<description>
The description of your project
</description>
<url>https://repo.kdea.hu/${project.artifactId}/${project.version}</url>
<scm>
<url>the public git url of your project</url>
</scm>
<developers>
<developer>
<name>Your Name</name>
<email>[email protected]</email>
</developer>
</developers>
<licenses>
<license><!-- the licence you choose -->
<name>GPL affero</name>
<url>https://www.gnu.org/licenses/agpl-3.0.en.html</url>
<comments>GNU Affero General Public License</comments>
</license>
</licenses>
Put each plugin you want to use into build/plugins. Remember, only plugins declared there will actually run.
This is a full build with no tweaking at all:
<build>
<plugins>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
FIXME: unpack Eclipse project settings.
FIXME: site.xml
You can tweak your project build either by tweaking pom.xml, or adding a shell script for any phase as
hooks/<phase name>.
FIXME: put pom.xml to the site, and refer to some actual project's pom.
What is delivered?
pmd rules
The pmd rules are checking the code stype, which is documented at FIXME I need to write an extractor for that.
