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.

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