janusgraph-dist
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.janusgraph</groupId> <artifactId>janusgraph-dist</artifactId> <version>1.2.0-20250509-104313.02c1bcb</version> </dependency>
<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> <parent> <groupId>org.janusgraph</groupId> <artifactId>janusgraph</artifactId> <version>1.2.0-20250509-104313.02c1bcb</version> <relativePath>../pom.xml</relativePath> </parent> <packaging>pom</packaging> <artifactId>janusgraph-dist</artifactId> <name>JanusGraph-Dist: Tar and Zip Archives</name> <url>https://janusgraph.org</url> <properties> <top.level.basedir>${project.basedir}/..</top.level.basedir> <!-- Zipfile/Tarfile assembly source paths --> <assembly.txtfile.dir>${top.level.basedir}</assembly.txtfile.dir> <assembly.cfilter.in.dir>${project.basedir}/src/assembly/cfilter</assembly.cfilter.in.dir> <assembly.cfilter.out.dir>${project.build.directory}/cfilter</assembly.cfilter.out.dir> <assembly.descriptor.dir>${project.basedir}/src/assembly/descriptor</assembly.descriptor.dir> <assembly.static.dir>${project.basedir}/src/assembly/static</assembly.static.dir> <assembly.resources.dir>${project.basedir}/src/assembly/resources</assembly.resources.dir> <assembly.es.dir>${project.build.directory}/elasticsearch-7.17.8</assembly.es.dir> <assembly.cassandra.dir>${project.build.directory}/apache-cassandra-${cassandra-dist.version}</assembly.cassandra.dir> <packname.standard>janusgraph-${project.version}</packname.standard> <packname.full>janusgraph-full-${project.version}</packname.full> <docker.baseimage>eclipse-temurin:11-jre</docker.baseimage> <docker.tag-suffix></docker.tag-suffix> <!-- Variables for integration testing on release-candidate archive files --> <test.expect.dir>${project.build.directory}/test-classes</test.expect.dir> <test.zipfile.path>${project.build.directory}/${packname.standard}.zip</test.zipfile.path> <test.zipfile-full.path>${project.build.directory}/${packname.full}.zip</test.zipfile-full.path> <build.full>package</build.full> <test.excluded.groups></test.excluded.groups> <skipDefaultDistroIT>${it.skip}</skipDefaultDistroIT> <doc.dir>${project.parent.basedir}/docs</doc.dir> <docker.build.skip>false</docker.build.skip> <cql-module>janusgraph-cql</cql-module> <cql-hadoop-module>cassandra-hadoop-util</cql-hadoop-module> </properties> <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>janusgraph-all</artifactId> <version>${project.version}</version> <exclusions> <exclusion> <artifactId>janusgraph-cql</artifactId> <groupId>${project.groupId}</groupId> </exclusion> <exclusion> <artifactId>cassandra-hadoop-util</artifactId> <groupId>${project.groupId}</groupId> </exclusion> </exclusions> </dependency> <!-- Either "janusgraph-cql" or "janusgraph-scylla" --> <dependency> <groupId>${project.groupId}</groupId> <artifactId>${cql-module}</artifactId> <version>${project.version}</version> </dependency> <!-- Either "cassandra-hadoop-util" or "scylla-hadoop-util" --> <dependency> <groupId>${project.groupId}</groupId> <artifactId>${cql-hadoop-module}</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> </dependency> <dependency> <groupId>org.apache.tinkerpop</groupId> <artifactId>gremlin-console</artifactId> </dependency> <dependency> <groupId>org.apache.tinkerpop</groupId> <artifactId>hadoop-gremlin</artifactId> </dependency> <dependency> <groupId>org.apache.tinkerpop</groupId> <artifactId>spark-gremlin</artifactId> </dependency> <dependency> <groupId>org.apache.tinkerpop</groupId> <artifactId>gremlin-server</artifactId> </dependency> <dependency> <groupId>org.apache.tinkerpop</groupId> <artifactId>gremlin-groovy</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>janusgraph-solr</artifactId> <version>${project.version}</version> <exclusions> <exclusion> <artifactId>solr-core</artifactId> <groupId>org.apache.solr</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.jbellis</groupId> <artifactId>jamm</artifactId> <version>${jamm.version}</version> </dependency> <!-- Test dependencies --> <dependency> <groupId>${project.groupId}</groupId> <artifactId>janusgraph-test</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>janusgraph-hbase</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>janusgraph-es</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>janusgraph-cql</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>cassandra</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>elasticsearch</artifactId> <scope>test</scope> </dependency> <!-- Logging backends. --> <!-- Enforce a classpath ordering constraint to ensure log4j is used for logging. --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <!-- End logging backends. --> </dependencies> <build> <plugins> <plugin> <groupId>com.googlecode.maven-download-plugin</groupId> <artifactId>download-maven-plugin</artifactId> <version>1.9.0</version> <executions> <execution> <id>get-elasticsearch</id> <phase>generate-test-resources</phase> <goals> <goal>wget</goal> </goals> <configuration> <!-- ElasticSearch Server 8 doesn't support Java 8 and Java 11. Thus, we use here the latest ElasticSearch Server which supports both Java 8 and Java 11 (which is 7.17.8 as for now). We should probably re-think dist tests and re-develop them using docker containers instead of relying on the JanusGraph running environment. --> <url>https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.8-linux-x86_64.tar.gz</url> <outputFileName>elasticsearch-7.17.8-linux-x86_64.tar.gz</outputFileName> <outputDirectory>${project.build.directory}/</outputDirectory> <unpack>true</unpack> <!-- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.8-linux-x86_64.tar.gz.sha512 --> <sha512>cd02b40e8b32e78f17bac12245326e10482214ab452b2e5d1745ddc7944e60a5b07c01c949c68625d78640bdd46806aeece4e8d620788133993055732d388443</sha512> <readTimeOut>1800000</readTimeOut> </configuration> </execution> <execution> <id>get-cassandra</id> <phase>generate-test-resources</phase> <goals> <goal>wget</goal> </goals> <configuration> <url>https://archive.apache.org/dist/cassandra/${cassandra-dist.version}/apache-cassandra-${cassandra-dist.version}-bin.tar.gz</url> <outputFileName>apache-cassandra-${cassandra-dist.version}-bin.tar.gz</outputFileName> <outputDirectory>${project.build.directory}/</outputDirectory> <unpack>true</unpack> <sha256>${cassandra-dist.version.sha256}</sha256> <readTimeOut>1800000</readTimeOut> </configuration> </execution> </executions> </plugin> <!-- Filter the files in src/release during the process-resources phase. Disable default resource goal bindings because we have no main or test resources. --> <plugin> <artifactId>maven-resources-plugin</artifactId> <inherited>false</inherited> <executions> <execution> <id>default-resources</id> <phase>none</phase> </execution> <execution> <id>default-testResources</id> <phase>none</phase> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <inherited>false</inherited> <executions> <execution> <id>generate-janusgraph-config-table</id> <phase>generate-resources</phase> <goals> <goal>java</goal> </goals> <configuration> <mainClass>org.janusgraph.util.system.ConfigurationPrinter</mainClass> <arguments> <argument>org.janusgraph.graphdb.configuration.GraphDatabaseConfiguration.ROOT_NS</argument> <argument>${doc.dir}/configs/janusgraph-cfg.md</argument> </arguments> </configuration> </execution> <execution> <id>run-cfilter</id> <phase>generate-resources</phase> <goals> <goal>exec</goal> </goals> <configuration> <executable>java</executable> <arguments> <!-- Classpath --> <argument>-classpath</argument> <classpath/> <!-- Main Classname --> <mainClass>org.janusgraph.util.system.ConfigurationFileFilter</mainClass> <!-- Input directory (processed recursively) --> <argument>${assembly.cfilter.in.dir}</argument> <!-- Output directory prefix --> <argument>${assembly.cfilter.out.dir}</argument> </arguments> </configuration> </execution> <execution> <id>generate-janusgraph-gremlin-imports</id> <phase>none</phase> </execution> </executions> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <phase>none</phase> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <phase>none</phase> </execution> </executions> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <executions> <execution> <id>default-deploy</id> <phase>none</phase> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>compile-tests</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>java-11</id> <properties> <packname.standard>janusgraph-java-11-${project.version}</packname.standard> <packname.full>janusgraph-java-11-full-${project.version}</packname.full> <docker.baseimage>eclipse-temurin:11-jre</docker.baseimage> <docker.tag-suffix>-java-11</docker.tag-suffix> </properties> </profile> <profile> <id>use-scylla</id> <properties> <cql-module>janusgraph-scylla</cql-module> <cql-hadoop-module>scylla-hadoop-util</cql-hadoop-module> </properties> </profile> <profile> <id>skip-docker</id> <properties> <docker.build.skip>true</docker.build.skip> <skipTests>true</skipTests> </properties> </profile> <profile> <id>janusgraph-release</id> <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>janusgraph-core</artifactId> <version>${project.version}</version> <classifier>javadoc</classifier> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>pack-test-jar</id> <phase>package</phase> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>compile-tests</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>filter-release-resources</id> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/release</outputDirectory> <useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <delimiter>$MAVEN{*}</delimiter> </delimiters> <resources> <resource> <directory>src/release</directory> <filtering>true</filtering> </resource> </resources> </configuration> </execution> <execution> <id>filter-expect-scripts</id> <phase>process-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <resource> <directory>${top.level.basedir}/janusgraph-dist/src/test/expect</directory> <filtering>true</filtering> </resource> </resources> <outputDirectory>${project.build.directory}/test-classes</outputDirectory> </configuration> </execution> <execution> <id>filter-test-resources</id> <phase>process-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <resource> <directory>${top.level.basedir}/janusgraph-dist/src/test/resources</directory> <filtering>true</filtering> </resource> </resources> <outputDirectory>${project.build.testOutputDirectory}</outputDirectory> </configuration> </execution> <execution> <id>copy-test-cfiles</id> <phase>process-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <resource> <directory>${assembly.cfilter.out.dir}</directory> <filtering>false</filtering> </resource> </resources> <outputDirectory>${project.build.directory}</outputDirectory> </configuration> </execution> <execution> <id>copy-compat-test-config</id> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/conf</outputDirectory> <resources> <resource> <directory>${project.parent.basedir}/src/assembly/static/conf</directory> <includes> <include>*.properties</include> </includes> <filtering>false</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <forkCount>1</forkCount> <reuseForks>false</reuseForks> <testClassesDirectory>${top.level.basedir}/janusgraph-dist/target/test-classes</testClassesDirectory> </configuration> <executions> <execution> <id>integration-test</id> <phase>integration-test</phase> <goals> <goal>integration-test</goal> </goals> <configuration> <skip>${skipDefaultDistroIT}</skip> <failIfNoTests>false</failIfNoTests> <excludedGroups>${test.excluded.groups}</excludedGroups> <excludes> <exclude>**/*CompatIT.java</exclude> </excludes> </configuration> </execution> <!-- Commented until the first 0.9/1.0 release <execution> <id>version-compat-integration-test</id> <phase>integration-test</phase> <goals> <goal>integration-test</goal> </goals> <configuration> <reportNameSuffix>compat</reportNameSuffix> <failIfNoTests>false</failIfNoTests> <skip>${skipCompatITs}</skip> <includes> <include>**/*CompatIT.java</include> </includes> </configuration> </execution> --> <execution> <id>verify</id> <phase>verify</phase> <goals> <goal>verify</goal> </goals> <configuration> <failIfNoTests>true</failIfNoTests> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>assemble-full-distribution-archive</id> <phase>${build.full}</phase> <goals> <goal>single</goal> </goals> <configuration> <!-- We set attached=true so that the gpg plugin will sign all of our assembly artifacts. --> <attach>true</attach> <!-- archive filenames are of the form ${finalName}-${<id /> from assembly descriptor}.${archive format extension} --> <finalName>${packname.full}</finalName> <appendAssemblyId>false</appendAssemblyId> <tarLongFileMode>gnu</tarLongFileMode> <descriptors> <descriptor>${assembly.descriptor.dir}/archive-full.xml</descriptor> </descriptors> <formats> <format>zip</format> </formats> </configuration> </execution> <execution> <id>assemble-distribution-archive</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <!-- We set attached=true so that the gpg plugin will sign all of our assembly artifacts. --> <attach>true</attach> <!-- archive filenames are of the form ${finalName}-${<id /> from assembly descriptor}.${archive format extension} --> <finalName>${packname.standard}</finalName> <appendAssemblyId>false</appendAssemblyId> <tarLongFileMode>gnu</tarLongFileMode> <descriptors> <descriptor>${assembly.descriptor.dir}/archive.xml</descriptor> </descriptors> <formats> <format>zip</format> </formats> </configuration> </execution> <execution> <id>unpack-janusgraph-core-javadocs</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <attach>false</attach> <finalName>javadocs</finalName> <appendAssemblyId>false</appendAssemblyId> <descriptors> <descriptor>${assembly.descriptor.dir}/javadocs.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>docker-build</id> <phase>package</phase> <goals> <goal>exec</goal> </goals> <configuration> <skip>${docker.build.skip}</skip> <executable>./docker/build-and-push-image.sh</executable> <workingDirectory>${project.basedir}</workingDirectory> <arguments> <argument>${project.version}</argument> <argument>${docker.baseimage}</argument> <argument>${packname.standard}</argument> <argument>no-push</argument> <argument>${docker.tag-suffix}</argument> </arguments> </configuration> </execution> <execution> <id>docker-test</id> <phase>integration-test</phase> <goals> <goal>exec</goal> </goals> <configuration> <skip>${skipTests}</skip> <executable>./docker/test-image.sh</executable> <workingDirectory>${project.basedir}</workingDirectory> <arguments> <argument>docker.io/janusgraph/janusgraph:${project.version}${docker.tag-suffix}</argument> </arguments> </configuration> </execution> <execution> <id>docker-deploy</id> <phase>deploy</phase> <goals> <goal>exec</goal> </goals> <configuration> <skip>${docker.build.skip}</skip> <executable>./docker/build-and-push-image.sh</executable> <workingDirectory>${project.basedir}</workingDirectory> <arguments> <argument>${project.version}</argument> <argument>${docker.baseimage}</argument> <argument>${packname.standard}</argument> <argument>push</argument> <argument>${docker.tag-suffix}</argument> </arguments> </configuration> </execution> </executions> </plugin> <!-- gpg must follow assembly. Both plugins run in the package phase, so only <plugin> ordering ensures that signing happens after assembly file generation. Hence this vacuous stanza down here. --> <plugin> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>