summaryrefslogtreecommitdiffstats
path: root/pom.xml
diff options
context:
space:
mode:
Diffstat (limited to 'pom.xml')
-rw-r--r--pom.xml452
1 files changed, 452 insertions, 0 deletions
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..b0af409
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,452 @@
+<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>org.openecomp.sdc</groupId>
+ <artifactId>sdc-titan-cassandra</artifactId>
+ <version>1.0.0</version>
+
+
+ <name>Titan-Cassandra: Distributed Graph Database</name>
+ <url>http://thinkaurelius.github.com/titan/</url>
+ <properties>
+ <astyanax.version>3.8.0</astyanax.version>
+ <jamm.group>com.github.jbellis</jamm.group>
+ <jamm.version>0.3.0</jamm.version>
+ <test.extra.jvm.opts>-javaagent:${basedir}/target/jamm-${jamm.version}.jar</test.extra.jvm.opts>
+ <default.test.jvm.opts>-Xms1024m -Xmx2048m -ea -XX:+HeapDumpOnOutOfMemoryError ${test.extra.jvm.opts}</default.test.jvm.opts>
+ <jna.version>4.0.0</jna.version>
+ <test.excluded.groups>com.thinkaurelius.titan.testcategory.MemoryTests,com.thinkaurelius.titan.testcategory.PerformanceTests,com.thinkaurelius.titan.testcategory.BrittleTests</test.excluded.groups>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <compiler.source>1.8</compiler.source>
+ <compiler.target>1.8</compiler.target>
+
+ <sitePath>/content/sites/site/org/openecomp/sdc/sdc-titan-cassandra/${project.version}</sitePath>
+ <nexusServer>https://nexus.onap.org</nexusServer>
+ <nexus.release.repository>releases</nexus.release.repository>
+ <nexus.snapshot.repository>snapshots</nexus.snapshot.repository>
+ <nexus.id.release>ecomp-releases</nexus.id.release>
+ <nexus.id.snapshot>ecomp-snapshots</nexus.id.snapshot>
+
+ <!--tests-->
+ <test.skip.ordered>true</test.skip.ordered>
+ <test.skip.unordered>true</test.skip.unordered>
+ <test.skip.ssl>true</test.skip.ssl>
+ <test.skip.serial>true</test.skip.serial>
+
+ </properties>
+ <!-- Libraries -->
+
+ <dependencies>
+ <dependency>
+ <groupId>com.thinkaurelius.titan</groupId>
+ <artifactId>titan-core</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.thinkaurelius.titan</groupId>
+ <artifactId>titan-test</artifactId>
+ <version>1.0.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.codahale.metrics</groupId>
+ <artifactId>metrics-core</artifactId>
+ <version>3.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.carrotsearch</groupId>
+ <artifactId>junit-benchmarks</artifactId>
+ <version>0.7.0</version>
+ </dependency>
+ <!-- Logging backends.
+ Cassandra 2.1+ moved to Logback. Titan is logging-backend-agnostic,
+ but still uses Log4j in testing. The slf4j binding for logback is,
+ inconveniently, packed into the logback-classic artifact. This means
+ the binding can't easily be removed from the classpath without losing
+ logback-classic or inserting some hack to mess with the jar contents.
+ We can't lose logback-classic because StorageProxy contains hardcoded
+ references to some of its classes (it contains some methods to change
+ logback loglevels at runtime). Hence, to stick with Log4j, the
+ least-worst approach is to enforce a classpath ordering constraint: as
+ long as the slf4j-log4j12 binding appears on the classpath before
+ logback-classic, log4j will be used instead of logback. I don't have
+ any special love for log4j, but Titan should use a single logging
+ backend throughout all its tests. I don't want to maintain a mixture
+ of logback.xml and log4j.properties files scattered randomly through
+ the titan-* submodules. Maven populates the classpath elements for
+ tests in pom appearance order. That's why these dependencies are
+ explicitly declared below: to make slf4j-log4j12 preced logback-classic
+ on the test classpath. -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.7.5</version>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>1.1.2</version>
+ </dependency>
+ <!-- End logging backends. -->
+ <dependency>
+ <groupId>com.carrotsearch.randomizedtesting</groupId>
+ <artifactId>randomizedtesting-runner</artifactId>
+ <version>2.0.8</version>
+ </dependency>
+ <!--
+ JNA is not required to run Cassandra, but it improves
+ efficiency of certain of Cassandra's filesystem and memory
+ operations. DataStax describes JNA as "required for
+ production installations":
+
+ http://www.datastax.com/docs/1.2/install/install_jre
+ -->
+ <dependency>
+ <groupId>net.java.dev.jna</groupId>
+ <artifactId>jna</artifactId>
+ <version>${jna.version}</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cassandra</groupId>
+ <artifactId>cassandra-all</artifactId>
+ <version>2.1.9</version>
+ <!-- The version is controlled in <dependencyManagement> in the parent pom -->
+ </dependency>
+ <dependency>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ <version>1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>com.netflix.astyanax</groupId>
+ <artifactId>astyanax-core</artifactId>
+ <version>${astyanax.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.netflix.astyanax</groupId>
+ <artifactId>astyanax-thrift</artifactId>
+ <version>${astyanax.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.netflix.astyanax</groupId>
+ <artifactId>astyanax-cassandra</artifactId>
+ <version>${astyanax.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.netflix.astyanax</groupId>
+ <artifactId>astyanax-recipes</artifactId>
+ <version>${astyanax.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.xerial.snappy</groupId>
+ <artifactId>snappy-java</artifactId>
+ <version>1.0.5-M3</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+
+ <resources>
+ <resource>
+ <directory>${basedir}/src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>${basedir}/src/test/resources</directory>
+ </testResource>
+ </testResources>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ <executions>
+ <execution>
+ <id>filter-cassandra-bop-config</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/cassandra/conf/localhost-bop</outputDirectory>
+ <filters>
+ <filter>${basedir}/config/cassandra-filters/localhost-bop.properties</filter>
+ </filters>
+ <resources>
+ <resource>
+ <directory>${basedir}/config/cassandra</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>filter-cassandra-murmur-config</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/cassandra/conf/localhost-murmur</outputDirectory>
+ <filters>
+ <filter>${basedir}/config/cassandra-filters/localhost-murmur.properties</filter>
+ </filters>
+ <resources>
+ <resource>
+ <directory>${basedir}/config/cassandra</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>filter-cassandra-murmur-ssl-config</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/cassandra/conf/localhost-murmur-ssl</outputDirectory>
+ <filters>
+ <filter>${basedir}/config/cassandra-filters/localhost-murmur-ssl.properties</filter>
+ </filters>
+ <resources>
+ <resource>
+ <directory>${basedir}/config/cassandra</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <!-- Need this to avoid corrupting the test keystore with nonsensical macro replacements -->
+ <id>filter-cassandra-murmur-ssl-config-static</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/cassandra/conf/localhost-murmur-ssl</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${basedir}/config/static</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.15</version>
+ <executions>
+ <execution>
+ <!-- Run by "mvn test" -->
+ <id>default-test</id>
+ <phase>none</phase>
+ </execution>
+ <execution>
+ <!-- Run by "mvn org.apache.maven.plugins:maven-surefire-plugin:test"
+
+ Sonar does this when running JaCoCo and
+ provides no configuration option to
+ change its behavior. Define a safe
+ configuration for JaCoCo to use when run
+ by Sonar. This doesn't have to be fast,
+ since it's only used for dynamic
+ analysis, but it does have to cover all
+ the tests.
+ -->
+ <id>default-cli</id>
+ <phase>none</phase>
+ <configuration>
+ <includes>
+ <include>Nope.java</include>
+ </includes>
+ <exclude>
+ <exclude>**/*</exclude>
+ </exclude>
+ <parallel />
+ <reuseForks>false</reuseForks>
+ <threadCount>1</threadCount>
+ <perCoreThreadCount>false</perCoreThreadCount>
+ <runOrder>random</runOrder>
+ </configuration>
+ </execution>
+ <execution>
+ <id>bop-test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <phase>test</phase>
+ <configuration>
+ <argLine>${default.test.jvm.opts} -Dtest.cassandra.confdir=${project.build.directory}/cassandra/conf/localhost-bop -Dtest.cassandra.datadir=${project.build.directory}/cassandra/data/localhost-bop</argLine>
+ <excludedGroups>${test.excluded.groups},com.thinkaurelius.titan.testcategory.UnorderedKeyStoreTests,com.thinkaurelius.titan.testcategory.SerialTests,com.thinkaurelius.titan.testcategory.CassandraSSLTests</excludedGroups>
+ <groups />
+ <forkCount>1</forkCount>
+ <reuseForks>false</reuseForks>
+ <parallel>classes</parallel>
+ <perCoreThreadCount>true</perCoreThreadCount>
+ <threadCount>2</threadCount>
+ <runOrder>random</runOrder>
+ <reportNameSuffix>bop</reportNameSuffix>
+ <skip>${test.skip.ordered}</skip>
+ </configuration>
+ </execution>
+ <execution>
+ <id>murmur-test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <phase>test</phase>
+ <configuration>
+ <argLine>${default.test.jvm.opts} -Dtest.cassandra.confdir=${project.build.directory}/cassandra/conf/localhost-murmur -Dtest.cassandra.datadir=${project.build.directory}/cassandra/data/localhost-murmur</argLine>
+ <excludedGroups>${test.excluded.groups},com.thinkaurelius.titan.testcategory.OrderedKeyStoreTests,com.thinkaurelius.titan.testcategory.SerialTests,com.thinkaurelius.titan.testcategory.CassandraSSLTests</excludedGroups>
+ <groups />
+ <forkCount>1</forkCount>
+ <reuseForks>false</reuseForks>
+ <parallel>classes</parallel>
+ <perCoreThreadCount>true</perCoreThreadCount>
+ <threadCount>2</threadCount>
+ <runOrder>random</runOrder>
+ <reportNameSuffix>murmur</reportNameSuffix>
+ <skip>${test.skip.unordered}</skip>
+ </configuration>
+ </execution>
+ <execution>
+ <id>ssl-test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <phase>test</phase>
+ <configuration>
+ <argLine>${default.test.jvm.opts} -Dtest.cassandra.confdir=${project.build.directory}/cassandra/conf/localhost-murmur-ssl -Dtest.cassandra.datadir=${project.build.directory}/cassandra/data/localhost-murmur-ssl</argLine>
+ <excludedGroups />
+ <groups>com.thinkaurelius.titan.testcategory.CassandraSSLTests</groups>
+ <!-- The TP3 JUnit Suite/Runner ignores groups/@Category and I'm not sure why. Redundant excludes to keep TP3 tests from using non-SSL configs on SSL -->
+ <excludes>
+ <exclude>**/*ComputerTest.java</exclude>
+ <exclude>**/*StructureTest.java</exclude>
+ <exclude>**/*ProcessTest.java</exclude>
+ </excludes>
+ <forkCount>1</forkCount>
+ <reuseForks>false</reuseForks>
+ <parallel>classes</parallel>
+ <perCoreThreadCount>true</perCoreThreadCount>
+ <threadCount>1</threadCount>
+ <runOrder>random</runOrder>
+ <reportNameSuffix>ssl</reportNameSuffix>
+ <skip>${test.skip.ssl}</skip>
+ </configuration>
+ </execution>
+ <execution>
+ <id>serial-test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <phase>test</phase>
+ <configuration>
+ <argLine>${default.test.jvm.opts} -Dtest.cassandra.confdir=${project.build.directory}/cassandra/conf/localhost-murmur -Dtest.cassandra.datadir=${project.build.directory}/cassandra/data/localhost-murmur</argLine>
+ <excludedGroups />
+ <groups>com.thinkaurelius.titan.testcategory.SerialTests</groups>
+ <forkCount>1</forkCount>
+ <reuseForks>false</reuseForks>
+ <parallel>none</parallel>
+ <perCoreThreadCount>false</perCoreThreadCount>
+ <threadCount>1</threadCount>
+ <runOrder>alphabetical</runOrder>
+ <reportNameSuffix>serial</reportNameSuffix>
+ <skip>${test.skip.serial}</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <!-- Provide Java Memory Meter for Cassandra. Cassandra logs warnings if JAMM
+ is not available. Also, production Cassandra deployments will probably use JAMM,
+ so we might as well include it in our test configuration. -->
+ <execution>
+ <id>copy</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${jamm.group}</groupId>
+ <artifactId>jamm</artifactId>
+ <version>${jamm.version}</version>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.4</version>
+ <executions>
+ <execution>
+ <id>pack-test-jar</id>
+ <!-- prepare-package instead of package forces it to get signed -->
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- ================================================== -->
+ <!-- Set the JDK compiler version. -->
+ <!-- ================================================== -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.5.1</version>
+ <inherited>true</inherited>
+ <configuration>
+ <source>1.8</source>
+ <target>1.8</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>coverage</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+
+ <properties>
+ <test.extra.jvm.opts>${jacoco.opts} -javaagent:${basedir}/target/jamm-${jamm.version}.jar</test.extra.jvm.opts>
+ </properties>
+ </profile>
+ </profiles>
+ <distributionManagement>
+ <snapshotRepository>
+ <id>${nexus.id.snapshot}</id>
+ <name>repository-snapshots</name>
+ <url>${nexusServer}/content/repositories/${nexus.snapshot.repository}/</url>
+ </snapshotRepository>
+ <repository>
+ <id>${nexus.id.release}</id>
+ <name>repository-releases</name>
+ <url>${nexusServer}/content/repositories/${nexus.release.repository}/</url>
+ </repository>
+ <site>
+ <id>ecomp-site</id>
+ <url>dav:${nexusServer}${sitePath}</url>
+ </site>
+ </distributionManagement>
+</project>
+