Browse Source

Working on creating a multi-module build of the project!

master
Drew Short 10 years ago
parent
commit
dfa3dee087
  1. 6
      cleanLogs.sh
  2. 0
      cli/LICENSE
  3. 6
      cli/README.md
  4. 121
      cli/pom.xml
  5. 0
      cli/src/includes/LICENSE
  6. 0
      cli/src/includes/README.md
  7. 0
      cli/src/includes/logback.xml
  8. 0
      cli/src/includes/startCLI.sh
  9. 0
      cli/src/main/java/com/sothr/imagetools/AppCLI.java
  10. 20
      engine/LICENSE
  11. 0
      engine/README.md
  12. 208
      engine/pom.xml
  13. 0
      engine/sample/sample_01_large.jpg
  14. 0
      engine/sample/sample_01_medium.jpg
  15. 0
      engine/sample/sample_01_small.jpg
  16. 20
      engine/src/includes/LICENSE
  17. 0
      engine/src/main/java/com/sothr/imagetools/AppConfig.java
  18. 0
      engine/src/main/java/com/sothr/imagetools/errors/ImageToolsException.java
  19. 0
      engine/src/main/java/com/sothr/imagetools/image/ImageType.java
  20. 0
      engine/src/main/java/com/sothr/imagetools/util/ResourceLoader.java
  21. 0
      engine/src/main/resources/application.conf
  22. 0
      engine/src/main/resources/documents/about.md
  23. 0
      engine/src/main/resources/ehcache.xml
  24. 0
      engine/src/main/resources/hibernate.cfg.xml
  25. 0
      engine/src/main/resources/hibernate/Image.hbm.xml
  26. 0
      engine/src/main/resources/hibernate/ImageHash.hbm.xml
  27. 0
      engine/src/main/resources/logback-minimum-config.xml
  28. 0
      engine/src/main/scala/com/sothr/imagetools/dao/HibernateUtil.scala
  29. 0
      engine/src/main/scala/com/sothr/imagetools/dao/ImageDAO.scala
  30. 0
      engine/src/main/scala/com/sothr/imagetools/dto/ImageHashDTO.scala
  31. 0
      engine/src/main/scala/com/sothr/imagetools/engine/ConcurrentEngine.scala
  32. 0
      engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala
  33. 0
      engine/src/main/scala/com/sothr/imagetools/engine/SequentialEngine.scala
  34. 0
      engine/src/main/scala/com/sothr/imagetools/hash/AHash.scala
  35. 0
      engine/src/main/scala/com/sothr/imagetools/hash/DHash.scala
  36. 0
      engine/src/main/scala/com/sothr/imagetools/hash/HashService.scala
  37. 0
      engine/src/main/scala/com/sothr/imagetools/hash/PHash.scala
  38. 0
      engine/src/main/scala/com/sothr/imagetools/hash/PerceptualHasher.scala
  39. 0
      engine/src/main/scala/com/sothr/imagetools/image/Image.scala
  40. 0
      engine/src/main/scala/com/sothr/imagetools/image/ImageFilter.scala
  41. 0
      engine/src/main/scala/com/sothr/imagetools/image/ImageService.scala
  42. 0
      engine/src/main/scala/com/sothr/imagetools/image/SimilarImages.scala
  43. 0
      engine/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala
  44. 0
      engine/src/main/scala/com/sothr/imagetools/ui/component/ImageTileFactory.scala
  45. 0
      engine/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala
  46. 0
      engine/src/main/scala/com/sothr/imagetools/util/DirectoryFilter.scala
  47. 0
      engine/src/main/scala/com/sothr/imagetools/util/Hamming.scala
  48. 0
      engine/src/main/scala/com/sothr/imagetools/util/PropertiesService.scala
  49. 0
      engine/src/main/scala/com/sothr/imagetools/util/PropertyEnum.scala
  50. 0
      engine/src/main/scala/com/sothr/imagetools/util/Timing.scala
  51. 0
      engine/src/main/scala/com/sothr/imagetools/util/Version.scala
  52. 0
      engine/src/test/java/com/sothr/imagetools/AppTest.java
  53. 0
      engine/src/test/resources/application.conf
  54. 0
      engine/src/test/resources/ehcache.xml
  55. 0
      engine/src/test/resources/hibernate.cfg.xml
  56. 0
      engine/src/test/resources/hibernate/Image.hbm.xml
  57. 0
      engine/src/test/resources/hibernate/ImageHash.hbm.xml
  58. 0
      engine/src/test/resources/logback-minimum-config.xml
  59. 0
      engine/src/test/scala/com/sothr/imagetools/BaseTest.scala
  60. 0
      engine/src/test/scala/com/sothr/imagetools/EngineTest.scala
  61. 0
      engine/src/test/scala/com/sothr/imagetools/ScalaAppTest.scala
  62. 0
      engine/src/test/scala/com/sothr/imagetools/TestParams.scala
  63. 0
      engine/src/test/scala/com/sothr/imagetools/hash/HashServiceTest.scala
  64. 0
      engine/src/test/scala/com/sothr/imagetools/image/ImageFilterTest.scala
  65. 0
      engine/todo
  66. 20
      gui/LICENSE
  67. 6
      gui/README.md
  68. 125
      gui/pom.xml
  69. 20
      gui/src/includes/LICENSE
  70. 6
      gui/src/includes/README.md
  71. 75
      gui/src/includes/logback.xml
  72. 4
      gui/src/includes/startGUI.sh
  73. 0
      gui/src/main/java/com/sothr/imagetools/App.java
  74. 0
      gui/src/main/resources/fxml/mainapp/MainApp.fxml
  75. 0
      gui/src/main/resources/test.jpg
  76. 375
      parent/pom.xml
  77. 453
      pom.xml
  78. 1
      src/includes/name.info
  79. 36
      src/includes/startCLI.sh
  80. 1
      src/includes/version.info

