mirror of
https://github.com/apache/impala.git
synced 2025-12-31 15:00:10 -05:00
This change adds support for authorizing based on policy metadata read from the Sentry Service. Authorization is role based and roles are granted to user groups. Each role can have zero or more privileges associated with it, granting fine grained access to specific catalog objects at server, URI, database, or table scope. This patch only adds support to authorize against metadata read from the Sentry Policy Service, it does not add support for GRANT/REVOKE statements in Impala. The authorization metadata is read by the catalog server from the Sentry Service and propagated to all nodes in the cluster in the "catalog-update" statestore topic. To enable the Catalog Server to read policy metadata, the --sentry_config must be set to a valid sentry-site.xml config file. On the impalad side, we continue to support authorization based on a file-based provider. To enable file based authorization set the --authorization_policy_file to a non-empty value. If --authorization_policy_file is not set, authorization will be done based on cached policy metadata received from the Catalog Server (via the statestore). TODO: There are still some issues with the Sentry Service that require disabling some of the authorization tests and adding some workarounds. I have added comments in the code where these workarounds are needed. Change-Id: I3765748d2cdbe00f59eefa3c971558efede38eb1 Reviewed-on: http://gerrit.ent.cloudera.com:8080/2552 Reviewed-by: Lenni Kuff <lskuff@cloudera.com> Tested-by: Lenni Kuff <lskuff@cloudera.com>
630 lines
20 KiB
XML
630 lines
20 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
Copyright 2012 Cloudera Inc.
|
|
|
|
Licensed 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/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>com.cloudera.impala</groupId>
|
|
<artifactId>impala-frontend</artifactId>
|
|
<version>0.1-SNAPSHOT</version>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Cloudera Impala Query Engine Frontend</name>
|
|
|
|
<properties>
|
|
<test.hive.testdata>${project.basedir}/../testdata/target/AllTypes.txt</test.hive.testdata>
|
|
<backend.library.path>${env.IMPALA_HOME}/be/build/debug/service:${env.IMPALA_HOME}/be/build/release/service</backend.library.path>
|
|
<beeswax_port>21000</beeswax_port>
|
|
<impalad>localhost</impalad>
|
|
<testExecutionMode>reduced</testExecutionMode>
|
|
<hadoop.version>${env.IMPALA_HADOOP_VERSION}</hadoop.version>
|
|
<hive.version>${env.IMPALA_HIVE_VERSION}</hive.version>
|
|
<sentry.version>${env.IMPALA_SENTRY_VERSION}</sentry.version>
|
|
<hbase.version>${env.IMPALA_HBASE_VERSION}</hbase.version>
|
|
<parquet.version>${env.IMPALA_PARQUET_VERSION}</parquet.version>
|
|
<impala.extdatasrc.api.version>1.0-SNAPSHOT</impala.extdatasrc.api.version>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.cloudera.impala</groupId>
|
|
<artifactId>impala-data-source-api</artifactId>
|
|
<version>${impala.extdatasrc.api.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-auth</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-mapreduce-client-core</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-yarn-api</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-yarn-server-resourcemanager</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-core-common</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-core-model-db</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-provider-common</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-provider-file</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-provider-cache</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-policy-common</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-policy-db</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.sentry</groupId>
|
|
<artifactId>sentry-binding-hive</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.twitter</groupId>
|
|
<artifactId>parquet-hadoop-bundle</artifactId>
|
|
<version>${parquet.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-client</artifactId>
|
|
<version>${hbase.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-common</artifactId>
|
|
<version>${hbase.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-protocol</artifactId>
|
|
<version>${hbase.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.cloudera.htrace</groupId>
|
|
<artifactId>htrace-core</artifactId>
|
|
<version>2.00</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.shiro</groupId>
|
|
<artifactId>shiro-core</artifactId>
|
|
<version>1.2.1</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-lang</groupId>
|
|
<artifactId>commons-lang</artifactId>
|
|
<version>2.6</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>net.sf.squirrel-sql.thirdparty-non-maven</groupId>
|
|
<artifactId>java-cup</artifactId>
|
|
<version>0.11a</version>
|
|
</dependency>
|
|
|
|
<!-- Moved above Hive, because Hive bundles its own Thrift version
|
|
which supercedes this one if it comes first in the dependency
|
|
tree -->
|
|
<dependency>
|
|
<groupId>org.apache.thrift</groupId>
|
|
<artifactId>libthrift</artifactId>
|
|
<version>${env.IMPALA_THRIFT_VERSION}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.thrift</groupId>
|
|
<artifactId>libfb303</artifactId>
|
|
<version>${env.IMPALA_THRIFT_VERSION}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.derby</groupId>
|
|
<artifactId>derby</artifactId>
|
|
<version>10.4.2.0</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-hbase-handler</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-service</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-jdbc</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-metastore</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-common</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-serde</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-shims</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-exec</artifactId>
|
|
<version>${hive.version}</version>
|
|
</dependency>
|
|
|
|
<!-- This driver supports PostgreSQL 7.2 and newer -->
|
|
<dependency>
|
|
<groupId>postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<version>9.0-801.jdbc4</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-dbcp</groupId>
|
|
<artifactId>commons-dbcp</artifactId>
|
|
<version>1.4</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.jdo</groupId>
|
|
<artifactId>jdo-api</artifactId>
|
|
<version>3.0.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.antlr</groupId>
|
|
<artifactId>antlr-runtime</artifactId>
|
|
<version>3.3</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-cli</groupId>
|
|
<artifactId>commons-cli</artifactId>
|
|
<version>1.2</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>1.7.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
<version>1.7.5</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>11.0.2</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.8.2</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<reporting>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>findbugs-maven-plugin</artifactId>
|
|
<version>2.5.2</version>
|
|
</plugin>
|
|
</plugins>
|
|
</reporting>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>2.3.2</version>
|
|
<configuration>
|
|
<source>1.6</source>
|
|
<target>1.6</target>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Build fe/tests/ to jar -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>net.sourceforge.czt</groupId>
|
|
<artifactId>maven-cup-plugin</artifactId>
|
|
<version>1.6.4</version>
|
|
<executions>
|
|
<execution>
|
|
<id>cup</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<extension>y</extension>
|
|
<parserOutput>SqlParser</parserOutput>
|
|
<symbolOutput>SqlParserSymbols</symbolOutput>
|
|
<outputDirectory>${project.build.directory}/generated-sources/cup</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>de.jflex</groupId>
|
|
<artifactId>maven-jflex-plugin</artifactId>
|
|
<version>1.4.3</version>
|
|
<executions>
|
|
<execution>
|
|
<id>jflex</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<backup>false</backup>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- PDH - I don't think we need this right now, regardless there's a better way (ie not part of dev workflow) -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<descriptorRefs>
|
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
|
</descriptorRefs>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>make-assembly</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>2.3</version>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-dependencies</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<excludeTypes>pom</excludeTypes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.12</version>
|
|
<configuration>
|
|
<redirectTestOutputToFile>true</redirectTestOutputToFile>
|
|
<argLine>-Djava.library.path=${java.library.path}:${backend.library.path}</argLine>
|
|
<systemProperties>
|
|
<property>
|
|
<name>testExecutionMode</name>
|
|
<value>${testExecutionMode}</value>
|
|
</property>
|
|
<property>
|
|
<name>beeswax_port</name>
|
|
<value>${beeswax_port}</value>
|
|
<name>impalad</name>
|
|
<value>${impalad}</value>
|
|
<name>use_external_impalad</name>
|
|
<value>${use_external_impalad}</value>
|
|
</property>
|
|
</systemProperties>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>com.atlassian.maven.plugins</groupId>
|
|
<artifactId>maven-clover2-plugin</artifactId>
|
|
<version>3.0.2</version>
|
|
<configuration>
|
|
<generateHtml>true</generateHtml>
|
|
<generateXml>true</generateXml>
|
|
<excludes>
|
|
<exclude>**/jdbc/*.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>1.5</version>
|
|
<executions>
|
|
<!-- Tell maven about our generated files -->
|
|
<execution>
|
|
<id>add-source</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<!-- Make sure Eclipse knows where to find generated sources.
|
|
Note that the flex plugin appears to do this for you, but we have
|
|
to do this manually for the CUP and Thrift generated code
|
|
-->
|
|
<source>${project.basedir}/generated-sources/gen-java</source>
|
|
<source>${project.build.directory}/generated-sources/cup</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<systemProperties>
|
|
<systemProperty>
|
|
<key>java.library.path</key>
|
|
<value>${java.library.path}:${backend.library.path}</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<key>test.hive.testdata</key>
|
|
<value>${project.basedir}/../testdata/target/AllTypes.txt</value>
|
|
</systemProperty>
|
|
</systemProperties>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
|
|
<plugin>
|
|
<groupId>org.eclipse.m2e</groupId>
|
|
<artifactId>lifecycle-mapping</artifactId>
|
|
<version>1.0.0</version>
|
|
<configuration>
|
|
<lifecycleMappingMetadata>
|
|
<pluginExecutions>
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>net.sourceforge.czt</groupId>
|
|
<artifactId>maven-cup-plugin</artifactId>
|
|
<versionRange>[1.6.4,)</versionRange>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore></ignore>
|
|
</action>
|
|
</pluginExecution>
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<versionRange>[1.6,)</versionRange>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore></ignore>
|
|
</action>
|
|
</pluginExecution>
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<versionRange>[2.0,)</versionRange>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore></ignore>
|
|
</action>
|
|
</pluginExecution>
|
|
</pluginExecutions>
|
|
</lifecycleMappingMetadata>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>cdh.rcs.releases.repo</id>
|
|
<url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url>
|
|
<name>CDH Releases Repository</name>
|
|
<snapshots>
|
|
<enabled>true</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>cdh.releases.repo</id>
|
|
<url>https://repository.cloudera.com/content/repositories/releases</url>
|
|
<name>CDH Releases Repository</name>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>cdh.snapshots.repo</id>
|
|
<url>https://repository.cloudera.com/content/repositories/snapshots</url>
|
|
<name>CDH Snapshots Repository</name>
|
|
<snapshots>
|
|
<enabled>true</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>cloudera.thirdparty.repo</id>
|
|
<url>https://repository.cloudera.com/content/repositories/third-party</url>
|
|
<name>Cloudera Third Party Repository</name>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>cloudera.thirdparty.repo</id>
|
|
<url>https://repository.cloudera.com/content/repositories/third-party</url>
|
|
<name>Cloudera Third Party Repository</name>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</pluginRepository>
|
|
<pluginRepository>
|
|
<id>cloudera.snapshot.repo</id>
|
|
<url>https://repository.cloudera.com/content/repositories/snapshots</url>
|
|
<name>Cloudera Snapshot Repository</name>
|
|
<snapshots>
|
|
<enabled>true</enabled>
|
|
</snapshots>
|
|
</pluginRepository>
|
|
|
|
<pluginRepository>
|
|
<id>dtrott</id>
|
|
<url>http://maven.davidtrott.com/repository</url>
|
|
<releases>
|
|
<enabled>true</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>thrift-home-defined</id>
|
|
<activation>
|
|
<file>
|
|
<exists>${env.THRIFT_HOME}/bin/thrift</exists>
|
|
</file>
|
|
</activation>
|
|
<properties>
|
|
<thrift.executable>${env.THRIFT_HOME}/bin/thrift</thrift.executable>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|