pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.oglimmer</groupId>
<artifactId>lunchy</artifactId>
<version>0.62-SNAPSHOT</version>
<packaging>war</packaging>
<description>Lunchy not only makes lunch easier it also makes your life better! How does it do that? It collects and provides essential information about lunch places.</description>
<developers>
<developer>
<name>Oliver Zimpasser</name>
<email>oglimmer@gmail.com</email>
</developer>
</developers>
<licenses>
<license>
</license>
</licenses>
<scm>
<url>https://github.com/oglimmer/lunchy</url>
<connection>scm:git:git://github.com/oglimmer/lunchy.git</connection>
<developerConnection>scm:git:git@github.com:oglimmer/lunchy.git</developerConnection>
<tag>HEAD</tag>
</scm>
<properties>
<sonar.java.source>1.8</sonar.java.source>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<lunchy.db.driver>com.mysql.jdbc.Driver</lunchy.db.driver>
<lunchy.db.url>jdbc:mysql://127.0.0.1/</lunchy.db.url>
<lunchy.db.schema>oli_lunchy</lunchy.db.schema>
<lunchy.db.user>root</lunchy.db.user>
<lunchy.db.password />
</properties>
<pluginRepositories>
<!-- this is the only repo providing org.apache.maven.plugins:maven-release-plugin:3.0-r1585899 -->
<pluginRepository>
<id>adobe-repo</id>
<name>adobe-repo</name>
<url>https://repo.adobe.com/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
<profiles>
<profile>
<id>jooq-build</id>
<activation>
<property>
<name>generateDBClasses</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>3.7.2</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
<configuration>
<jdbc>
<driver>${lunchy.db.driver}</driver>
<url>${lunchy.db.url}</url>
<user>${lunchy.db.user}</user>
<password>${lunchy.db.password}</password>
</jdbc>
<generator>
<name>org.jooq.util.DefaultGenerator</name>
<database>
<name>org.jooq.util.mysql.MySQLDatabase</name>
<includes>.*</includes>
<excludes />
<inputSchema>oli_lunchy</inputSchema>
</database>
<target>
<packageName>de.oglimmer.lunchy.database.generated</packageName>
<!-- <directory>target/generated-sources/jooq</directory> -->
<directory>src/main/java</directory>
</target>
</generator>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>liquibase-build</id>
<activation>
<property>
<name>createTables</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.4.2</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<changeLogFile>src/main/resources/init-db.xml</changeLogFile>
<driver>${lunchy.db.driver}</driver>
<url>${lunchy.db.url}${lunchy.db.schema}</url>
<username>${lunchy.db.user}</username>
<password>${lunchy.db.password}</password>
</configuration>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>hsqldb-driver</id>
<activation>
<property>
<name>hsqldb</name>
<value>true</value>
</property>
</activation>
<build>
</build>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</profile>
</profiles>
<build>
<finalName>lunchy##001</finalName>
<plugins>
<!--
Without this the test are failing with "The forked VM terminated without properly saying goodbye. VM crash or System.exit called?", caused by an "Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter".
See: https://issues.apache.org/jira/browse/SUREFIRE-1588
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0-r1585899</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<shortRevisionLength>7</shortRevisionLength>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
<configuration>
<archiveClasses>true</archiveClasses>
<archive>
<manifestEntries>
<git-commit>${buildNumber}</git-commit>
<git-url>${project.scm.url}</git-url>
<creation-date>${timestamp}</creation-date>
<project-version>${project.version}</project-version>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>com.theoryinpractise</groupId>
<artifactId>coffee-maven-plugin</artifactId>
<version>1.4.16</version>
<configuration>
<coffeeOutputDirectory>${basedir}/src/main/webapp/js</coffeeOutputDirectory>
<coffeeJoinSets>
<joinSet>
<id>directives_coffee</id>
<fileSet>
<directory>${basedir}/src/main/coffee</directory>
<includes><include>directives_coffee.coffee</include></includes>
</fileSet>
</joinSet>
</coffeeJoinSets>
</configuration>
<executions>
<execution>
<id>coffee</id>
<phase>process-resources</phase>
<goals>
<goal>coffee</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.4</version>
<executions>
<execution>
<id>default-minify</id>
<configuration>
<closureLanguage>ECMASCRIPT5_STRICT</closureLanguage>
<closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
<charset>UTF-8</charset>
<cssSourceDir>css</cssSourceDir>
<cssSourceFiles>
<cssSourceFile>styles.css</cssSourceFile>
<cssSourceFile>bootstrap-theme.min.css</cssSourceFile>
<cssSourceFile>html5-boilerplate-main.css</cssSourceFile>
</cssSourceFiles>
<cssFinalFile>style.css</cssFinalFile>
<jsSourceDir>js</jsSourceDir>
<jsSourceIncludes>
<jsSourceInclude>**/*.js</jsSourceInclude>
</jsSourceIncludes>
<jsFinalFile>script.js</jsFinalFile>
<jsEngine>CLOSURE</jsEngine>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.searls</groupId>
<artifactId>jasmine-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<phantomjs>
<version>2.1.1</version>
<checkSystemPath>true</checkSystemPath>
</phantomjs>
<jsSrcDir>src/main/webapp/js</jsSrcDir>
<sourceIncludes>
<include>index/*.js</include>
<include>index/controllers/*.js</include>
<include>portal/*.js</include>
<include>*.js</include>
</sourceIncludes>
<jsTestSrcDir>src/test/js</jsTestSrcDir>
<webDriverClassName>org.openqa.selenium.phantomjs.PhantomJSDriver</webDriverClassName>
<!-- <webDriverClassName>org.openqa.selenium.firefox.FirefoxDriver</webDriverClassName> -->
<!-- <webDriverClassName>org.openqa.selenium.chrome.ChromeDriver</webDriverClassName> -->
<preloadSources>
<source>webjars/jquery/2.2.0/jquery.js</source>
<source>webjars/lodash/3.10.1/lodash.js</source>
<source>webjars/jquery-ui/1.11.4/jquery-ui.js</source>
<source>webjars/angularjs/1.4.8/angular.js</source>
<source>webjars/angularjs/1.4.8/angular-mocks.js</source>
<source>webjars/angularjs/1.4.8/angular-resource.js</source>
<source>webjars/angularjs/1.4.8/angular-route.js</source>
<source>webjars/angularjs/1.4.8/angular-touch.js</source>
<source>webjars/angularjs/1.4.8/angular-sanitize.js</source>
<source>webjars/angularjs/1.4.8/angular-cookies.js</source>
<source>webjars/angularjs/1.4.8/angular-animate.js</source>
<source>webjars/angular-ui-validate/1.2.1/dist/validate.js</source>
<source>webjars/angular-ui-router/0.2.15/angular-ui-router.js</source>
<source>webjars/angular-ui-bootstrap/0.14.3/ui-bootstrap-tpls.js</source>
<source>webjars/angular-google-maps/2.1.1/angular-google-maps.js</source>
<source>webjars/ng-table/1.0.0-beta.9/dist/ng-table.js</source>
<source>webjars/ng-flow/2.6.1/ng-flow-standalone.js</source>
<source>webjars/ng-sortable/1.3.2/dist/ng-sortable.js</source>
<source>webjars/zxcvbn/4.2.0/dist/zxcvbn.js</source>
<source>http://maps.googleapis.com/maps/api/js</source>
</preloadSources>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>copy</goal></goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.github.jsimone</groupId>
<artifactId>webapp-runner</artifactId>
<version>7.0.40.1</version>
<destFileName>webapp-runner.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.6.v20151106</version>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.oglimmer.utils</groupId>
<artifactId>common-utils</artifactId>
<version>0.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.6.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.6.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<version>3.7.2</version>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-meta</artifactId>
<version>3.7.2</version>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen</artifactId>
<version>3.7.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>de.svenkubiak</groupId>
<artifactId>jBCrypt</artifactId>
<version>0.4.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery-ui</artifactId>
<version>1.11.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>angularjs</artifactId>
<version>1.4.8</version>
</dependency>
<dependency>
<groupId>org.webjars.bower</groupId>
<artifactId>angular-ui-validate</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>angular-ui-router</artifactId>
<version>0.2.15</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>angular-ui-bootstrap</artifactId>
<version>0.14.3</version>
</dependency>
<dependency>
<groupId>org.webjars.bower</groupId>
<artifactId>ng-table</artifactId>
<version>1.0.0-beta.9</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.6</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>lodash</artifactId>
<version>3.10.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>ng-flow</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>zxcvbn</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
<version>2.22.1</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
<version>5.5.1</version>
</dependency>
<dependency>
<groupId>com.google.maps</groupId>
<artifactId>google-maps-services</artifactId>
<version>0.9.3</version>
</dependency>
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>org.imgscalr</groupId>
<artifactId>imgscalr-lib</artifactId>
<version>4.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>modernizr</artifactId>
<version>2.8.3</version>
</dependency>
<dependency>
<groupId>org.webjars.bower</groupId>
<artifactId>ng-sortable</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>normalize.css</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.4.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.littleshoot</groupId>
<artifactId>littleshoot-commons-id</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>angular-google-maps</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.1</version>
</dependency>
</dependencies>
</project>