6
cleanLogs.sh

@ -1,6 +0,0 @@
rm ImageTools.debug
rm ImageTools.debug.*
rm ImageTools.info
rm ImageTools.info.*
rm ImageTools.err
rm ImageTools.err.*

0
LICENSE → cli/LICENSE

6
cli/README.md

@ -0,0 +1,6 @@
ImageTools v0.1.0-DEV
==========
http://imagetools.sothr.com
----------
Management application for image collections.

121
cli/pom.xml

@ -0,0 +1,121 @@
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sothr.imagetools</groupId>
<artifactId>Parent</artifactId>
<version>1.0.0</version>
<relativePath>../parent</relativePath>
</parent>
<groupId>com.sothr.imagetools</groupId>
<artifactId>ImageTools-CLI</artifactId>
<version>0.1.0-DEV</version>
<packaging>jar</packaging>
<name>Image-Tools-CLI</name>
<description>The Command Line Interface for Image-Tools</description>
<url>http://imagetools.sothr.com</url>
<organization>
<name>Sothr Software</name>
</organization>
<dependencies>
<dependency>
<groupId>com.sothr.imagetools</groupId>
<artifactId>ImageTools-Engine</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.clapper</groupId>
<artifactId>grizzled-slf4j_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Packaging Configuration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.sothr.imagetools.AppCLI</mainClass>
</manifest>
</archive>
<outputDirectory>
${project.build.directory}/release
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>prepare</id>
<phase>process-resources</phase>
<configuration>
<tasks>
<copy file="${project.build.directory}/version.info" toFile="${basedir}/version.info" overwrite="true" />
<copy file="${project.build.directory}/name.info" toFile="${basedir}/name.info" overwrite="true" />
<copy file="${project.build.directory}/LICENSE" toFile="${basedir}/LICENSE" overwrite="true" />
<copy file="${project.build.directory}/README.md" toFile="${basedir}/README.md" overwrite="true" />
<chmod file="${project.build.directory}/startCLI.sh" perm="755"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>package</id>
<phase>package</phase>
<configuration>
<tasks>
<!-- set permissions on run files -->
<chmod file="${project.build.directory}/release/startCLI.sh" perm="755"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

0
src/includes/LICENSE → cli/src/includes/LICENSE

0
src/includes/README.md → cli/src/includes/README.md

0
src/includes/logback.xml → cli/src/includes/logback.xml

0
src/includes/startGUI.sh → cli/src/includes/startCLI.sh

0
src/main/java/com/sothr/imagetools/AppCLI.java → cli/src/main/java/com/sothr/imagetools/AppCLI.java

20
engine/LICENSE

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2014 Drew Short
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

0
README.md → engine/README.md

208
engine/pom.xml

