pom.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  2. <parent>
  3. <groupId>org.pwm-project</groupId>
  4. <artifactId>pwm-parent</artifactId>
  5. <version>1.8.0-SNAPSHOT</version>
  6. <relativePath>../pom.xml</relativePath>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>pwm</artifactId>
  10. <packaging>war</packaging>
  11. <name>PWM Password Self Service: Server WAR</name>
  12. <properties>
  13. <project.root.basedir>${project.basedir}/..</project.root.basedir>
  14. </properties>
  15. <profiles>
  16. <profile>
  17. <id>skip-javadoc</id>
  18. <properties>
  19. <maven.javadoc.skip>true</maven.javadoc.skip>
  20. </properties>
  21. </profile>
  22. <profile>
  23. <!-- Builds a zip file containing the built war file, along with the supplemental directory -->
  24. <id>release</id>
  25. <build>
  26. <plugins>
  27. <plugin>
  28. <groupId>org.apache.maven.plugins</groupId>
  29. <artifactId>maven-assembly-plugin</artifactId>
  30. <version>3.1.0</version>
  31. <configuration>
  32. <descriptors>
  33. <descriptor>src/build/assembly/release-bundle.xml</descriptor>
  34. </descriptors>
  35. <finalName>${project.build.finalName}-${timestamp.iso}</finalName>
  36. </configuration>
  37. <executions>
  38. <execution>
  39. <id>make-release-bundle</id>
  40. <phase>package</phase>
  41. <goals>
  42. <goal>single</goal>
  43. </goals>
  44. </execution>
  45. </executions>
  46. </plugin>
  47. </plugins>
  48. </build>
  49. </profile>
  50. </profiles>
  51. <build>
  52. <plugins>
  53. <plugin>
  54. <groupId>org.apache.maven.plugins</groupId>
  55. <artifactId>maven-assembly-plugin</artifactId>
  56. <version>3.1.0</version>
  57. <executions>
  58. <execution>
  59. <id>make-ldif-schema-zip</id>
  60. <phase>prepare-package</phase>
  61. <configuration>
  62. <finalName>${project.build.finalName}/public/reference/ldif-schema</finalName>
  63. <appendAssemblyId>false</appendAssemblyId>
  64. <descriptors>
  65. <descriptor>src/build/assembly/ldif-schema-zip.xml</descriptor>
  66. </descriptors>
  67. </configuration>
  68. <goals>
  69. <goal>single</goal>
  70. </goals>
  71. </execution>
  72. <execution>
  73. <id>make-source-reference-zip</id>
  74. <phase>prepare-package</phase>
  75. <configuration>
  76. <finalName>${project.build.finalName}/public/reference/source</finalName>
  77. <appendAssemblyId>false</appendAssemblyId>
  78. <descriptors>
  79. <descriptor>src/build/assembly/source-reference.xml</descriptor>
  80. </descriptors>
  81. </configuration>
  82. <goals>
  83. <goal>single</goal>
  84. </goals>
  85. </execution>
  86. </executions>
  87. </plugin>
  88. <plugin>
  89. <groupId>org.apache.maven.plugins</groupId>
  90. <artifactId>maven-war-plugin</artifactId>
  91. <version>3.2.2</version>
  92. <configuration>
  93. <archiveClasses>true</archiveClasses>
  94. <packagingExcludes>WEB-INF/classes</packagingExcludes>
  95. <archive>
  96. <manifestEntries>
  97. <Implementation-Archive-Name>${warArtifactID}</Implementation-Archive-Name>
  98. <Implementation-Title>${project.name}</Implementation-Title>
  99. <Implementation-Version>${project.version}</Implementation-Version>
  100. <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
  101. <Implementation-URL>${project.organization.url}</Implementation-URL>
  102. <Implementation-Build-Java-Vendor>${java.vendor}</Implementation-Build-Java-Vendor>
  103. <Implementation-Build-Java-Version>${java.version}</Implementation-Build-Java-Version>
  104. <Implementation-Build>${build.number}</Implementation-Build>
  105. <Implementation-Build-Timestamp>${timestamp.iso}</Implementation-Build-Timestamp>
  106. <Implementation-Revision>${build.revision}</Implementation-Revision>
  107. <Implementation-Version-Display>v${project.version} b${build.number} r${build.revision}</Implementation-Version-Display>
  108. </manifestEntries>
  109. </archive>
  110. </configuration>
  111. </plugin>
  112. <plugin>
  113. <groupId>io.leonard.maven.plugins</groupId>
  114. <artifactId>jspc-maven-plugin</artifactId>
  115. <version>2.4.2</version>
  116. <executions>
  117. <execution>
  118. <goals>
  119. <goal>compile</goal>
  120. </goals>
  121. <phase>compile</phase>
  122. <configuration>
  123. <compilerVersion>${maven.compiler.source}</compilerVersion>
  124. <keepSources>false</keepSources>
  125. </configuration>
  126. </execution>
  127. </executions>
  128. </plugin>
  129. <plugin>
  130. <groupId>org.apache.maven.plugins</groupId>
  131. <artifactId>maven-deploy-plugin</artifactId>
  132. <version>2.8.2</version>
  133. <executions>
  134. <execution>
  135. <phase>deploy</phase>
  136. <goals>
  137. <goal>deploy-file</goal>
  138. </goals>
  139. <configuration>
  140. <packaging>jar</packaging>
  141. <generatePom>true</generatePom>
  142. <url>${project.distributionManagement.repository.url}</url>
  143. <artifactId>${project.artifactId}</artifactId>
  144. <groupId>${project.groupId}</groupId>
  145. <version>${project.version}</version>
  146. <file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>
  147. </configuration>
  148. </execution>
  149. </executions>
  150. </plugin>
  151. <plugin>
  152. <!-- creates the classes directory early in the build so the attribution plugin doesn't fail -->
  153. <artifactId>maven-antrun-plugin</artifactId>
  154. <executions>
  155. <execution>
  156. <id>generate-sources</id>
  157. <phase>generate-sources</phase>
  158. <configuration>
  159. <tasks>
  160. <mkdir dir="${project.build.directory}/classes"/>
  161. </tasks>
  162. </configuration>
  163. <goals>
  164. <goal>run</goal>
  165. </goals>
  166. </execution>
  167. </executions>
  168. </plugin>
  169. <plugin>
  170. <!-- builds xml file of dependencies and licenses for use in about page -->
  171. <groupId>com.github.jinnovations</groupId>
  172. <artifactId>attribution-maven-plugin</artifactId>
  173. <version>0.9.5</version>
  174. <executions>
  175. <execution>
  176. <goals>
  177. <goal>generate-attribution-file</goal>
  178. </goals>
  179. <phase>generate-resources</phase>
  180. </execution>
  181. </executions>
  182. <configuration>
  183. <outputFile>${project.build.directory}/classes/webapp-attribution.xml</outputFile>
  184. </configuration>
  185. </plugin>
  186. </plugins>
  187. </build>
  188. <dependencies>
  189. <!-- main jar -->
  190. <dependency>
  191. <groupId>${project.groupId}</groupId>
  192. <artifactId>pwm-server</artifactId>
  193. <version>${project.version}</version>
  194. </dependency>
  195. <!-- container dependencies -->
  196. <dependency>
  197. <groupId>javax.servlet</groupId>
  198. <artifactId>javax.servlet-api</artifactId>
  199. <version>4.0.1</version>
  200. <scope>provided</scope>
  201. </dependency>
  202. <dependency>
  203. <groupId>javax.servlet.jsp</groupId>
  204. <artifactId>jsp-api</artifactId>
  205. <version>2.2.1-b03</version>
  206. <scope>provided</scope>
  207. </dependency>
  208. <!-- / container dependencies -->
  209. <!-- client webjar dependencies -->
  210. <!-- changes in client dependencies require updating AppProperty.properties:http.resources.webjarMappings -->
  211. <dependency>
  212. <groupId>${project.groupId}</groupId>
  213. <artifactId>pwm-client</artifactId>
  214. <version>${project.version}</version>
  215. </dependency>
  216. <dependency>
  217. <groupId>org.webjars.npm</groupId>
  218. <artifactId>dojo</artifactId>
  219. <version>1.14.1</version>
  220. </dependency>
  221. <dependency>
  222. <groupId>org.webjars.npm</groupId>
  223. <artifactId>dijit</artifactId>
  224. <version>1.14.1</version>
  225. </dependency>
  226. <dependency>
  227. <groupId>org.webjars.npm</groupId>
  228. <artifactId>dojox</artifactId>
  229. <version>1.14.1</version>
  230. </dependency>
  231. <dependency>
  232. <groupId>org.webjars.bower</groupId>
  233. <artifactId>dgrid</artifactId>
  234. <version>1.2.1</version>
  235. </dependency>
  236. <dependency>
  237. <groupId>org.webjars.bower</groupId>
  238. <artifactId>dstore</artifactId>
  239. <version>1.1.2</version>
  240. </dependency>
  241. <dependency>
  242. <groupId>org.webjars.bower</groupId>
  243. <artifactId>font-awesome</artifactId>
  244. <version>4.7.0</version>
  245. </dependency>
  246. <dependency>
  247. <groupId>org.webjars.bower</groupId>
  248. <artifactId>famfamfam-flags</artifactId>
  249. <version>1.0.0</version>
  250. </dependency>
  251. </dependencies>
  252. <repositories>
  253. <repository>
  254. <id>central</id>
  255. <url>https://repo1.maven.org/maven2</url>
  256. <snapshots>
  257. <enabled>false</enabled>
  258. </snapshots>
  259. </repository>
  260. <!-- Include our own local maven repository, for artifacts that aren't available elsewhere -->
  261. <repository>
  262. <id>project.local</id>
  263. <name>project</name>
  264. <url>file:///${project.basedir}/../build/local-maven-repo</url>
  265. </repository>
  266. </repositories>
  267. <pluginRepositories>
  268. <pluginRepository>
  269. <id>central</id>
  270. <url>https://repo1.maven.org/maven2</url>
  271. <snapshots>
  272. <enabled>false</enabled>
  273. </snapshots>
  274. </pluginRepository>
  275. </pluginRepositories>
  276. </project>