Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
457 lines (404 sloc) 18.7 KB
<?xml version="1.0" encoding="UTF-8"?>
<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>com.expercise.coding</groupId>
<artifactId>coding-expercise</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
<name>coding-expercise</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<less.plugin.version>1.7.0.1.1</less.plugin.version>
<yuicompressor.plugin.version>1.0.0</yuicompressor.plugin.version>
<property.helper.plugin.version>2.0</property.helper.plugin.version>
<properties.plugin.version>1.0-alpha-2</properties.plugin.version>
<gmavenplus.plugin.version>1.2</gmavenplus.plugin.version>
<powermock.version>1.6.6</powermock.version>
<groovy.version>2.4.12</groovy.version>
<spock.version>1.1-groovy-2.4</spock.version>
<cglib.version>3.2.5</cglib.version>
<objenesis.version>2.6</objenesis.version>
<h2.version>1.4.196</h2.version>
<slf4j.version>1.7.25</slf4j.version>
<thymeleaf-extras-springsecurity4.version>2.1.3.RELEASE</thymeleaf-extras-springsecurity4.version>
<sendgrid.javaapi.version>2.2.2</sendgrid.javaapi.version>
<apache.commons.io.version>2.5</apache.commons.io.version>
<apache.commons.lang.version>3.6</apache.commons.lang.version>
<apache.commons.collections.version>4.0</apache.commons.collections.version>
<apache.commons.text.version>1.1</apache.commons.text.version>
<postgresql.version>42.1.4</postgresql.version>
<spring-session.version>1.3.1.RELEASE</spring-session.version>
<embedded-redis.version>0.6</embedded-redis.version>
<elasticbeanstalk.artifact.name>elasticbeanstalk-artifact</elasticbeanstalk.artifact.name>
</properties>
<dependencies>
<!-- Test dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>${spock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>${cglib.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>${objenesis.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
<!-- Other dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity4</artifactId>
<version>${thymeleaf-extras-springsecurity4.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>${spring-session.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mobile</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-social-twitter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-security</artifactId>
</dependency>
<!-- Embedded Redis -->
<dependency>
<groupId>com.github.kstyrc</groupId>
<artifactId>embedded-redis</artifactId>
<version>${embedded-redis.version}</version>
</dependency>
<!-- Apache Commons -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${apache.commons.io.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${apache.commons.lang.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${apache.commons.text.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${apache.commons.collections.version}</version>
</dependency>
<!-- Logging (TODO: configure logging) -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- SendGrid Java API -->
<dependency>
<groupId>com.sendgrid</groupId>
<artifactId>sendgrid-java</artifactId>
<version>${sendgrid.javaapi.version}</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
</dependencies>
<build>
<finalName>coding-expercise</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- Surefire plugin with configuration for Spock -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>%regex[.*[Test|Spec].class]</include>
</includes>
</configuration>
</plugin>
<!-- GMavenPlus plugin for spock running via maven -->
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>${gmavenplus.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Property Helper Plugin -->
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>property-helper-maven-plugin</artifactId>
<version>${property.helper.plugin.version}</version>
<executions>
<execution>
<id>standard</id>
<goals>
<goal>get</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<persist>true</persist>
<dates>
<date>
<id>build.id</id>
<export>true</export>
<propertyFile>${project.build.directory}/classes/build.properties</propertyFile>
<propertyName>build.id</propertyName>
<onMissingFile>create</onMissingFile>
<onMissingProperty>create</onMissingProperty>
</date>
</dates>
</configuration>
</execution>
</executions>
</plugin>
<!-- Properties Plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>${properties.plugin.version}</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${project.build.directory}/classes/build.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
<!-- LESS Plugin -->
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>${less.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
<phase>generate-resources</phase>
</execution>
</executions>
<configuration>
<sourceDirectory>src/main/resources/public/style</sourceDirectory>
<outputDirectory>
src/main/resources/public/style
</outputDirectory>
<compress>true</compress>
<force>true</force>
<includes>
<include>expercise.less</include>
</includes>
<outputFileFormat>expercise.min.css</outputFileFormat>
</configuration>
</plugin>
<!-- YUI Compressor -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>${yuicompressor.plugin.version}</version>
<executions>
<execution>
<id>compress css files</id>
<goals>
<goal>aggregate-css</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<sourceDirectory>src/main/resources/public/style</sourceDirectory>
<includes>
<include>/bootstrap.min.css</include>
<include>/bootstrap-virtual-assistant.css</include>
<include>/bootstrap-tagsinput.css</include>
<include>/font-awesome.min.css</include>
<include>/hopscotch.min.css</include>
<include>/codemirror.css</include>
<include>/ambiance.css</include>
<include>/show-hint.css</include>
<include>/expercise.min.css</include>
</includes>
<output>
${project.build.directory}/classes/public/style/compressed-${build.id}.css
</output>
</configuration>
</execution>
<execution>
<id>compress javascript files</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<sourceDirectory>src/main/resources/public/js</sourceDirectory>
<includes>
<include>/lib/jquery.min.js</include>
<include>/lib/jquery-ui.min.js</include>
<include>/lib/jquery.cookie.js</include>
<include>/lib/jquery.fullscreen.min.js</include>
<include>/lib/jquery.hotkeys.js</include>
<include>/lib/hopscotch.min.js</include>
<include>/bootstrap/bootstrap.min.js</include>
<include>/bootstrap/bootbox.min.js</include>
<include>/bootstrap/bootstrap-virtual-assistant.js</include>
<include>/bootstrap/bootstrap-tagsinput.min.js</include>
<include>/codemirror/codemirror.js</include>
<include>/codemirror/vim.js</include>
<include>/codemirror/mode/javascript.js</include>
<include>/codemirror/mode/python.js</include>
<include>/codemirror/mode/clike.js</include>
<include>/codemirror/show-hint.js</include>
<include>/codemirror/javascript-hint.js</include>
<include>/codemirror/anyword-hint.js</include>
<include>/expercise.js</include>
<include>/utils.js</include>
<include>/header.js</include>
<include>/profile.js</include>
<include>/challenge.js</include>
<include>/tagListing.js</include>
<include>/locale.js</include>
<include>/codeEditor.js</include>
<include>/challengeManagement.js</include>
<include>/forgottenPassword.js</include>
<include>/home.js</include>
<include>/bootstrapper.js</include>
</includes>
<output>
${project.build.directory}/classes/public/js/compressed-${build.id}.js
</output>
</configuration>
</execution>
</executions>
</plugin>
<!-- ElasticBeanstalk artifact creation... -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>prepare</id>
<phase>package</phase>
<configuration>
<tasks>
<mkdir dir="${project.build.directory}/${elasticbeanstalk.artifact.name}/"/>
<copy todir="${project.build.directory}/${elasticbeanstalk.artifact.name}/"
overwrite="false">
<fileset dir="${project.build.directory}/"
includes="${project.build.finalName}.jar"/>
<fileset dir="${project.basedir}/.elasticbeanstalk/" includes=".ebextensions/**"/>
<fileset dir="${project.basedir}/.elasticbeanstalk/" includes="Procfile"/>
</copy>
<zip compress="true"
destfile="${project.build.directory}/${elasticbeanstalk.artifact.name}.zip"
basedir="${project.build.directory}/${elasticbeanstalk.artifact.name}/"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>