@ -0,0 +1,208 @@
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sothr.imagetools</groupId>
<artifactId>Parent</artifactId>
<version>1.0.0</version>
<relativePath>../parent</relativePath>
</parent>
<groupId>com.sothr.imagetools</groupId>
<artifactId>ImageTools-Engine</artifactId>
<version>0.1.1-DEV</version>
<packaging>jar</packaging>
<name>Image-Tools-Engine</name>
<description>An image collection management utility</description>
<url>http://imagetools.sothr.com</url>
<organization>
<name>Sothr Software</name>
</organization>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.binary.version}</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.clapper</groupId>
<artifactId>grizzled-slf4j_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
</dependency>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.jtransforms</groupId>
<artifactId>jtransforms</artifactId>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-slf4j_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
</dependency>
<dependency>
<groupId>org.commonjava.googlecode.markdown4j</groupId>
<artifactId>markdown4j</artifactId>
</dependency>
<dependency>
<groupId>com.jsuereth</groupId>
<artifactId>scala-arm_${scala.binary.version}</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- enable surefire for java tests-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
<!-- enable scalatest for scala tests-->
<plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0-RC2</version>
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<junitxml>.</junitxml>
<filereports>WDF TestSuite.txt</filereports>
<argLine>-Xmx128m</argLine>
</configuration>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Packaging Configuration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<outputDirectory>
${project.build.directory}/release
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- General Ant Tasks
Mostly Moving Files -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>prepare</id>
<phase>process-resources</phase>
<configuration>
<tasks>
<!-- Copy hibernate configuration files -->
<copy todir="${basedir}/src/test/resources/hibernate">
<fileset dir="${basedir}/src/main/resources/hibernate" includes="**/*" />
</copy>
<copy file="${project.build.directory}/LICENSE" toFile="${basedir}/LICENSE" overwrite="true" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

0
sample/sample_01_large.jpg → engine/sample/sample_01_large.jpg

Before

Width: 3648  |  Height: 2736  |  Size: 5.0 MiB

After

Width: 3648  |  Height: 2736  |  Size: 5.0 MiB

0
sample/sample_01_medium.jpg → engine/sample/sample_01_medium.jpg

Before

Width: 1824  |  Height: 1368  |  Size: 1.5 MiB

After

Width: 1824  |  Height: 1368  |  Size: 1.5 MiB

0
sample/sample_01_small.jpg → engine/sample/sample_01_small.jpg

Before

Width: 912  |  Height: 684  |  Size: 519 KiB

After

Width: 912  |  Height: 684  |  Size: 519 KiB

20
engine/src/includes/LICENSE

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2014 Drew Short
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

0
src/main/java/com/sothr/imagetools/AppConfig.java → engine/src/main/java/com/sothr/imagetools/AppConfig.java

0
src/main/java/com/sothr/imagetools/errors/ImageToolsException.java → engine/src/main/java/com/sothr/imagetools/errors/ImageToolsException.java

0
src/main/java/com/sothr/imagetools/image/ImageType.java → engine/src/main/java/com/sothr/imagetools/image/ImageType.java

0
src/main/java/com/sothr/imagetools/util/ResourceLoader.java → engine/src/main/java/com/sothr/imagetools/util/ResourceLoader.java

0
src/main/resources/application.conf → engine/src/main/resources/application.conf

0
src/main/resources/documents/about.md → engine/src/main/resources/documents/about.md

0
src/main/resources/ehcache.xml → engine/src/main/resources/ehcache.xml

0
src/main/resources/hibernate.cfg.xml → engine/src/main/resources/hibernate.cfg.xml

0
src/main/resources/hibernate/Image.hbm.xml → engine/src/main/resources/hibernate/Image.hbm.xml

0
src/main/resources/hibernate/ImageHash.hbm.xml → engine/src/main/resources/hibernate/ImageHash.hbm.xml

0
src/main/resources/logback-minimum-config.xml → engine/src/main/resources/logback-minimum-config.xml

0
src/main/scala/com/sothr/imagetools/dao/HibernateUtil.scala → engine/src/main/scala/com/sothr/imagetools/dao/HibernateUtil.scala

0
src/main/scala/com/sothr/imagetools/dao/ImageDAO.scala → engine/src/main/scala/com/sothr/imagetools/dao/ImageDAO.scala

0
src/main/scala/com/sothr/imagetools/dto/ImageHashDTO.scala → engine/src/main/scala/com/sothr/imagetools/dto/ImageHashDTO.scala

