From 1bda14d383c4bc0f9493b1b0f0f0ecd26aa9e230 Mon Sep 17 00:00:00 2001
From: jez04 <david.jezek@post.cz>
Date: Tue, 6 Feb 2024 17:31:00 +0100
Subject: [PATCH] feat: add lombok and log4j2

---
 pom.xml                                       |  2 +-
 .../META-INF/maven/archetype-metadata.xml     | 10 ++++++++
 .../resources/archetype-resources/pom.xml     | 24 ++++++++++++++++---
 .../src/main/java/App.java                    |  3 +++
 .../src/main/java/module-info.java            |  2 ++
 .../src/main/resources/log4j2.xml             | 13 ++++++++++
 6 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 src/main/resources/archetype-resources/src/main/resources/log4j2.xml

diff --git a/pom.xml b/pom.xml
index 99e35c7..7bc38fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>cz.vsb.fei.java2</groupId>
 	<artifactId>javafx-quickstart</artifactId>
-	<version>1.0.2</version>
+	<version>1.0.4</version>
 	<packaging>maven-archetype</packaging>
 
 	<build>
diff --git a/src/main/resources/META-INF/maven/archetype-metadata.xml b/src/main/resources/META-INF/maven/archetype-metadata.xml
index 855b191..aa107eb 100644
--- a/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -18,8 +18,18 @@
 		</fileSet>
 
 		<fileSet filtered="true" packaged="true">
+			<excludes>
+				<exclude>log4j2.xml</exclude>
+			</excludes>
 			<directory>src/main/resources</directory>
 		</fileSet>
+		<fileSet filtered="true" packaged="false">
+			<directory>src/main/resources</directory>
+			<includes>
+				<include>log4j2.xml</include>
+			</includes>
+		</fileSet>
+
 		<fileSet  filtered="true" packaged="true">
 			<directory>src/test/java</directory>
 		</fileSet>
diff --git a/src/main/resources/archetype-resources/pom.xml b/src/main/resources/archetype-resources/pom.xml
index 20b1fc3..2709987 100644
--- a/src/main/resources/archetype-resources/pom.xml
+++ b/src/main/resources/archetype-resources/pom.xml
@@ -5,16 +5,18 @@
 	<groupId>${groupId}</groupId>
 	<artifactId>${artifactId}</artifactId>
 	<version>${version}</version>
-	
+
 	<name>${artifactId}</name>
-	
+
 	<packaging>jar</packaging>
-	
+
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<maven.compiler.release>21</maven.compiler.release>
 		<JavaFX.version>22-ea+16</JavaFX.version>
 		<JUnit.version>5.10.1</JUnit.version>
+		<log4j.version>2.22.1</log4j.version>
+		<lombok.version>1.18.30</lombok.version>
 	</properties>
 	<dependencyManagement>
 		<dependencies>
@@ -44,6 +46,22 @@
 			<artifactId>junit-jupiter</artifactId>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.projectlombok</groupId>
+			<artifactId>lombok</artifactId>
+			<version>${lombok.version}</version>
+			<scope>provided</scope>
+		</dependency>
 	</dependencies>
 
 	<build>
diff --git a/src/main/resources/archetype-resources/src/main/java/App.java b/src/main/resources/archetype-resources/src/main/java/App.java
index b2d3741..3d31e44 100644
--- a/src/main/resources/archetype-resources/src/main/java/App.java
+++ b/src/main/resources/archetype-resources/src/main/java/App.java
@@ -6,14 +6,17 @@ import javafx.scene.Scene;
 import javafx.scene.layout.BorderPane;
 import javafx.stage.Stage;
 import javafx.stage.WindowEvent;
+import lombok.extern.log4j.Log4j2;
 
 /**
  *  Class <b>App</b> - extends class Application and it is an entry point of the program
  * @author     Java I
  */
+@Log4j2
 public class App extends Application {
 
 	public static void main(String[] args) {
+		log.info("Launching JavaFX application.");
 		launch(args);
 	}
 	
diff --git a/src/main/resources/archetype-resources/src/main/java/module-info.java b/src/main/resources/archetype-resources/src/main/java/module-info.java
index d80c132..5a7a826 100644
--- a/src/main/resources/archetype-resources/src/main/java/module-info.java
+++ b/src/main/resources/archetype-resources/src/main/java/module-info.java
@@ -1,6 +1,8 @@
 module $package {
     requires transitive javafx.controls;
     requires javafx.fxml;
+	requires lombok;
+	requires org.apache.logging.log4j;
     opens $package to javafx.fxml;
     exports $package;
 }
\ No newline at end of file
diff --git a/src/main/resources/archetype-resources/src/main/resources/log4j2.xml b/src/main/resources/archetype-resources/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..acb3514
--- /dev/null
+++ b/src/main/resources/archetype-resources/src/main/resources/log4j2.xml
@@ -0,0 +1,13 @@
+<Configuration>
+	<Appenders>
+		<Console name="Console">
+			<PatternLayout
+				pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
+		</Console>
+	</Appenders>
+	<Loggers>
+		<Root level="info">
+			<AppenderRef ref="Console"></AppenderRef>
+		</Root>
+	</Loggers>
+</Configuration>
-- 
GitLab