From a278e2e614cf55fea12c903b36ceffb003b27784 Mon Sep 17 00:00:00 2001 From: Stefan Begerad Date: Wed, 5 Jan 2022 06:00:07 -0500 Subject: [PATCH] feat(greeting.plugin): initial commit --- greeting-mojo/.gitignore | 31 +++++++++++ greeting-mojo/README.md | 20 +++++++ greeting-mojo/pom.xml | 53 +++++++++++++++++++ greeting-mojo/settings.xml | 24 +++++++++ .../swingbe/greeting/plugin/GreetingMojo.java | 22 ++++++++ 5 files changed, 150 insertions(+) create mode 100644 greeting-mojo/.gitignore create mode 100644 greeting-mojo/README.md create mode 100644 greeting-mojo/pom.xml create mode 100644 greeting-mojo/settings.xml create mode 100644 greeting-mojo/src/main/java/de/swingbe/greeting/plugin/GreetingMojo.java diff --git a/greeting-mojo/.gitignore b/greeting-mojo/.gitignore new file mode 100644 index 0000000..33653da --- /dev/null +++ b/greeting-mojo/.gitignore @@ -0,0 +1,31 @@ + +# Files +.classpath +.externalToolBuilders +.gradle +.project +.pydevproject +.settings +.sonar +*~ +*.ipr +*.iml +*.iws +*.swp +*.DS_Store +*.snap.debug +dependency-reduced-pom.xml + +# Directories +.idea/ +.run/ +.venv/ +_site/ +build/ +dist/ +docs/_build/ +gen-java/ +gen-javabean/ +gen-py/ +node_modules/ +target/ diff --git a/greeting-mojo/README.md b/greeting-mojo/README.md new file mode 100644 index 0000000..c8159f7 --- /dev/null +++ b/greeting-mojo/README.md @@ -0,0 +1,20 @@ +# Overview +This project shows how to create a Maven plugin. + +# Preparation +Copy settings into user folder like this. + +``` +cp settings.xml ~/.m2/ +``` + +# Execution +Call the following instructions to execute the plugin on the command line. + +``` +mvn clean install +mvn hello:sayhi +``` + +# Links +[Example](https://maven.apache.org/guides/plugin/guide-java-plugin-development.html#Plugin_Naming_Convention_and_Apache_Maven_Trademark) diff --git a/greeting-mojo/pom.xml b/greeting-mojo/pom.xml new file mode 100644 index 0000000..2d7424d --- /dev/null +++ b/greeting-mojo/pom.xml @@ -0,0 +1,53 @@ + + + + 4.0.0 + + de.swingbe.greeting.plugin + hello-maven-plugin + 1.0.0 + maven-plugin + + Sample Parameter-less Maven Plugin + + + + 1.8 + 1.8 + + UTF-8 + + + + + org.apache.maven + maven-plugin-api + 3.0 + provided + + + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.4 + provided + + + + + + + de.swingbe.greeting.plugin + hello-maven-plugin + 1.0.0 + + Welcome + + + + + + diff --git a/greeting-mojo/settings.xml b/greeting-mojo/settings.xml new file mode 100644 index 0000000..4e5dc13 --- /dev/null +++ b/greeting-mojo/settings.xml @@ -0,0 +1,24 @@ + + + + + + + + + + de.swingbe.greeting.plugin + + + + + + + + + + + + + diff --git a/greeting-mojo/src/main/java/de/swingbe/greeting/plugin/GreetingMojo.java b/greeting-mojo/src/main/java/de/swingbe/greeting/plugin/GreetingMojo.java new file mode 100644 index 0000000..46acbde --- /dev/null +++ b/greeting-mojo/src/main/java/de/swingbe/greeting/plugin/GreetingMojo.java @@ -0,0 +1,22 @@ +package de.swingbe.greeting.plugin; + +//provide infrastructure required to implement a MOJO except for the execute method +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugins.annotations.Mojo; + +/** + * Says "Hi" to the user. + * + */ +//required annotation that controls how and when the MOJO is executed +@Mojo( name = "sayhi") +public class GreetingMojo extends AbstractMojo +{ + public void execute() throws MojoExecutionException + { + //defined in AbstractMojo + //returns logger objects that allows plugins to display messages + getLog().info( "Hello, world." ); + } +}