0
src/main/scala/com/sothr/imagetools/engine/ConcurrentEngine.scala → engine/src/main/scala/com/sothr/imagetools/engine/ConcurrentEngine.scala

0
src/main/scala/com/sothr/imagetools/engine/Engine.scala → engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala

0
src/main/scala/com/sothr/imagetools/engine/SequentialEngine.scala → engine/src/main/scala/com/sothr/imagetools/engine/SequentialEngine.scala

0
src/main/scala/com/sothr/imagetools/hash/AHash.scala → engine/src/main/scala/com/sothr/imagetools/hash/AHash.scala

0
src/main/scala/com/sothr/imagetools/hash/DHash.scala → engine/src/main/scala/com/sothr/imagetools/hash/DHash.scala

0
src/main/scala/com/sothr/imagetools/hash/HashService.scala → engine/src/main/scala/com/sothr/imagetools/hash/HashService.scala

0
src/main/scala/com/sothr/imagetools/hash/PHash.scala → engine/src/main/scala/com/sothr/imagetools/hash/PHash.scala

0
src/main/scala/com/sothr/imagetools/hash/PerceptualHasher.scala → engine/src/main/scala/com/sothr/imagetools/hash/PerceptualHasher.scala

0
src/main/scala/com/sothr/imagetools/image/Image.scala → engine/src/main/scala/com/sothr/imagetools/image/Image.scala

0
src/main/scala/com/sothr/imagetools/image/ImageFilter.scala → engine/src/main/scala/com/sothr/imagetools/image/ImageFilter.scala

0
src/main/scala/com/sothr/imagetools/image/ImageService.scala → engine/src/main/scala/com/sothr/imagetools/image/ImageService.scala

0
src/main/scala/com/sothr/imagetools/image/SimilarImages.scala → engine/src/main/scala/com/sothr/imagetools/image/SimilarImages.scala

0
src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala → engine/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala

0
src/main/scala/com/sothr/imagetools/ui/component/ImageTileFactory.scala → engine/src/main/scala/com/sothr/imagetools/ui/component/ImageTileFactory.scala

0
src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala → engine/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala

0
src/main/scala/com/sothr/imagetools/util/DirectoryFilter.scala → engine/src/main/scala/com/sothr/imagetools/util/DirectoryFilter.scala

0
src/main/scala/com/sothr/imagetools/util/Hamming.scala → engine/src/main/scala/com/sothr/imagetools/util/Hamming.scala

0
src/main/scala/com/sothr/imagetools/util/PropertiesService.scala → engine/src/main/scala/com/sothr/imagetools/util/PropertiesService.scala

0
src/main/scala/com/sothr/imagetools/util/PropertyEnum.scala → engine/src/main/scala/com/sothr/imagetools/util/PropertyEnum.scala

0
src/main/scala/com/sothr/imagetools/util/Timing.scala → engine/src/main/scala/com/sothr/imagetools/util/Timing.scala

0
src/main/scala/com/sothr/imagetools/util/Version.scala → engine/src/main/scala/com/sothr/imagetools/util/Version.scala

0
src/test/java/com/sothr/imagetools/AppTest.java → engine/src/test/java/com/sothr/imagetools/AppTest.java

0
src/test/resources/application.conf → engine/src/test/resources/application.conf

0
src/test/resources/ehcache.xml → engine/src/test/resources/ehcache.xml

0
src/test/resources/hibernate.cfg.xml → engine/src/test/resources/hibernate.cfg.xml

0
src/test/resources/hibernate/Image.hbm.xml → engine/src/test/resources/hibernate/Image.hbm.xml

0
src/test/resources/hibernate/ImageHash.hbm.xml → engine/src/test/resources/hibernate/ImageHash.hbm.xml

0
src/test/resources/logback-minimum-config.xml → engine/src/test/resources/logback-minimum-config.xml

0
src/test/scala/com/sothr/imagetools/BaseTest.scala → engine/src/test/scala/com/sothr/imagetools/BaseTest.scala

0
src/test/scala/com/sothr/imagetools/EngineTest.scala → engine/src/test/scala/com/sothr/imagetools/EngineTest.scala

0
src/test/scala/com/sothr/imagetools/ScalaAppTest.scala → engine/src/test/scala/com/sothr/imagetools/ScalaAppTest.scala

