-
Notifications
You must be signed in to change notification settings - Fork 0
/
pom.xml
166 lines (152 loc) · 6.92 KB
/
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!-- The root element of a Maven Project Object Model (POM) -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!-- Project metadata -->
<modelVersion>4.0.0</modelVersion> <!-- POM model version -->
<groupId>dev.mayank</groupId> <!-- Unique identifier for the project's group -->
<artifactId>mySpringBootWork</artifactId> <!-- Unique identifier for the project -->
<packaging>pom</packaging> <!-- Packaging type, in this case, a POM project -->
<version>13.0-SNAPSHOT</version> <!-- Project version -->
<name>mySpringBootWork</name> <!-- Project name -->
<url>http://maven.apache.org</url> <!-- Project URL -->
<parent> <!-- This parent will take care of the version of all spring dependencies -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- Project properties -->
<properties>
<java.version>17</java.version> <!-- Java version used for compilation -->
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- Modules of the project -->
<modules>
<!-- List of child modules -->
<!-- Each module is a separate Maven project with its own POM -->
<module>sb_01-spring-core-framework</module>
<module>sb_02-spring-boot-basic</module>
<module>sb_03-spring-boot-core</module>
<module>sb_04-spring-boot-hibernate-jpa</module>
<module>sb_05-spring-boot-rest-crud</module>
<module>sb_06-spring-boot-my-simple-rest-service-v1</module>
<module>sb_07-spring-boot-my-simple-rest-service-v2</module>
<module>sb_08-spring-boot-my-rest-service-springdata-rest</module>
<module>sb_09-spring-boot-web-service-rest-security</module>
<module>sb_10-spring-rest-service-security-jpa</module>
<module>sb_11-spring-boot-mvc-thymeleaf</module>
<module>sb_12-spring-boot-mvc-thymeleaf-crud</module>
<module>sb_13-spring-boot-mvc-security-thymeleaf-crud</module>
<module>sb_14-spring-boot-jpa-hibernate-1to1-bi</module>
<module>sb_15-spring-boot-jpa-hibernate-1tomany-bi</module>
<module>sb_16-spring-boot-some-work</module>
</modules>
<!-- Project dependencies -->
<dependencies>
<dependency> <!-- MAIN SPRING BOOT WEB -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency> <!-- MAIN SPRING BOOT TEST -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency> <!-- SPRING BOOT DEV TOOLS -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency> <!-- PROJECT LOMBOK -->
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<!-- Build configuration -->
<build>
<!-- Maven plugins used during the build process -->
<plugins>
<!-- Maven Compiler Plugin configuration -->
<!-- Configures source and target compatibility levels -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>17</source> <!-- Java source compatibility level -->
<target>17</target> <!-- Java target compatibility level -->
</configuration>
</plugin>
<!-- Spring Boot Maven Plugin -->
<!-- Provides Spring Boot support during the build -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.6.2</version>
</plugin>
</plugins>
</build>
<!-- Maven profiles for build customization -->
<profiles>
<profile> <!-- Profile for skipping tests -->
<id>fast</id> <!-- Profile identifier -->
<build>
<plugins>
<!-- Maven Surefire Plugin configuration -->
<!-- Skips running tests when activated -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile> <!-- Profile for running all tests -->
<id>all</id>
<build>
<plugins>
<!-- Maven Surefire Plugin configuration -->
<!-- Enables running all tests when activated -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile> <!-- Profile for running only tests -->
<id>test</id>
<build>
<plugins>
<!-- Maven Surefire Plugin configuration -->
<!-- Defines executions to run tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>run-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>