oglimmer/lunchy

View on GitHub
pom.xml

Summary

Maintainability
Test Coverage
<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>