0
src/test/scala/com/sothr/imagetools/TestParams.scala → engine/src/test/scala/com/sothr/imagetools/TestParams.scala

0
src/test/scala/com/sothr/imagetools/hash/HashServiceTest.scala → engine/src/test/scala/com/sothr/imagetools/hash/HashServiceTest.scala

0
src/test/scala/com/sothr/imagetools/image/ImageFilterTest.scala → engine/src/test/scala/com/sothr/imagetools/image/ImageFilterTest.scala

0
todo → engine/todo

20
gui/LICENSE

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2014 Drew Short
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

6
gui/README.md

@ -0,0 +1,6 @@
ImageTools v0.1.0-DEV
==========
http://imagetools.sothr.com
----------
Management application for image collections.

125
gui/pom.xml

@ -0,0 +1,125 @@
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sothr.imagetools</groupId>
<artifactId>Parent</artifactId>
<version>1.0.0</version>
<relativePath>../parent</relativePath>
</parent>
<groupId>com.sothr.imagetools</groupId>
<artifactId>ImageTools-GUI</artifactId>
<version>0.1.0-DEV</version>
<packaging>jar</packaging>
<name>Image-Tools-GUI</name>
<description>The Graphical User Interface for Image-Tools</description>
<url>http://imagetools.sothr.com</url>
<organization>
<name>Sothr Software</name>
</organization>
<dependencies>
<dependency>
<groupId>com.sothr.imagetools</groupId>
<artifactId>ImageTools-Engine</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.clapper</groupId>
<artifactId>grizzled-slf4j_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
</dependency>
<dependency>
<groupId>org.commonjava.googlecode.markdown4j</groupId>
<artifactId>markdown4j</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Packaging Configuration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.sothr.imagetools.App</mainClass>
</manifest>
</archive>
<outputDirectory>
${project.build.directory}/release
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>prepare</id>
<phase>process-resources</phase>
<configuration>
<tasks>
<copy file="${project.build.directory}/version.info" toFile="${basedir}/version.info" overwrite="true" />
<copy file="${project.build.directory}/name.info" toFile="${basedir}/name.info" overwrite="true" />
<copy file="${project.build.directory}/LICENSE" toFile="${basedir}/LICENSE" overwrite="true" />
<copy file="${project.build.directory}/README.md" toFile="${basedir}/README.md" overwrite="true" />
<chmod file="${project.build.directory}/startGUI.sh" perm="755"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>package</id>
<phase>package</phase>
<configuration>
<tasks>
<!-- set permissions on run files -->
<chmod file="${project.build.directory}/release/startGUI.sh" perm="755"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

20
gui/src/includes/LICENSE

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2014 Drew Short
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

6
gui/src/includes/README.md

@ -0,0 +1,6 @@
ImageTools v${project.version}
==========
${project.url}
----------
Management application for image collections.

75
gui/src/includes/logback.xml

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<logger name="org.hibernate" level="WARN"/>
<logger name="net.sf.ehcache" level="WARN"/>
<appender name="C" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- Sorry Windows Users -->
<withJansi>false</withJansi>
<pattern>[%date{HH:mm:ss}] %-5level [%c{16}] - %message%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<appender name="DL" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--See also http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
<File>ImageTools.debug</File>
<encoder>
<withJansi>false</withJansi>
<pattern>[%date{yy-MM-dd HH:mm:ss}] %-5level [%c{16}] - %message%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<maxIndex>1</maxIndex>
<FileNamePattern>ImageTools.debug.%i</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>5MB</MaxFileSize>
</triggeringPolicy>
</appender>
<appender name="IL" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--See also http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
<File>ImageTools.info</File>
<encoder>
<withJansi>false</withJansi>
<pattern>[%date{yy-MM-dd HH:mm:ss}] %-5level [%c{16}] - %message%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<maxIndex>1</maxIndex>
<FileNamePattern>ImageTools.info.%i</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>500KB</MaxFileSize>
</triggeringPolicy>
</appender>
<appender name="EL" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--See also http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
<File>ImageTools.err</File>
<encoder>
<withJansi>false</withJansi>
<pattern>[%.16thread] [%date{yy-MM-dd HH:mm:ss}] %-5level [%c{16}] - %message%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<maxIndex>1</maxIndex>
<FileNamePattern>ImageTools.err.%i</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>500KB</MaxFileSize>
</triggeringPolicy>
</appender>
<root level="DEBUG">
<appender-ref ref="C"/>
<appender-ref ref="DL"/>
<appender-ref ref="IL"/>
<appender-ref ref="EL"/>
</root>
</configuration>

