git » notification-sender.git » commit fdf19cd

update Maven build

author Thorsten Ortlepp
2024-05-03 22:22:32 UTC
committer Thorsten Ortlepp
2024-05-03 22:22:32 UTC
parent 008a7eb8cbbbc233a19f3b926011797e30bfe4be

update Maven build

pom.xml +163 -11
src/site/markdown/download.md +3 -0
src/site/markdown/index.md +5 -0
src/site/site.xml +30 -0

diff --git a/pom.xml b/pom.xml
index 4d0f7f7..425fe37 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,14 +4,41 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
+  <name>notification-sender</name>
+  <description>AWS Lambda to send notifications via SNS</description>
+  <url>https://dev.ortlepp.ms/project/notification-sender/</url>
+
   <groupId>eu.ortlepp</groupId>
   <artifactId>notification-sender</artifactId>
-  <version>1.0</version>
+  <version>${revision}</version>
 
   <properties>
     <maven.compiler.source>21</maven.compiler.source>
     <maven.compiler.target>21</maven.compiler.target>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+    <revision>1.0</revision>
+    <!-- -Drevision=2.0.0-SNAPSHOT -->
+
+    <!-- versions -->
+    <software-amazon-awssdk.version>2.25.35</software-amazon-awssdk.version>
+    <aws-lambda-java-core.version>1.2.3</aws-lambda-java-core.version>
+    <jackson-databind.version>2.17.0</jackson-databind.version>
+    <junit-jupiter.version>5.10.2</junit-jupiter.version>
+    <maven-site-plugin.version>4.0.0-M13</maven-site-plugin.version>
+    <maven-deploy-plugin.version>3.1.2</maven-deploy-plugin.version>
+    <maven-project-info-reports-plugin.version>3.5.0</maven-project-info-reports-plugin.version>
+    <maven-shade-plugin.version>3.5.2</maven-shade-plugin.version>
+    <maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
+    <maven-surefire-report-plugin.version>3.2.5</maven-surefire-report-plugin.version>
+    <maven-failsafe-plugin.version>3.2.5</maven-failsafe-plugin.version>
+    <maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>
+    <maven-pmd-plugin.version>3.22.0</maven-pmd-plugin.version>
+    <maven-jxr-plugin.version>3.3.2</maven-jxr-plugin.version>
+    <spotbugs-maven-plugin.version>4.8.4.0</spotbugs-maven-plugin.version>
+    <wagon-ftp.version>3.5.3</wagon-ftp.version>
+    <wagon-ssh.version>3.5.3</wagon-ssh.version>
   </properties>
 
   <dependencyManagement>
@@ -19,7 +46,7 @@
       <dependency>
         <groupId>software.amazon.awssdk</groupId>
         <artifactId>bom</artifactId>
-        <version>2.25.35</version>
+        <version>${software-amazon-awssdk.version}</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -30,7 +57,7 @@
     <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-lambda-java-core</artifactId>
-      <version>1.2.3</version>
+      <version>${aws-lambda-java-core.version}</version>
     </dependency>
 
     <dependency>
@@ -41,24 +68,53 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
-      <version>2.17.0</version>
+      <version>${jackson-databind.version}</version>
     </dependency>
 
     <dependency>
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter</artifactId>
-      <version>5.10.2</version>
+      <version>${junit-jupiter.version}</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
 
   <build>
