| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <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"> |
| <parent> |
| <groupId>org.apache.streams</groupId> |
| <artifactId>streams-examples-local</artifactId> |
| <version>0.2-incubating-SNAPSHOT</version> |
| <relativePath>..</relativePath> |
| </parent> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <artifactId>mongo-elasticsearch-sync</artifactId> |
| |
| <properties> |
| <elasticsearch.version>1.1.0</elasticsearch.version> |
| <lucene.version>4.7.2</lucene.version> |
| </properties> |
| |
| <dependencies> |
| <!-- Test includes --> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-test-framework</artifactId> |
| <version>${lucene.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.lucene</groupId> |
| <artifactId>lucene-codecs</artifactId> |
| <version>${lucene.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.elasticsearch</groupId> |
| <artifactId>elasticsearch</artifactId> |
| <version>${elasticsearch.version}</version> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-all</artifactId> |
| <version>1.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.streams</groupId> |
| <artifactId>streams-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.typesafe</groupId> |
| <artifactId>config</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.streams</groupId> |
| <artifactId>streams-config</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.streams</groupId> |
| <artifactId>streams-runtime-local</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.streams</groupId> |
| <artifactId>streams-persist-elasticsearch</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.streams</groupId> |
| <artifactId>streams-persist-mongo</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.streams</groupId> |
| <artifactId>streams-pojo</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${logback.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| <version>${logback.version}</version> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <sourceDirectory>src/main/java</sourceDirectory> |
| <testSourceDirectory>src/test/java</testSourceDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| </resources> |
| <testResources> |
| <testResource> |
| <directory>src/test/resources</directory> |
| </testResource> |
| </testResources> |
| <plugins> |
| <!-- This binary runs with logback --> |
| <!-- Keep log4j out --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>1.3.1</version> |
| <executions> |
| <execution> |
| <id>enforce-banned-dependencies</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <exclude>org.slf4j:slf4j-log4j12</exclude> |
| <exclude>org.slf4j:slf4j-jcl</exclude> |
| <exclude>org.slf4j:slf4j-jdk14</exclude> |
| <exclude>org.log4j:log4j</exclude> |
| <exclude>commons-logging:commons-logging</exclude> |
| </excludes> |
| </bannedDependencies> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-clean-plugin</artifactId> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>data</directory> |
| <followSymlinks>false</followSymlinks> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.joelittlejohn.embedmongo</groupId> |
| <artifactId>embedmongo-maven-plugin</artifactId> |
| <version>0.1.12</version> |
| <executions> |
| <execution> |
| <id>start</id> |
| <goals> |
| <goal>start</goal> |
| </goals> |
| <configuration> |
| <port>37017</port> |
| <version>2.4.0</version> |
| <databaseDirectory>target/mongotest</databaseDirectory> |
| <logging>console</logging> |
| <skip>false</skip> |
| </configuration> |
| </execution> |
| <execution> |
| <id>stop</id> |
| <goals> |
| <goal>stop</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <finalName>${project.build.finalName}</finalName> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| <transformers> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> |
| <mainClass>org.apache.streams.example.elasticsearch.MongoElasticsearchSync</mainClass> |
| </transformer> |
| </transformers> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.jsonschema2pojo</groupId> |
| <artifactId>jsonschema2pojo-maven-plugin</artifactId> |
| <version>0.4.1</version> |
| <configuration> |
| <addCompileSourceRoot>true</addCompileSourceRoot> |
| <generateBuilders>true</generateBuilders> |
| <sourcePaths> |
| <sourcePath>src/main/jsonschema</sourcePath> |
| </sourcePaths> |
| <outputDirectory>target/generated-sources/jsonschema2pojo</outputDirectory> |
| <targetPackage>org.apache.streams.example.elasticsearch</targetPackage> |
| <useJodaDates>false</useJodaDates> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>target/generated-sources/jsonschema2pojo</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>2.4</version> |
| <executions> |
| <execution> |
| <id>resource-dependencies</id> |
| <phase>process-test-resources</phase> |
| <goals> |
| <goal>unpack-dependencies</goal> |
| </goals> |
| <configuration> |
| <includeArtifactIds>streams-pojo</includeArtifactIds> |
| <includes>**/*.json</includes> |
| <outputDirectory>${project.build.directory}/test-classes</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>2.12.4</version> |
| <executions> |
| <execution> |
| <id>integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>docker</id> |
| <build> |
| <plugins> |
| <plugin> |
| <!-- The Docker Maven plugin is used to create docker image with the fat jar --> |
| <groupId>org.jolokia</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>0.11.0</version> |
| <configuration> |
| <images> |
| |
| <image> |
| <alias>${project.artifactId}</alias> |
| <name>${project.artifactId}:${project.version}</name> |
| <build> |
| <from>dockerfile/java:oracle-java8</from> |
| <assembly> |
| <basedir>/</basedir> |
| <descriptorRef>artifact</descriptorRef> |
| </assembly> |
| <!-- Default command for the build image --> |
| </build> |
| |
| </image> |
| |
| </images> |
| </configuration> |
| |
| </plugin> |
| |
| </plugins> |
| </build> |
| <activation> |
| <activeByDefault/> |
| </activation> |
| </profile> |
| </profiles> |
| </project> |