4
gui/src/includes/startGUI.sh

@ -0,0 +1,4 @@
#!/bin/bash
echo "Welcome to Image Tools version: ${project.version}"
command="-Xmx1500m -jar ${project.name}-${project.version}.jar"
java $command

0
src/main/java/com/sothr/imagetools/App.java → gui/src/main/java/com/sothr/imagetools/App.java

0
src/main/resources/fxml/mainapp/MainApp.fxml → gui/src/main/resources/fxml/mainapp/MainApp.fxml

0
src/main/resources/test.jpg → gui/src/main/resources/test.jpg

Before

Width: 912  |  Height: 684  |  Size: 519 KiB

After

Width: 912  |  Height: 684  |  Size: 519 KiB

375
parent/pom.xml

@ -0,0 +1,375 @@
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sothr.imagetools</groupId>
<artifactId>Parent</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<name>Image-Tools-Parent</name>
<pluginRepositories>
<pluginRepository>
<id>sonatype-releases</id>
<url>http://oss.sonatype.org/content/repositories/releases</url>
</pluginRepository>
<pluginRepository>
<id>clojars.org</id>
<url>http://clojars.org/repo</url>
</pluginRepository>
</pluginRepositories>
<properties>
<imagetools.engine.version>0.1.1-DEV</imagetools.engine.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jdk.version>1.8</jdk.version>
<scala.binary.version>2.11</scala.binary.version>
<lib.scala-library.version>2.11.2</lib.scala-library.version>
<lib.junit.version>4.11</lib.junit.version>
<lib.scalatest.version>2.2.1</lib.scalatest.version>
<lib.logback.version>1.1.2</lib.logback.version>
<lib.slf4j.version>1.7.7</lib.slf4j.version>
<lib.grizzled-slf4j.version>1.0.2</lib.grizzled-slf4j.version>
<lib.akka.version>2.3.5</lib.akka.version>
<lib.jta.version>1.1</lib.jta.version>
<lib.ehcache.version>2.8.0</lib.ehcache.version>
<lib.commons-cli.version>1.2</lib.commons-cli.version>
<lib.commons-codec.version>1.9</lib.commons-codec.version>
<lib.jtransforms.version>2.4.0</lib.jtransforms.version>
<lib.typesafe-config.version>1.2.0</lib.typesafe-config.version>
<lib.thumbnailator.version>[0.4, 0.5)</lib.thumbnailator.version>
<lib.h2database.version>1.3.175</lib.h2database.version>
<lib.hibernate.version>4.3.0.Final</lib.hibernate.version>
<lib.hibernate.ehcache.version>2.6.6</lib.hibernate.ehcache.version>
<lib.markdown4j.version>2.2-cj-1.0</lib.markdown4j.version>
<lib.scala-arm.version>1.4</lib.scala-arm.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.sothr.imagetools</groupId>
<artifactId>ImageTools-Engine</artifactId>
<version>${imagetools.engine.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${lib.junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.binary.version}</artifactId>
<version>${lib.scalatest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${lib.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${lib.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>${lib.logback.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${lib.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.clapper</groupId>
<artifactId>grizzled-slf4j_${scala.binary.version}</artifactId>
<version>${lib.grizzled-slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${lib.scala-library.version}</version>
</dependency>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>${lib.thumbnailator.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>${lib.typesafe-config.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jtransforms</groupId>
<artifactId>jtransforms</artifactId>
<version>${lib.jtransforms.version}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>${lib.commons-cli.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${lib.commons-codec.version}</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>${lib.jta.version}</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>${lib.ehcache.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.11</artifactId>
<version>${lib.akka.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-slf4j_${scala.binary.version}</artifactId>
<version>${lib.akka.version}</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${lib.h2database.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${lib.hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${lib.hibernate.version}</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>${lib.hibernate.ehcache.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>${lib.hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.commonjava.googlecode.markdown4j</groupId>
<artifactId>markdown4j</artifactId>
<version>${lib.markdown4j.version}</version>
</dependency>
<dependency>
<groupId>com.jsuereth</groupId>
<artifactId>scala-arm_${scala.binary.version}</artifactId>
<version>${lib.scala-arm.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.conf</include>
<include>**/*.properties</include>
<include>**/*.info</include>
<include>**/*.md</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.conf</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/*.info</exclude>
<exclude>**/*.md</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.conf</include>
<include>**/*.properties</include>
<include>**/*.info</include>
<include>**/*.md</include>
</includes>
</testResource>
<testResource>
<directory>src/test/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.conf</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/*.info</exclude>
<exclude>**/*.md</exclude>
</excludes>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- disable surefire for java tests-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!-- Version Management -->
<plugin>
<groupId>com.code54.mojo</groupId>
<artifactId>buildversion-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<goals>
<goal>set-properties</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Override Compilation Settings -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Handle Polygot Scala -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<!--<configuration>
<jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</configuration>-->
</plugin>
<!-- Build Management -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>runtime</includeScope>
<outputDirectory>
${project.build.directory}/release/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Resource Management -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>initialize</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/includes</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-resources-package</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/release</outputDirectory>
<resources>
<resource>
<directory>src/includes</directory>
<filtering>true</filtering>
<excludes>
<exclude>version.info</exclude>
<exclude>name.info</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

453
pom.xml

@ -5,7 +5,7 @@
<groupId>com.sothr.imagetools</groupId>
<artifactId>Image-Tools</artifactId>
<version>0.1.1-DEV</version>
<packaging>jar</packaging>
<packaging>pom</packaging>
<name>Image-Tools</name>
<description>An image collection management utility</description>
@ -14,449 +14,12 @@
<name>Sothr Software</name>
</organization>
<pluginRepositories>
<pluginRepository>
<id>sonatype-releases</id>
<url>http://oss.sonatype.org/content/repositories/releases</url>
</pluginRepository>
<pluginRepository>
<id>clojars.org</id>
<url>http://clojars.org/repo</url>
</pluginRepository>
</pluginRepositories>
<modules>
<module>parent</module>
<module>engine</module>
<module>cli</module>
<!--<module>daemon</module>-->
<module>gui</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jdk.version>1.8</jdk.version>
<scala.binary.version>2.11</scala.binary.version>
<lib.scala-library.version>2.11.2</lib.scala-library.version>
<lib.junit.version>4.11</lib.junit.version>
<lib.scalatest.version>2.2.1</lib.scalatest.version>
<lib.logback.version>1.1.2</lib.logback.version>
<lib.slf4j.version>1.7.7</lib.slf4j.version>
<lib.grizzled-slf4j.version>1.0.2</lib.grizzled-slf4j.version>
<lib.akka.version>2.3.5</lib.akka.version>
<lib.jta.version>1.1</lib.jta.version>
<lib.ehcache.version>2.8.0</lib.ehcache.version>
<lib.commons-cli.version>1.2</lib.commons-cli.version>
<lib.commons-codec.version>1.9</lib.commons-codec.version>
<lib.jtransforms.version>2.4.0</lib.jtransforms.version>
<lib.typesafe-config.version>1.2.0</lib.typesafe-config.version>
<lib.thumbnailator.version>[0.4, 0.5)</lib.thumbnailator.version>
<lib.h2database.version>1.3.175</lib.h2database.version>
<lib.hibernate.version>4.3.0.Final</lib.hibernate.version>
<lib.hibernate.ehcache.version>2.6.6</lib.hibernate.ehcache.version>
<lib.markdown4j.version>2.2-cj-1.0</lib.markdown4j.version>
<lib.scala-arm.version>1.4</lib.scala-arm.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${lib.junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.binary.version}</artifactId>
<version>${lib.scalatest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${lib.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${lib.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>${lib.logback.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${lib.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.clapper</groupId>
<artifactId>grizzled-slf4j_${scala.binary.version}</artifactId>
<version>${lib.grizzled-slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${lib.scala-library.version}</version>
</dependency>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>${lib.thumbnailator.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>${lib.typesafe-config.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jtransforms</groupId>
<artifactId>jtransforms</artifactId>
<version>${lib.jtransforms.version}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>${lib.commons-cli.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${lib.commons-codec.version}</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>${lib.jta.version}</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>${lib.ehcache.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.11</artifactId>
<version>${lib.akka.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-slf4j_${scala.binary.version}</artifactId>
<version>${lib.akka.version}</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${lib.h2database.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${lib.hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${lib.hibernate.version}</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>${lib.hibernate.ehcache.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>${lib.hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.commonjava.googlecode.markdown4j</groupId>
<artifactId>markdown4j</artifactId>
<version>${lib.markdown4j.version}</version>
</dependency>
<dependency>
<groupId>com.jsuereth</groupId>
<artifactId>scala-arm_${scala.binary.version}</artifactId>
<version>${lib.scala-arm.version}</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.conf</include>
<include>**/*.properties</include>
<include>**/*.info</include>
<include>**/*.md</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.conf</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/*.info</exclude>
<exclude>**/*.md</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.conf</include>
<include>**/*.properties</include>
<include>**/*.info</include>
<include>**/*.md</include>
</includes>
</testResource>
<testResource>
<directory>src/test/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.conf</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/*.info</exclude>
<exclude>**/*.md</exclude>
</excludes>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- enable surefire for java tests-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
<!-- enable scalatest for scala tests-->
<plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0-RC2</version>
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<junitxml>.</junitxml>
<filereports>WDF TestSuite.txt</filereports>
<argLine>-Xmx128m</argLine>
</configuration>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Version Management -->
<plugin>
<groupId>com.code54.mojo</groupId>
<artifactId>buildversion-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<goals>
<goal>set-properties</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Override Compilation Settings -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Handle Polygot Scala -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<!--<configuration>
<jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</configuration>-->
</plugin>
<!-- Build Management -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>runtime</includeScope>
<outputDirectory>
${project.build.directory}/release/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Resource Management -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>initialize</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/includes</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-resources-package</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/release</outputDirectory>
<resources>
<resource>
<directory>src/includes</directory>
<filtering>true</filtering>
<excludes>
<exclude>version.info</exclude>
<exclude>name.info</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- Packaging Configuration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.sothr.imagetools.App</mainClass>
</manifest>
</archive>
<outputDirectory>
${project.build.directory}/release
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- General Ant Tasks
Mostly Moving Files -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>prepare</id>
<phase>process-resources</phase>
<configuration>
<tasks>
<!-- Copy hibernate configuration files -->
<copy todir="${basedir}/src/test/resources/hibernate">
<fileset dir="${basedir}/src/main/resources/hibernate" includes="**/*" />
</copy>
<copy file="${project.build.directory}/version.info" toFile="${basedir}/version.info" overwrite="true" />
<copy file="${project.build.directory}/name.info" toFile="${basedir}/name.info" overwrite="true" />
<copy file="${project.build.directory}/LICENSE" toFile="${basedir}/LICENSE" overwrite="true" />
<copy file="${project.build.directory}/README.md" toFile="${basedir}/README.md" overwrite="true" />
<chmod file="${project.build.directory}/startCLI.sh" perm="755"/>
<chmod file="${project.build.directory}/startGUI.sh" perm="755"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>package</id>
<phase>package</phase>
<configuration>
<tasks>
<!-- set permissions on run files -->
<chmod file="${project.build.directory}/release/startCLI.sh" perm="755"/>
<chmod file="${project.build.directory}/release/startGUI.sh" perm="755"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

1
src/includes/name.info

@ -1 +0,0 @@
${project.name}

36
src/includes/startCLI.sh

@ -1,36 +0,0 @@
#!/bin/bash
echo "Welcome to Image Tools version: ${project.version}"
args=""
while (( "$#" )); do
args="$args $1"
shift
done
command="-Xmx1500m -cp ${project.name}-${project.version}.jar:lib/* com.sothr.imagetools.AppCLI"
correct=false
#Check for existing commands and use them instead of asking if possible
if [[ -z "$args" ]]
then
while true; do
read -p "Please enter and commandline arguments you would like to include: " args
command="$command $args"
echo "Is \"$command\" accurate? (yes/no)"
select yn in "Yes" "No"; do
case $yn in
Yes ) correct=true; java $command; exit;;
No ) break;;
esac
done
case $correct in
true ) break;;
esac
done
else
command="$command $args"
echo "Is \"$command\" accurate? (yes/no)"
select yn in "Yes" "No"; do
case $yn in
Yes ) java $command; exit;;
No ) exit;;
esac
done
fi

1
src/includes/version.info

@ -1 +0,0 @@
${build-version}
Loading…
Cancel
Save