-    <finalName>${project.artifactId}</finalName>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>${maven-site-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>${maven-deploy-plugin.version}</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
+    <extensions>
+      <extension>
+        <groupId>org.apache.maven.wagon</groupId>
+        <artifactId>wagon-ftp</artifactId>
+        <version>${wagon-ftp.version}</version>
+      </extension>
+      <extension>
+        <groupId>org.apache.maven.wagon</groupId>
+        <artifactId>wagon-ssh</artifactId>
+        <version>${wagon-ssh.version}</version>
+      </extension>
+    </extensions>
+
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>3.5.2</version>
+        <version>${maven-shade-plugin.version}</version>
         <configuration>
           <createDependencyReducedPom>false</createDependencyReducedPom>
           <filters>
@@ -88,18 +144,18 @@
 
       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
-        <version>3.2.5</version>
+        <version>${maven-surefire-plugin.version}</version>
       </plugin>
 
       <plugin>
         <artifactId>maven-failsafe-plugin</artifactId>
-        <version>3.2.5</version>
+        <version>${maven-failsafe-plugin.version}</version>
       </plugin>
 
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
-        <version>3.3.1</version>
+        <version>${maven-checkstyle-plugin.version}</version>
         <configuration>
           <configLocation>google_checks.xml</configLocation>
           <consoleOutput>true</consoleOutput>
@@ -108,7 +164,7 @@
         </configuration>
         <executions>
           <execution>
-            <id>validate</id>
+            <id>validate-checkstyle</id>
             <phase>validate</phase>
             <goals>
               <goal>check</goal>
@@ -116,7 +172,103 @@
           </execution>
         </executions>
       </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-deploy-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>${maven-project-info-reports-plugin.version}</version>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+        <version>${maven-surefire-report-plugin.version}</version>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>${maven-checkstyle-plugin.version}</version>
+        <configuration>
+          <configLocation>google_checks.xml</configLocation>
+          <consoleOutput>false</consoleOutput>
+          <failsOnError>false</failsOnError>
+          <linkXRef>true</linkXRef>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <version>${maven-pmd-plugin.version}</version>
+      </plugin>
+
+      <plugin>
+        <groupId>com.github.spotbugs</groupId>
+        <artifactId>spotbugs-maven-plugin</artifactId>
+        <version>${spotbugs-maven-plugin.version}</version>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jxr-plugin</artifactId>
+        <version>${maven-jxr-plugin.version}</version>
+      </plugin>
+    </plugins>
+  </reporting>
+
+  <distributionManagement>
+    <site>
+      <id>publish-web-ftps</id>
+      <name>Public Website</name>
+      <url>ftps://ngcobalt21.manitu.net:21/projects/notification-sender</url>
+    </site>
+    <repository>
+      <id>publish-web-sftp</id>
+      <url>sftp://dev.ortlepp.ms:23/build</url>
+    </repository>
+  </distributionManagement>
+
+  <scm>
+    <connection>scm:git:https://git.ortlepp.ms/notification-sender.git</connection>
+    <url>https://git.ortlepp.ms/web/r/notification-sender.git/</url>
+  </scm>
+
+  <licenses>
+    <license>
+      <name>MIT</name>
+      <url>https://dev.ortlepp.ms/resources/mit-license.html</url>
+      <distribution>manual</distribution>
+      <comments>The MIT License</comments>
+    </license>
+  </licenses>
+
+  <developers>
+    <developer>
+      <id>thorstenortlepp</id>
+      <name>Thorsten Ortlepp</name>
+      <email>post@ortlepp.eu</email>
+      <url>http://www.ortlepp.eu</url>
+      <roles>
+        <role>architect</role>
+        <role>developer</role>
+      </roles>
+      <timezone>Europe/Berlin</timezone>
+    </developer>
+  </developers>
+
 </project>
diff --git a/src/site/markdown/download.md b/src/site/markdown/download.md
new file mode 100644
index 0000000..df65e90
--- /dev/null
+++ b/src/site/markdown/download.md
@@ -0,0 +1,3 @@
+# Download notification-sender
+
+Download JAR files of notification-sender at [https://dev.ortlepp.ms/build/eu/ortlepp/notification-sender/](https://dev.ortlepp.ms/build/eu/ortlepp/notification-sender/)
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
new file mode 100644
index 0000000..7b4909d
--- /dev/null
+++ b/src/site/markdown/index.md
@@ -0,0 +1,5 @@
+# notification-sender
+
+**AWS Lambda to send notifications via SNS**
+
+For more information, see [README.md](https://git.ortlepp.ms/web/r/notification-sender.git/b/main/t/f=README.md.html)
diff --git a/src/site/site.xml b/src/site/site.xml
new file mode 100644
index 0000000..485c542
--- /dev/null
+++ b/src/site/site.xml
@@ -0,0 +1,30 @@
+<project>
+
+  <skin>
+    <groupId>org.apache.maven.skins</groupId>
+    <artifactId>maven-fluido-skin</artifactId>
+    <version>2.0.0-M8</version>
+  </skin>
+
+  <bannerLeft>
+    <name>${project.name}</name>
+  </bannerLeft>
+
+  <version position="right"/>
+  <publishDate position="right"/>
+
+  <body>
+    <menu name="Overview">
+      <item name="Introduction" href="index.html" />
+      <item name="Download" href="download.html" />
+    </menu>
+    <menu ref="modules" />
+    <menu ref="reports" />
+
+    <breadcrumbs>
+      <item name="Projects" href="../index.html"/>
+      <item name="${project.name}" href="index.html"/>
+    </breadcrumbs>
+  </body>
+
+</project>