pom.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://maven.apache.org/POM/4.0.0"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <parent>
  7. <groupId>org.springframework.cloud</groupId>
  8. <artifactId>spring-cloud-build</artifactId>
  9. <version>4.1.0</version>
  10. <relativePath/><!-- lookup parent from repository -->
  11. </parent>
  12. <groupId>io.awspring.cloud</groupId>
  13. <artifactId>spring-cloud-aws</artifactId>
  14. <version>3.2.0-SNAPSHOT</version>
  15. <packaging>pom</packaging>
  16. <name>Spring Cloud AWS</name>
  17. <scm>
  18. <url>https://github.com/awspring/spring-cloud-aws</url>
  19. <connection>scm:git:git://github.com/awspring/spring-cloud-aws.git
  20. </connection>
  21. <developerConnection>
  22. scm:git:ssh://git@github.com/awspring/spring-cloud-aws.git
  23. </developerConnection>
  24. <tag>HEAD</tag>
  25. </scm>
  26. <properties>
  27. <spotless.version>2.40.0</spotless.version>
  28. <jacoco.version>0.8.8</jacoco.version>
  29. <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
  30. <testcontainers.version>1.19.3</testcontainers.version>
  31. </properties>
  32. <modules>
  33. <module>spring-cloud-aws-core</module>
  34. <module>spring-cloud-aws-autoconfigure</module>
  35. <module>spring-cloud-aws-dependencies</module>
  36. <module>spring-cloud-aws-parameter-store</module>
  37. <module>spring-cloud-aws-secrets-manager</module>
  38. <module>spring-cloud-aws-ses</module>
  39. <module>spring-cloud-aws-sns</module>
  40. <module>spring-cloud-aws-sqs</module>
  41. <module>spring-cloud-aws-dynamodb</module>
  42. <module>spring-cloud-aws-s3</module>
  43. <module>spring-cloud-aws-testcontainers</module>
  44. <module>spring-cloud-aws-starters/spring-cloud-aws-starter</module>
  45. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-dynamodb</module>
  46. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-metrics</module>
  47. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-parameter-store</module>
  48. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-s3</module>
  49. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-secrets-manager</module>
  50. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-ses</module>
  51. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-sns</module>
  52. <module>spring-cloud-aws-starters/spring-cloud-aws-starter-sqs</module>
  53. <module>spring-cloud-aws-samples</module>
  54. <module>spring-cloud-aws-test</module>
  55. <module>spring-cloud-aws-modulith</module>
  56. <module>docs</module>
  57. </modules>
  58. <dependencyManagement>
  59. <dependencies>
  60. <dependency>
  61. <groupId>io.awspring.cloud</groupId>
  62. <artifactId>spring-cloud-aws-dependencies</artifactId>
  63. <version>${project.version}</version>
  64. <type>pom</type>
  65. <scope>import</scope>
  66. </dependency>
  67. <dependency>
  68. <groupId>org.testcontainers</groupId>
  69. <artifactId>testcontainers-bom</artifactId>
  70. <version>${testcontainers.version}</version>
  71. <type>pom</type>
  72. <scope>import</scope>
  73. </dependency>
  74. </dependencies>
  75. </dependencyManagement>
  76. <dependencies>
  77. <dependency>
  78. <groupId>org.slf4j</groupId>
  79. <artifactId>slf4j-api</artifactId>
  80. </dependency>
  81. <dependency>
  82. <groupId>org.springframework.boot</groupId>
  83. <artifactId>spring-boot-starter-test</artifactId>
  84. <scope>test</scope>
  85. </dependency>
  86. </dependencies>
  87. <build>
  88. <pluginManagement>
  89. <plugins>
  90. <plugin>
  91. <artifactId>maven-compiler-plugin</artifactId>
  92. <configuration>
  93. <compilerArgs>
  94. <!-- Enable all warnings -->
  95. <compilerArg>-Xlint:all</compilerArg>
  96. <!-- Disable options warning because we will have differences between the compiler and source code level-->
  97. <compilerArg>-Xlint:-options</compilerArg>
  98. <!-- Disable serialversionuid warnings -->
  99. <compilerArg>-Xlint:-serial</compilerArg>
  100. <!--compilerArg>-Werror</compilerArg-->
  101. </compilerArgs>
  102. </configuration>
  103. </plugin>
  104. <plugin>
  105. <groupId>com.diffplug.spotless</groupId>
  106. <artifactId>spotless-maven-plugin</artifactId>
  107. <version>${spotless.version}</version>
  108. <configuration>
  109. <java>
  110. <importOrder />
  111. <eclipse>
  112. <file>${maven.multiModuleProjectDirectory}/eclipse-code-formatter.xml</file>
  113. </eclipse>
  114. <removeUnusedImports/>
  115. <licenseHeader>
  116. <file>${maven.multiModuleProjectDirectory}/license-header.txt</file>
  117. </licenseHeader>
  118. </java>
  119. </configuration>
  120. </plugin>
  121. </plugins>
  122. </pluginManagement>
  123. <plugins>
  124. <plugin>
  125. <groupId>org.apache.maven.plugins</groupId>
  126. <artifactId>maven-javadoc-plugin</artifactId>
  127. <configuration>
  128. <skip>true</skip>
  129. <links>
  130. <link>https://docs.oracle.com/javase/8/docs/api/</link>
  131. <link>https://javaee.github.io/javaee-spec/javadocs/</link>
  132. <link>https://fasterxml.github.io/jackson-core/javadoc/2.8/</link>
  133. <link>https://docs.spring.io/spring/docs/5.3.x/javadoc-api/</link>
  134. </links>
  135. <author>true</author>
  136. <header>${project.name}</header>
  137. <reportOutputDirectory>${project.build.directory}/site/${project.version}/apidocs</reportOutputDirectory>
  138. <source>17</source>
  139. </configuration>
  140. </plugin>
  141. <plugin>
  142. <groupId>com.diffplug.spotless</groupId>
  143. <artifactId>spotless-maven-plugin</artifactId>
  144. <executions>
  145. <execution>
  146. <phase>validate</phase>
  147. <configuration>
  148. <skip>${disable.checks}</skip>
  149. </configuration>
  150. <goals>
  151. <goal>apply</goal>
  152. <goal>check</goal>
  153. </goals>
  154. </execution>
  155. </executions>
  156. </plugin>
  157. </plugins>
  158. </build>
  159. <profiles>
  160. <profile>
  161. <id>spring</id>
  162. <repositories>
  163. <repository>
  164. <id>spring-snapshots</id>
  165. <name>Spring Snapshots</name>
  166. <url>https://repo.spring.io/libs-snapshot-local</url>
  167. <snapshots>
  168. <enabled>true</enabled>
  169. </snapshots>
  170. <releases>
  171. <enabled>false</enabled>
  172. </releases>
  173. </repository>
  174. <repository>
  175. <id>spring-milestones</id>
  176. <name>Spring Milestones</name>
  177. <url>https://repo.spring.io/libs-milestone-local</url>
  178. <snapshots>
  179. <enabled>false</enabled>
  180. </snapshots>
  181. </repository>
  182. </repositories>
  183. <pluginRepositories>
  184. <pluginRepository>
  185. <id>spring-snapshots</id>
  186. <name>Spring Snapshots</name>
  187. <url>https://repo.spring.io/libs-snapshot-local</url>
  188. <snapshots>
  189. <enabled>true</enabled>
  190. </snapshots>
  191. <releases>
  192. <enabled>false</enabled>
  193. </releases>
  194. </pluginRepository>
  195. <pluginRepository>
  196. <id>spring-milestones</id>
  197. <name>Spring Milestones</name>
  198. <url>https://repo.spring.io/libs-milestone-local</url>
  199. <snapshots>
  200. <enabled>false</enabled>
  201. </snapshots>
  202. </pluginRepository>
  203. </pluginRepositories>
  204. </profile>
  205. <profile>
  206. <id>release</id>
  207. <build>
  208. <plugins>
  209. <plugin>
  210. <groupId>org.apache.maven.plugins</groupId>
  211. <artifactId>maven-gpg-plugin</artifactId>
  212. <version>${maven-gpg-plugin.version}</version>
  213. <configuration>
  214. <!-- Prevent gpg from using pinentry programs -->
  215. <gpgArguments>
  216. <arg>--pinentry-mode</arg>
  217. <arg>loopback</arg>
  218. </gpgArguments>
  219. </configuration>
  220. <executions>
  221. <execution>
  222. <id>sign-artifacts</id>
  223. <phase>verify</phase>
  224. <goals>
  225. <goal>sign</goal>
  226. </goals>
  227. </execution>
  228. </executions>
  229. </plugin>
  230. <plugin>
  231. <groupId>org.apache.maven.plugins</groupId>
  232. <artifactId>maven-javadoc-plugin</artifactId>
  233. <configuration>
  234. <skip>false</skip>
  235. </configuration>
  236. </plugin>
  237. </plugins>
  238. </build>
  239. </profile>
  240. <profile>
  241. <id>docs-classic</id>
  242. <build>
  243. <plugins>
  244. <plugin>
  245. <groupId>org.apache.maven.plugins</groupId>
  246. <artifactId>maven-javadoc-plugin</artifactId>
  247. <configuration>
  248. <skip>false</skip>
  249. </configuration>
  250. </plugin>
  251. </plugins>
  252. </build>
  253. </profile>
  254. <profile>
  255. <id>coverage</id>
  256. <properties>
  257. <sonar.organization>awspring</sonar.organization>
  258. <sonar.projectKey>awspring_spring-cloud-aws</sonar.projectKey>
  259. <!-- https://community.sonarsource.com/t/project-quarkusio-quarkus-cant-have-2-modules-with-the-following-key-quarkusio-quarkus/33824/6 -->
  260. <sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
  261. <sonar.host.url>https://sonarcloud.io</sonar.host.url>
  262. </properties>
  263. <build>
  264. <plugins>
  265. <plugin>
  266. <groupId>org.jacoco</groupId>
  267. <artifactId>jacoco-maven-plugin</artifactId>
  268. <version>${jacoco.version}</version>
  269. <executions>
  270. <execution>
  271. <id>prepare-agent</id>
  272. <goals>
  273. <goal>prepare-agent</goal>
  274. </goals>
  275. </execution>
  276. <execution>
  277. <id>report</id>
  278. <goals>
  279. <goal>report</goal>
  280. </goals>
  281. <configuration>
  282. <formats>
  283. <format>XML</format>
  284. </formats>
  285. </configuration>
  286. </execution>
  287. </executions>
  288. </plugin>
  289. <plugin>
  290. <groupId>org.apache.maven.plugins</groupId>
  291. <artifactId>maven-surefire-plugin</artifactId>
  292. <configuration>
  293. <argLine>@{argLine} -Xms512m -Xmx512m</argLine>
  294. </configuration>
  295. </plugin>
  296. </plugins>
  297. </build>
  298. </profile>
  299. </profiles>
  300. <distributionManagement>
  301. <repository>
  302. <id>ossrh-awspring</id>
  303. <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
  304. </repository>
  305. </distributionManagement>
  306. <licenses>
  307. <license>
  308. <name>Apache License, Version 2.0</name>
  309. <url>https://www.apache.org/licenses/LICENSE-2.0</url>
  310. <comments>
  311. Copyright 2013-$YEAR the original author or authors.
  312. Licensed under the Apache License, Version 2.0 (the "License");
  313. you may not use this file except in compliance with the License.
  314. You may obtain a copy of the License at
  315. https://www.apache.org/licenses/LICENSE-2.0
  316. Unless required by applicable law or agreed to in writing, software
  317. distributed under the License is distributed on an "AS IS" BASIS,
  318. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  319. See the License for the specific language governing permissions and
  320. limitations under the License.
  321. </comments>
  322. </license>
  323. </licenses>
  324. </project>