You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

455 lines
15 KiB

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.sothr.imagetools</groupId>
  5. <artifactId>Image-Tools</artifactId>
  6. <version>0.1.1-DEV</version>
  7. <packaging>jar</packaging>
  8. <name>Image-Tools</name>
  9. <description>An image collection management utility</description>
  10. <url>http://imagetools.sothr.com</url>
  11. <organization>
  12. <name>Sothr Software</name>
  13. </organization>
  14. <pluginRepositories>
  15. <pluginRepository>
  16. <id>sonatype-releases</id>
  17. <url>http://oss.sonatype.org/content/repositories/releases</url>
  18. </pluginRepository>
  19. <pluginRepository>
  20. <id>clojars.org</id>
  21. <url>http://clojars.org/repo</url>
  22. </pluginRepository>
  23. </pluginRepositories>
  24. <properties>
  25. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  26. <jdk.version>1.8</jdk.version>
  27. <lib.junit.version>4.11</lib.junit.version>
  28. <lib.scalatest.version>2.2.1</lib.scalatest.version>
  29. <lib.logback.version>1.1.2</lib.logback.version>
  30. <lib.slf4j.version>1.7.7</lib.slf4j.version>
  31. <lib.grizzled-slf4j.version>1.0.2</lib.grizzled-slf4j.version>
  32. <lib.scala-library.version>2.11.2</lib.scala-library.version>
  33. <lib.akka.version>2.3.5</lib.akka.version>
  34. <lib.jta.version>1.1</lib.jta.version>
  35. <lib.ehcache.version>2.8.0</lib.ehcache.version>
  36. <lib.commons-cli.version>1.2</lib.commons-cli.version>
  37. <lib.commons-codec.version>1.9</lib.commons-codec.version>
  38. <lib.jtransforms.version>2.4.0</lib.jtransforms.version>
  39. <lib.typesafe-config.version>1.2.0</lib.typesafe-config.version>
  40. <lib.thumbnailator.version>[0.4, 0.5)</lib.thumbnailator.version>
  41. <lib.h2database.version>1.3.175</lib.h2database.version>
  42. <lib.hibernate.version>4.3.0.Final</lib.hibernate.version>
  43. <lib.hibernate.ehcache.version>2.6.6</lib.hibernate.ehcache.version>
  44. <lib.markdown4j.version>2.2-cj-1.0</lib.markdown4j.version>
  45. </properties>
  46. <dependencies>
  47. <dependency>
  48. <groupId>junit</groupId>
  49. <artifactId>junit</artifactId>
  50. <version>${lib.junit.version}</version>
  51. <scope>test</scope>
  52. </dependency>
  53. <dependency>
  54. <groupId>org.scalatest</groupId>
  55. <artifactId>scalatest_2.11</artifactId>
  56. <version>${lib.scalatest.version}</version>
  57. <scope>test</scope>
  58. </dependency>
  59. <dependency>
  60. <groupId>ch.qos.logback</groupId>
  61. <artifactId>logback-core</artifactId>
  62. <version>${lib.logback.version}</version>
  63. </dependency>
  64. <dependency>
  65. <groupId>ch.qos.logback</groupId>
  66. <artifactId>logback-classic</artifactId>
  67. <version>${lib.logback.version}</version>
  68. </dependency>
  69. <dependency>
  70. <groupId>ch.qos.logback</groupId>
  71. <artifactId>logback-access</artifactId>
  72. <version>${lib.logback.version}</version>
  73. </dependency>
  74. <dependency>
  75. <groupId>org.slf4j</groupId>
  76. <artifactId>slf4j-api</artifactId>
  77. <version>${lib.slf4j.version}</version>
  78. </dependency>
  79. <dependency>
  80. <groupId>org.clapper</groupId>
  81. <artifactId>grizzled-slf4j_2.11</artifactId>
  82. <version>${lib.grizzled-slf4j.version}</version>
  83. </dependency>
  84. <dependency>
  85. <groupId>org.scala-lang</groupId>
  86. <artifactId>scala-library</artifactId>
  87. <version>${lib.scala-library.version}</version>
  88. </dependency>
  89. <dependency>
  90. <groupId>net.coobird</groupId>
  91. <artifactId>thumbnailator</artifactId>
  92. <version>${lib.thumbnailator.version}</version>
  93. </dependency>
  94. <dependency>
  95. <groupId>com.typesafe</groupId>
  96. <artifactId>config</artifactId>
  97. <version>${lib.typesafe-config.version}</version>
  98. </dependency>
  99. <dependency>
  100. <groupId>net.sourceforge.jtransforms</groupId>
  101. <artifactId>jtransforms</artifactId>
  102. <version>${lib.jtransforms.version}</version>
  103. </dependency>
  104. <dependency>
  105. <groupId>commons-cli</groupId>
  106. <artifactId>commons-cli</artifactId>
  107. <version>${lib.commons-cli.version}</version>
  108. </dependency>
  109. <dependency>
  110. <groupId>commons-codec</groupId>
  111. <artifactId>commons-codec</artifactId>
  112. <version>${lib.commons-codec.version}</version>
  113. </dependency>
  114. <dependency>
  115. <groupId>javax.transaction</groupId>
  116. <artifactId>jta</artifactId>
  117. <version>${lib.jta.version}</version>
  118. </dependency>
  119. <dependency>
  120. <groupId>net.sf.ehcache</groupId>
  121. <artifactId>ehcache</artifactId>
  122. <version>${lib.ehcache.version}</version>
  123. </dependency>
  124. <dependency>
  125. <groupId>com.typesafe.akka</groupId>
  126. <artifactId>akka-actor_2.11</artifactId>
  127. <version>${lib.akka.version}</version>
  128. </dependency>
  129. <dependency>
  130. <groupId>com.typesafe.akka</groupId>
  131. <artifactId>akka-slf4j_2.11</artifactId>
  132. <version>${lib.akka.version}</version>
  133. </dependency>
  134. <dependency>
  135. <groupId>com.h2database</groupId>
  136. <artifactId>h2</artifactId>
  137. <version>${lib.h2database.version}</version>
  138. </dependency>
  139. <dependency>
  140. <groupId>org.hibernate</groupId>
  141. <artifactId>hibernate-core</artifactId>
  142. <version>${lib.hibernate.version}</version>
  143. </dependency>
  144. <dependency>
  145. <groupId>org.hibernate</groupId>
  146. <artifactId>hibernate-ehcache</artifactId>
  147. <version>${lib.hibernate.version}</version>
  148. </dependency>
  149. <dependency>
  150. <groupId>net.sf.ehcache</groupId>
  151. <artifactId>ehcache-core</artifactId>
  152. <version>${lib.hibernate.ehcache.version}</version>
  153. </dependency>
  154. <dependency>
  155. <groupId>org.hibernate</groupId>
  156. <artifactId>hibernate-c3p0</artifactId>
  157. <version>${lib.hibernate.version}</version>
  158. </dependency>
  159. <dependency>
  160. <groupId>org.commonjava.googlecode.markdown4j</groupId>
  161. <artifactId>markdown4j</artifactId>
  162. <version>${lib.markdown4j.version}</version>
  163. </dependency>
  164. </dependencies>
  165. <build>
  166. <resources>
  167. <resource>
  168. <directory>src/main/resources</directory>
  169. <filtering>true</filtering>
  170. <includes>
  171. <include>**/*.conf</include>
  172. <include>**/*.properties</include>
  173. <include>**/*.info</include>
  174. <include>**/*.md</include>
  175. </includes>
  176. </resource>
  177. <resource>
  178. <directory>src/main/resources</directory>
  179. <filtering>false</filtering>
  180. <excludes>
  181. <exclude>**/*.conf</exclude>
  182. <exclude>**/*.properties</exclude>
  183. <exclude>**/*.info</exclude>
  184. <exclude>**/*.md</exclude>
  185. </excludes>
  186. </resource>
  187. </resources>
  188. <testResources>
  189. <testResource>
  190. <directory>src/test/resources</directory>
  191. <filtering>true</filtering>
  192. <includes>
  193. <include>**/*.conf</include>
  194. <include>**/*.properties</include>
  195. <include>**/*.info</include>
  196. <include>**/*.md</include>
  197. </includes>
  198. </testResource>
  199. <testResource>
  200. <directory>src/test/resources</directory>
  201. <filtering>false</filtering>
  202. <excludes>
  203. <exclude>**/*.conf</exclude>
  204. <exclude>**/*.properties</exclude>
  205. <exclude>**/*.info</exclude>
  206. <exclude>**/*.md</exclude>
  207. </excludes>
  208. </testResource>
  209. </testResources>
  210. <pluginManagement>
  211. <plugins>
  212. <plugin>
  213. <groupId>net.alchim31.maven</groupId>
  214. <artifactId>scala-maven-plugin</artifactId>
  215. <version>3.1.6</version>
  216. </plugin>
  217. <plugin>
  218. <groupId>org.apache.maven.plugins</groupId>
  219. <artifactId>maven-resources-plugin</artifactId>
  220. <version>2.6</version>
  221. </plugin>
  222. </plugins>
  223. </pluginManagement>
  224. <plugins>
  225. <!-- enable surefire for java tests-->
  226. <plugin>
  227. <groupId>org.apache.maven.plugins</groupId>
  228. <artifactId>maven-surefire-plugin</artifactId>
  229. <version>2.7</version>
  230. <configuration>
  231. <skipTests>false</skipTests>
  232. </configuration>
  233. </plugin>
  234. <!-- enable scalatest for scala tests-->
  235. <plugin>
  236. <groupId>org.scalatest</groupId>
  237. <artifactId>scalatest-maven-plugin</artifactId>
  238. <version>1.0-RC2</version>
  239. <configuration>
  240. <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
  241. <junitxml>.</junitxml>
  242. <filereports>WDF TestSuite.txt</filereports>
  243. <argLine>-Xmx128m</argLine>
  244. </configuration>
  245. <executions>
  246. <execution>
  247. <id>test</id>
  248. <goals>
  249. <goal>test</goal>
  250. </goals>
  251. </execution>
  252. </executions>
  253. </plugin>
  254. <!-- Version Management -->
  255. <plugin>
  256. <groupId>com.code54.mojo</groupId>
  257. <artifactId>buildversion-plugin</artifactId>
  258. <version>1.0.3</version>
  259. <executions>
  260. <execution>
  261. <goals>
  262. <goal>set-properties</goal>
  263. </goals>
  264. </execution>
  265. </executions>
  266. </plugin>
  267. <!-- Override Compilation Settings -->
  268. <plugin>
  269. <groupId>org.apache.maven.plugins</groupId>
  270. <artifactId>maven-compiler-plugin</artifactId>
  271. <version>3.1</version>
  272. <configuration>
  273. <source>${jdk.version}</source>
  274. <target>${jdk.version}</target>
  275. </configuration>
  276. <executions>
  277. <execution>
  278. <phase>compile</phase>
  279. <goals>
  280. <goal>compile</goal>
  281. </goals>
  282. </execution>
  283. </executions>
  284. </plugin>
  285. <!-- Handle Polygot Scala -->
  286. <plugin>
  287. <groupId>net.alchim31.maven</groupId>
  288. <artifactId>scala-maven-plugin</artifactId>
  289. <executions>
  290. <execution>
  291. <id>scala-compile-first</id>
  292. <phase>process-resources</phase>
  293. <goals>
  294. <goal>add-source</goal>
  295. <goal>compile</goal>
  296. </goals>
  297. </execution>
  298. <execution>
  299. <id>scala-test-compile</id>
  300. <phase>process-test-resources</phase>
  301. <goals>
  302. <goal>testCompile</goal>
  303. </goals>
  304. </execution>
  305. </executions>
  306. <!--<configuration>
  307. <jvmArgs>
  308. <jvmArg>-Xms64m</jvmArg>
  309. <jvmArg>-Xmx1024m</jvmArg>
  310. </jvmArgs>
  311. </configuration>-->
  312. </plugin>
  313. <!-- Build Management -->
  314. <plugin>
  315. <groupId>org.apache.maven.plugins</groupId>
  316. <artifactId>maven-dependency-plugin</artifactId>
  317. <version>2.6</version>
  318. <executions>
  319. <execution>
  320. <id>copy-dependencies</id>
  321. <phase>package</phase>
  322. <goals>
  323. <goal>copy-dependencies</goal>
  324. </goals>
  325. <configuration>
  326. <includeScope>runtime</includeScope>
  327. <outputDirectory>
  328. ${project.build.directory}/release/lib
  329. </outputDirectory>
  330. </configuration>
  331. </execution>
  332. </executions>
  333. </plugin>
  334. <!-- Resource Management -->
  335. <plugin>
  336. <groupId>org.apache.maven.plugins</groupId>
  337. <artifactId>maven-resources-plugin</artifactId>
  338. <version>2.6</version>
  339. <executions>
  340. <execution>
  341. <id>copy-resources</id>
  342. <phase>initialize</phase>
  343. <goals>
  344. <goal>copy-resources</goal>
  345. </goals>
  346. <configuration>
  347. <outputDirectory>${project.build.directory}</outputDirectory>
  348. <resources>
  349. <resource>
  350. <directory>src/includes</directory>
  351. <filtering>true</filtering>
  352. </resource>
  353. </resources>
  354. </configuration>
  355. </execution>
  356. <execution>
  357. <id>copy-resources-package</id>
  358. <phase>package</phase>
  359. <goals>
  360. <goal>copy-resources</goal>
  361. </goals>
  362. <configuration>
  363. <outputDirectory>${project.build.directory}/release</outputDirectory>
  364. <resources>
  365. <resource>
  366. <directory>src/includes</directory>
  367. <filtering>true</filtering>
  368. <excludes>
  369. <exclude>version.info</exclude>
  370. <exclude>name.info</exclude>
  371. </excludes>
  372. </resource>
  373. </resources>
  374. </configuration>
  375. </execution>
  376. </executions>
  377. </plugin>
  378. <!-- Packaging Configuration -->
  379. <plugin>
  380. <groupId>org.apache.maven.plugins</groupId>
  381. <artifactId>maven-jar-plugin</artifactId>
  382. <version>2.4</version>
  383. <executions>
  384. <execution>
  385. <phase>package</phase>
  386. <goals>
  387. <goal>jar</goal>
  388. </goals>
  389. <configuration>
  390. <archive>
  391. <manifest>
  392. <addClasspath>true</addClasspath>
  393. <classpathPrefix>lib/</classpathPrefix>
  394. <mainClass>com.sothr.imagetools.App</mainClass>
  395. </manifest>
  396. </archive>
  397. <outputDirectory>
  398. ${project.build.directory}/release
  399. </outputDirectory>
  400. </configuration>
  401. </execution>
  402. </executions>
  403. </plugin>
  404. <!-- General Ant Tasks
  405. Mostly Moving Files -->
  406. <plugin>
  407. <artifactId>maven-antrun-plugin</artifactId>
  408. <version>1.4</version>
  409. <executions>
  410. <execution>
  411. <id>prepare</id>
  412. <phase>process-resources</phase>
  413. <configuration>
  414. <tasks>
  415. <!-- Copy hibernate configuration files -->
  416. <copy todir="${basedir}/src/test/resources/hibernate">
  417. <fileset dir="${basedir}/src/main/resources/hibernate" includes="**/*" />
  418. </copy>
  419. <copy file="${project.build.directory}/version.info" toFile="${basedir}/version.info" overwrite="true" />
  420. <copy file="${project.build.directory}/name.info" toFile="${basedir}/name.info" overwrite="true" />
  421. <copy file="${project.build.directory}/LICENSE" toFile="${basedir}/LICENSE" overwrite="true" />
  422. <copy file="${project.build.directory}/README.md" toFile="${basedir}/README.md" overwrite="true" />
  423. <chmod file="${project.build.directory}/startCLI.sh" perm="755"/>
  424. <chmod file="${project.build.directory}/startGUI.sh" perm="755"/>
  425. </tasks>
  426. </configuration>
  427. <goals>
  428. <goal>run</goal>
  429. </goals>
  430. </execution>
  431. <execution>
  432. <id>package</id>
  433. <phase>package</phase>
  434. <configuration>
  435. <tasks>
  436. <!-- set permissions on run files -->
  437. <chmod file="${project.build.directory}/release/startCLI.sh" perm="755"/>
  438. <chmod file="${project.build.directory}/release/startGUI.sh" perm="755"/>
  439. </tasks>
  440. </configuration>
  441. <goals>
  442. <goal>run</goal>
  443. </goals>
  444. </execution>
  445. </executions>
  446. </plugin>
  447. </plugins>
  448. </build>
  449. </project>