<?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"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>apache-atlas</artifactId> <groupId>org.apache.atlas</groupId> <version>2.0.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <artifactId>atlas-distro</artifactId> <description>Apache Atlas Distribution</description> <name>Apache Atlas Distribution</name> <!-- by default configure hbase and solr with the distribution --> <properties> <graph.storage.backend>hbase</graph.storage.backend> <graph.storage.properties>#Hbase #For standalone mode , specify localhost #for distributed mode, specify zookeeper quorum here atlas.graph.storage.hostname= atlas.graph.storage.hbase.regions-per-server=1 atlas.graph.storage.lock.wait-time=10000 #In order to use Cassandra as a backend, comment out the hbase specific properties above, and uncomment the #the following properties #atlas.graph.storage.clustername= #atlas.graph.storage.port= </graph.storage.properties> <graph.index.backend>solr</graph.index.backend> <graph.index.properties>#Solr #Solr cloud mode properties atlas.graph.index.search.solr.mode=cloud atlas.graph.index.search.solr.zookeeper-url= atlas.graph.index.search.solr.zookeeper-connect-timeout=60000 atlas.graph.index.search.solr.zookeeper-session-timeout=60000 atlas.graph.index.search.solr.wait-searcher=true #Solr http mode properties #atlas.graph.index.search.solr.mode=http #atlas.graph.index.search.solr.http-urls=http://localhost:8983/solr # ElasticSearch support (Tech Preview) # Comment out above solr configuration, and uncomment the following two lines. Additionally, make sure the # hostname field is set to a comma delimited set of elasticsearch master nodes, or an ELB that fronts the masters. # # Elasticsearch does not provide authentication out of the box, but does provide an option with the X-Pack product # https://www.elastic.co/products/x-pack/security # # Alternatively, the JanusGraph documentation provides some tips on how to secure Elasticsearch without additional # plugins: http://docs.janusgraph.org/latest/elasticsearch.html #atlas.graph.index.hostname=localhost #atlas.graph.index.search.elasticsearch.client-only=true </graph.index.properties> <hbase.embedded>false</hbase.embedded> <solr.embedded>false</solr.embedded> <cassandra.embedded>false</cassandra.embedded> <elasticsearch.managed>false</elasticsearch.managed> <entity.repository.properties>atlas.EntityAuditRepository.impl=org.apache.atlas.repository.audit.HBaseBasedAuditRepository</entity.repository.properties> </properties> <profiles> <profile> <id>Windows</id> <activation> <os> <family>windows</family> </os> </activation> <properties> <python.path.l> ${project.basedir}\src\bin;${project.basedir}\src\test\python\scripts;${project.basedir}\src\test\mock </python.path.l> </properties> </profile> <profile> <id>Linux</id> <activation> <os> <family>!windows</family> </os> </activation> <properties> <python.path.l> ${project.basedir}/src/bin:${project.basedir}/src/test/mock:${project.basedir}/src/test/python/scripts </python.path.l> </properties> </profile> <profile> <id>dist</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <goals> <goal>single</goal> </goals> <phase>package</phase> <configuration> <skipAssembly>false</skipAssembly> <descriptors> <descriptor>src/main/assemblies/atlas-hbase-hook-package.xml</descriptor> <descriptor>src/main/assemblies/atlas-hive-hook-package.xml</descriptor> <descriptor>src/main/assemblies/atlas-falcon-hook-package.xml</descriptor> <descriptor>src/main/assemblies/atlas-sqoop-hook-package.xml</descriptor> <descriptor>src/main/assemblies/atlas-storm-hook-package.xml</descriptor> <descriptor>src/main/assemblies/atlas-kafka-hook-package.xml</descriptor> <descriptor>src/main/assemblies/atlas-server-package.xml</descriptor> <descriptor>src/main/assemblies/standalone-package.xml</descriptor> <descriptor>src/main/assemblies/src-package.xml</descriptor> <descriptor>src/main/assemblies/migration-exporter.xml</descriptor> </descriptors> <finalName>apache-atlas-${project.version}</finalName> <tarLongFileMode>gnu</tarLongFileMode> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile to configure berkeley and elasticsearch with the distribution --> <profile> <id>berkeley-elasticsearch</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <graph.storage.backend>berkeleyje</graph.storage.backend> <graph.storage.properties>#Berkeley atlas.graph.storage.directory=${sys:atlas.home}/data/berkeley atlas.graph.storage.lock.clean-expired=true atlas.graph.storage.lock.expiry-time=500 atlas.graph.storage.lock.wait-time=300 </graph.storage.properties> <graph.index.backend>elasticsearch</graph.index.backend> <graph.index.properties>#ElasticSearch atlas.graph.index.hostname=localhost atlas.graph.index.search.elasticsearch.client-only=true </graph.index.properties> <entity.repository.properties>atlas.EntityAuditRepository.impl=org.apache.atlas.repository.audit.NoopEntityAuditRepository</entity.repository.properties> <elasticsearch.managed>true</elasticsearch.managed> <cassandra.embedded>false</cassandra.embedded> <elasticsearch.dir>${project.build.directory}/elasticsearch</elasticsearch.dir> <elasticsearch.tar>https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${elasticsearch.version}.tar.gz</elasticsearch.tar> <elasticsearch.folder>elasticsearch-${elasticsearch.version}</elasticsearch.folder> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <executions> <!-- package elasticsearch --> <execution> <id>elasticsearch</id> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="Download Elasticsearch"> <mkdir dir="${elasticsearch.dir}" /> <mkdir dir="${project.basedir}/elasticsearch" /> <get src="${elasticsearch.tar}" dest="${project.basedir}/elasticsearch/${elasticsearch.folder}.tar.gz" usetimestamp="true" verbose="true" skipexisting="true" /> <untar src="${project.basedir}/elasticsearch/${elasticsearch.folder}.tar.gz" dest="${project.build.directory}/elasticsearch.temp" compression="gzip" /> <copy todir="${elasticsearch.dir}"> <fileset dir="${project.build.directory}/elasticsearch.temp/${elasticsearch.folder}"> <include name="**/*" /> </fileset> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile to configure external hbase and solr with the distribution --> <profile> <id>external-hbase-solr</id> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <!-- profile to package and configure embedded hbase and solr with the distribution --> <profile> <id>embedded-hbase-solr</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <graph.storage.properties>#Hbase #For standalone mode , specify localhost #for distributed mode, specify zookeeper quorum here atlas.graph.storage.hostname=localhost atlas.graph.storage.hbase.regions-per-server=1 atlas.graph.storage.lock.wait-time=10000 </graph.storage.properties> <graph.index.properties>#Solr #Solr cloud mode properties atlas.graph.index.search.solr.mode=cloud atlas.graph.index.search.solr.zookeeper-url=localhost:2181 atlas.graph.index.search.solr.zookeeper-connect-timeout=60000 atlas.graph.index.search.solr.zookeeper-session-timeout=60000 atlas.graph.index.search.solr.wait-searcher=true #Solr http mode properties #atlas.graph.index.search.solr.mode=http #atlas.graph.index.search.solr.http-urls=http://localhost:8983/solr </graph.index.properties> <cassandra.embedded>false</cassandra.embedded> <hbase.embedded>true</hbase.embedded> <solr.embedded>true</solr.embedded> <hbase.dir>${project.build.directory}/hbase</hbase.dir> <hbase.tar>http://archive.apache.org/dist/hbase/${hbase.version}/hbase-${hbase.version}-bin.tar.gz</hbase.tar> <hbase.folder>hbase-${hbase.version}</hbase.folder> <solr.dir>${project.build.directory}/solr</solr.dir> <solr.tar>http://archive.apache.org/dist/lucene/solr/${solr.version}/solr-${solr.version}.tgz</solr.tar> <solr.folder>solr-${solr.version}</solr.folder> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <executions> <!-- package hbase --> <execution> <id>hbase</id> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="Download HBase"> <mkdir dir="${hbase.dir}" /> <mkdir dir="${project.basedir}/hbase" /> <get src="${hbase.tar}" dest="${project.basedir}/hbase/${hbase.folder}.tar.gz" usetimestamp="true" verbose="true" skipexisting="true" /> <untar src="${project.basedir}/hbase/${hbase.folder}.tar.gz" dest="${project.build.directory}/hbase.temp" compression="gzip" /> <copy todir="${hbase.dir}"> <fileset dir="${project.build.directory}/hbase.temp/${hbase.folder}"> <include name="**/*" /> </fileset> </copy> </target> </configuration> </execution> <!-- package solr --> <execution> <id>solr</id> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="Download SOLR"> <mkdir dir="${solr.dir}" /> <mkdir dir="${project.basedir}/solr" /> <get src="${solr.tar}" dest="${project.basedir}/solr/${solr.folder}.tgz" usetimestamp="true" verbose="true" skipexisting="true" /> <untar src="${project.basedir}/solr/${solr.folder}.tgz" dest="${project.build.directory}/solr.temp" compression="gzip" /> <copy todir="${solr.dir}"> <fileset dir="${project.build.directory}/solr.temp/${solr.folder}"> <include name="**/*" /> </fileset> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- profile to package and configure embedded cassandra and solr with the distribution --> <profile> <id>embedded-cassandra-solr</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <graph.storage.backend>embeddedcassandra</graph.storage.backend> <entity.repository.properties>atlas.EntityAuditRepository.impl=org.apache.atlas.repository.audit.CassandraBasedAuditRepository</entity.repository.properties> <graph.storage.properties>#Cassandra atlas.graph.storage.conf-file=${sys:atlas.home}/conf/cassandra.yml </graph.storage.properties> <graph.index.properties>#Solr #Solr cloud mode properties atlas.graph.index.search.solr.mode=cloud atlas.graph.index.search.solr.zookeeper-url=localhost:2181 atlas.graph.index.search.solr.zookeeper-connect-timeout=60000 atlas.graph.index.search.solr.zookeeper-session-timeout=60000 atlas.graph.index.search.solr.wait-searcher=true #Solr http mode properties #atlas.graph.index.search.solr.mode=http #atlas.graph.index.search.solr.http-urls=http://localhost:8983/solr </graph.index.properties> <cassandra.embedded>true</cassandra.embedded> <hbase.embedded>false</hbase.embedded> <solr.embedded>true</solr.embedded> <solr.dir>${project.build.directory}/solr</solr.dir> <solr.tar>http://archive.apache.org/dist/lucene/solr/${solr.version}/solr-${solr.version}.tgz</solr.tar> <solr.folder>solr-${solr.version}</solr.folder> <zk.dir>${project.build.directory}/zk</zk.dir> <zk.tar>http://archive.apache.org/dist/zookeeper/zookeeper-${zookeeper.version}/zookeeper-${zookeeper.version}.tar.gz</zk.tar> <zk.folder>zookeeper-${zookeeper.version}</zk.folder> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <executions> <!-- package solr --> <execution> <id>solr</id> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="Download SOLR"> <mkdir dir="${solr.dir}" /> <mkdir dir="${project.basedir}/solr" /> <get src="${solr.tar}" dest="${project.basedir}/solr/${solr.folder}.tgz" usetimestamp="true" verbose="true" skipexisting="true" /> <untar src="${project.basedir}/solr/${solr.folder}.tgz" dest="${project.build.directory}/solr.temp" compression="gzip" /> <copy todir="${solr.dir}"> <fileset dir="${project.build.directory}/solr.temp/${solr.folder}"> <include name="**/*" /> </fileset> </copy> </target> </configuration> </execution> <!-- package zookeeper --> <execution> <id>zk</id> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="Download zookeeper"> <mkdir dir="${zk.dir}" /> <mkdir dir="${project.basedir}/zk" /> <get src="${zk.tar}" dest="${project.basedir}/zk/${zk.folder}.tgz" usetimestamp="true" verbose="true" skipexisting="true" /> <untar src="${project.basedir}/zk/${zk.folder}.tgz" dest="${project.build.directory}/zk.temp" compression="gzip" /> <copy todir="${zk.dir}"> <fileset dir="${project.build.directory}/zk.temp/${zk.folder}"> <include name="**/*" /> </fileset> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <build> <outputDirectory>target</outputDirectory> <resources> <resource> <directory>src/bin</directory> <filtering>true</filtering> <includes> <include>**/*.py</include> </includes> <targetPath>bin</targetPath> </resource> <resource> <directory>src/conf</directory> <filtering>true</filtering> <targetPath>conf</targetPath> </resource> </resources> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <inherited>false</inherited> <executions> <execution> <configuration> <skip>${skipTests}</skip> <executable>python</executable> <workingDirectory>src/test/python</workingDirectory> <arguments> <argument>unitTests.py</argument> </arguments> <environmentVariables> <PYTHONPATH>${python.path.l}</PYTHONPATH> </environmentVariables> </configuration> <id>python-test</id> <phase>test</phase> <goals> <goal>exec</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.7</version> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> <!--Add a dependency here to ensure this module is the final one built--> <dependencies> <dependency> <groupId>org.apache.atlas</groupId> <artifactId>storm-bridge</artifactId> </dependency> </dependencies> </project>