HIVE-17743: Add InterfaceAudience and InterfaceStability annotations for Thrift 
generated APIs (Sahil Takiar, reviewed by Aihua Xu)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b3043a37
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b3043a37
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b3043a37

Branch: refs/heads/master
Commit: b3043a37df7906f9cdbd61519a38cd94985f298b
Parents: 18fe39a
Author: Sahil Takiar <takiar.sa...@gmail.com>
Authored: Wed Oct 25 20:14:28 2017 -0700
Committer: Sahil Takiar <stak...@cloudera.com>
Committed: Wed Oct 25 20:15:53 2017 -0700

----------------------------------------------------------------------
 classification/pom.xml                          |   73 +
 common/pom.xml                                  |    5 +
 .../classification/InterfaceAudience.java       |   45 -
 .../classification/InterfaceStability.java      |   46 -
 pom.xml                                         |    1 +
 service-rpc/pom.xml                             |   51 +
 .../service/rpc/thrift/TArrayTypeEntry.java     |    2 +-
 .../hive/service/rpc/thrift/TBinaryColumn.java  |    2 +-
 .../hive/service/rpc/thrift/TBoolColumn.java    |    2 +-
 .../hive/service/rpc/thrift/TBoolValue.java     |    2 +-
 .../hive/service/rpc/thrift/TByteColumn.java    |    2 +-
 .../hive/service/rpc/thrift/TByteValue.java     |    2 +-
 .../hive/service/rpc/thrift/TCLIService.java    |  238 +--
 .../rpc/thrift/TCLIServiceConstants.java        |    2 +-
 .../rpc/thrift/TCancelDelegationTokenReq.java   |    2 +-
 .../rpc/thrift/TCancelDelegationTokenResp.java  |    2 +-
 .../service/rpc/thrift/TCancelOperationReq.java |    2 +-
 .../rpc/thrift/TCancelOperationResp.java        |    2 +-
 .../service/rpc/thrift/TCloseOperationReq.java  |    2 +-
 .../service/rpc/thrift/TCloseOperationResp.java |    2 +-
 .../service/rpc/thrift/TCloseSessionReq.java    |    2 +-
 .../service/rpc/thrift/TCloseSessionResp.java   |    2 +-
 .../apache/hive/service/rpc/thrift/TColumn.java |    2 +-
 .../hive/service/rpc/thrift/TColumnDesc.java    |    2 +-
 .../hive/service/rpc/thrift/TColumnValue.java   |    2 +-
 .../hive/service/rpc/thrift/TDoubleColumn.java  |    2 +-
 .../hive/service/rpc/thrift/TDoubleValue.java   |    2 +-
 .../rpc/thrift/TExecuteStatementReq.java        |    2 +-
 .../rpc/thrift/TExecuteStatementResp.java       |    2 +-
 .../service/rpc/thrift/TFetchResultsReq.java    |    2 +-
 .../service/rpc/thrift/TFetchResultsResp.java   |    2 +-
 .../service/rpc/thrift/TGetCatalogsReq.java     |    2 +-
 .../service/rpc/thrift/TGetCatalogsResp.java    |    2 +-
 .../hive/service/rpc/thrift/TGetColumnsReq.java |    2 +-
 .../service/rpc/thrift/TGetColumnsResp.java     |    2 +-
 .../rpc/thrift/TGetCrossReferenceReq.java       |    2 +-
 .../rpc/thrift/TGetCrossReferenceResp.java      |    2 +-
 .../rpc/thrift/TGetDelegationTokenReq.java      |    2 +-
 .../rpc/thrift/TGetDelegationTokenResp.java     |    2 +-
 .../service/rpc/thrift/TGetFunctionsReq.java    |    2 +-
 .../service/rpc/thrift/TGetFunctionsResp.java   |    2 +-
 .../hive/service/rpc/thrift/TGetInfoReq.java    |    2 +-
 .../hive/service/rpc/thrift/TGetInfoResp.java   |    2 +-
 .../hive/service/rpc/thrift/TGetInfoValue.java  |    2 +-
 .../rpc/thrift/TGetOperationStatusReq.java      |    2 +-
 .../rpc/thrift/TGetOperationStatusResp.java     |    2 +-
 .../service/rpc/thrift/TGetPrimaryKeysReq.java  |    2 +-
 .../service/rpc/thrift/TGetPrimaryKeysResp.java |    2 +-
 .../hive/service/rpc/thrift/TGetQueryIdReq.java |    2 +-
 .../service/rpc/thrift/TGetQueryIdResp.java     |    2 +-
 .../rpc/thrift/TGetResultSetMetadataReq.java    |    2 +-
 .../rpc/thrift/TGetResultSetMetadataResp.java   |    2 +-
 .../hive/service/rpc/thrift/TGetSchemasReq.java |    2 +-
 .../service/rpc/thrift/TGetSchemasResp.java     |    2 +-
 .../service/rpc/thrift/TGetTableTypesReq.java   |    2 +-
 .../service/rpc/thrift/TGetTableTypesResp.java  |    2 +-
 .../hive/service/rpc/thrift/TGetTablesReq.java  |    2 +-
 .../hive/service/rpc/thrift/TGetTablesResp.java |    2 +-
 .../service/rpc/thrift/TGetTypeInfoReq.java     |    2 +-
 .../service/rpc/thrift/TGetTypeInfoResp.java    |    2 +-
 .../service/rpc/thrift/THandleIdentifier.java   |    2 +-
 .../hive/service/rpc/thrift/TI16Column.java     |    2 +-
 .../hive/service/rpc/thrift/TI16Value.java      |    2 +-
 .../hive/service/rpc/thrift/TI32Column.java     |    2 +-
 .../hive/service/rpc/thrift/TI32Value.java      |    2 +-
 .../hive/service/rpc/thrift/TI64Column.java     |    2 +-
 .../hive/service/rpc/thrift/TI64Value.java      |    2 +-
 .../hive/service/rpc/thrift/TMapTypeEntry.java  |    2 +-
 .../service/rpc/thrift/TOpenSessionReq.java     |    2 +-
 .../service/rpc/thrift/TOpenSessionResp.java    |    2 +-
 .../service/rpc/thrift/TOperationHandle.java    |    2 +-
 .../service/rpc/thrift/TPrimitiveTypeEntry.java |    2 +-
 .../service/rpc/thrift/TProgressUpdateResp.java |    2 +-
 .../rpc/thrift/TRenewDelegationTokenReq.java    |    2 +-
 .../rpc/thrift/TRenewDelegationTokenResp.java   |    2 +-
 .../apache/hive/service/rpc/thrift/TRow.java    |    2 +-
 .../apache/hive/service/rpc/thrift/TRowSet.java |    2 +-
 .../hive/service/rpc/thrift/TSessionHandle.java |    2 +-
 .../apache/hive/service/rpc/thrift/TStatus.java |    2 +-
 .../hive/service/rpc/thrift/TStringColumn.java  |    2 +-
 .../hive/service/rpc/thrift/TStringValue.java   |    2 +-
 .../service/rpc/thrift/TStructTypeEntry.java    |    2 +-
 .../hive/service/rpc/thrift/TTableSchema.java   |    2 +-
 .../hive/service/rpc/thrift/TTypeDesc.java      |    2 +-
 .../hive/service/rpc/thrift/TTypeEntry.java     |    2 +-
 .../service/rpc/thrift/TTypeQualifierValue.java |    2 +-
 .../service/rpc/thrift/TTypeQualifiers.java     |    2 +-
 .../service/rpc/thrift/TUnionTypeEntry.java     |    2 +-
 .../rpc/thrift/TUserDefinedTypeEntry.java       |    2 +-
 standalone-metastore/pom.xml                    |   54 +-
 .../hive/metastore/api/AbortTxnRequest.java     |    2 +-
 .../hive/metastore/api/AbortTxnsRequest.java    |    2 +-
 .../metastore/api/AddDynamicPartitions.java     |    2 +-
 .../metastore/api/AddForeignKeyRequest.java     |    2 +-
 .../api/AddNotNullConstraintRequest.java        |    2 +-
 .../metastore/api/AddPartitionsRequest.java     |    2 +-
 .../hive/metastore/api/AddPartitionsResult.java |    2 +-
 .../metastore/api/AddPrimaryKeyRequest.java     |    2 +-
 .../api/AddUniqueConstraintRequest.java         |    2 +-
 .../hadoop/hive/metastore/api/AggrStats.java    |    2 +-
 .../metastore/api/AlreadyExistsException.java   |    2 +-
 .../metastore/api/BinaryColumnStatsData.java    |    2 +-
 .../metastore/api/BooleanColumnStatsData.java   |    2 +-
 .../metastore/api/CacheFileMetadataRequest.java |    2 +-
 .../metastore/api/CacheFileMetadataResult.java  |    2 +-
 .../hive/metastore/api/CheckLockRequest.java    |    2 +-
 .../metastore/api/ClearFileMetadataRequest.java |    2 +-
 .../metastore/api/ClearFileMetadataResult.java  |    2 +-
 .../hive/metastore/api/ClientCapabilities.java  |    2 +-
 .../hive/metastore/api/CmRecycleRequest.java    |    2 +-
 .../hive/metastore/api/CmRecycleResponse.java   |    2 +-
 .../hive/metastore/api/ColumnStatistics.java    |    2 +-
 .../metastore/api/ColumnStatisticsData.java     |    2 +-
 .../metastore/api/ColumnStatisticsDesc.java     |    2 +-
 .../hive/metastore/api/ColumnStatisticsObj.java |    2 +-
 .../hive/metastore/api/CommitTxnRequest.java    |    2 +-
 .../hive/metastore/api/CompactionRequest.java   |    2 +-
 .../hive/metastore/api/CompactionResponse.java  |    2 +-
 .../api/ConfigValSecurityException.java         |    2 +-
 .../api/CurrentNotificationEventId.java         |    2 +-
 .../hadoop/hive/metastore/api/Database.java     |    2 +-
 .../apache/hadoop/hive/metastore/api/Date.java  |    2 +-
 .../hive/metastore/api/DateColumnStatsData.java |    2 +-
 .../hadoop/hive/metastore/api/Decimal.java      |    2 +-
 .../metastore/api/DecimalColumnStatsData.java   |    2 +-
 .../metastore/api/DoubleColumnStatsData.java    |    2 +-
 .../metastore/api/DropConstraintRequest.java    |    2 +-
 .../hive/metastore/api/DropPartitionsExpr.java  |    2 +-
 .../metastore/api/DropPartitionsRequest.java    |    2 +-
 .../metastore/api/DropPartitionsResult.java     |    2 +-
 .../hive/metastore/api/EnvironmentContext.java  |    2 +-
 .../hadoop/hive/metastore/api/FieldSchema.java  |    2 +-
 .../hive/metastore/api/FireEventRequest.java    |    2 +-
 .../metastore/api/FireEventRequestData.java     |    2 +-
 .../hive/metastore/api/FireEventResponse.java   |    2 +-
 .../hive/metastore/api/ForeignKeysRequest.java  |    2 +-
 .../hive/metastore/api/ForeignKeysResponse.java |    2 +-
 .../hadoop/hive/metastore/api/Function.java     |    2 +-
 .../metastore/api/GetAllFunctionsResponse.java  |    2 +-
 .../api/GetFileMetadataByExprRequest.java       |    2 +-
 .../api/GetFileMetadataByExprResult.java        |    2 +-
 .../metastore/api/GetFileMetadataRequest.java   |    2 +-
 .../metastore/api/GetFileMetadataResult.java    |    2 +-
 .../metastore/api/GetOpenTxnsInfoResponse.java  |    2 +-
 .../hive/metastore/api/GetOpenTxnsResponse.java |    2 +-
 .../api/GetPrincipalsInRoleRequest.java         |    2 +-
 .../api/GetPrincipalsInRoleResponse.java        |    2 +-
 .../api/GetRoleGrantsForPrincipalRequest.java   |    2 +-
 .../api/GetRoleGrantsForPrincipalResponse.java  |    2 +-
 .../hive/metastore/api/GetTableRequest.java     |    2 +-
 .../hive/metastore/api/GetTableResult.java      |    2 +-
 .../hive/metastore/api/GetTablesRequest.java    |    2 +-
 .../hive/metastore/api/GetTablesResult.java     |    2 +-
 .../api/GrantRevokePrivilegeRequest.java        |    2 +-
 .../api/GrantRevokePrivilegeResponse.java       |    2 +-
 .../metastore/api/GrantRevokeRoleRequest.java   |    2 +-
 .../metastore/api/GrantRevokeRoleResponse.java  |    2 +-
 .../hive/metastore/api/HeartbeatRequest.java    |    2 +-
 .../metastore/api/HeartbeatTxnRangeRequest.java |    2 +-
 .../api/HeartbeatTxnRangeResponse.java          |    2 +-
 .../hive/metastore/api/HiveObjectPrivilege.java |    2 +-
 .../hive/metastore/api/HiveObjectRef.java       |    2 +-
 .../apache/hadoop/hive/metastore/api/Index.java |    2 +-
 .../api/IndexAlreadyExistsException.java        |    2 +-
 .../metastore/api/InsertEventRequestData.java   |    2 +-
 .../metastore/api/InvalidInputException.java    |    2 +-
 .../metastore/api/InvalidObjectException.java   |    2 +-
 .../api/InvalidOperationException.java          |    2 +-
 .../api/InvalidPartitionException.java          |    2 +-
 .../hive/metastore/api/LockComponent.java       |    2 +-
 .../hadoop/hive/metastore/api/LockRequest.java  |    2 +-
 .../hadoop/hive/metastore/api/LockResponse.java |    2 +-
 .../hive/metastore/api/LongColumnStatsData.java |    2 +-
 .../hive/metastore/api/MetaException.java       |    2 +-
 .../hive/metastore/api/MetadataPpdResult.java   |    2 +-
 .../hive/metastore/api/NoSuchLockException.java |    2 +-
 .../metastore/api/NoSuchObjectException.java    |    2 +-
 .../hive/metastore/api/NoSuchTxnException.java  |    2 +-
 .../api/NotNullConstraintsRequest.java          |    2 +-
 .../api/NotNullConstraintsResponse.java         |    2 +-
 .../hive/metastore/api/NotificationEvent.java   |    2 +-
 .../metastore/api/NotificationEventRequest.java |    2 +-
 .../api/NotificationEventResponse.java          |    2 +-
 .../api/NotificationEventsCountRequest.java     |    2 +-
 .../api/NotificationEventsCountResponse.java    |    2 +-
 .../hive/metastore/api/OpenTxnRequest.java      |    2 +-
 .../hive/metastore/api/OpenTxnsResponse.java    |    2 +-
 .../apache/hadoop/hive/metastore/api/Order.java |    2 +-
 .../hadoop/hive/metastore/api/Partition.java    |    2 +-
 .../api/PartitionListComposingSpec.java         |    2 +-
 .../hive/metastore/api/PartitionSpec.java       |    2 +-
 .../api/PartitionSpecWithSharedSD.java          |    2 +-
 .../metastore/api/PartitionValuesRequest.java   |    2 +-
 .../metastore/api/PartitionValuesResponse.java  |    2 +-
 .../hive/metastore/api/PartitionValuesRow.java  |    2 +-
 .../hive/metastore/api/PartitionWithoutSD.java  |    2 +-
 .../metastore/api/PartitionsByExprRequest.java  |    2 +-
 .../metastore/api/PartitionsByExprResult.java   |    2 +-
 .../metastore/api/PartitionsStatsRequest.java   |    2 +-
 .../metastore/api/PartitionsStatsResult.java    |    2 +-
 .../hive/metastore/api/PrimaryKeysRequest.java  |    2 +-
 .../hive/metastore/api/PrimaryKeysResponse.java |    2 +-
 .../metastore/api/PrincipalPrivilegeSet.java    |    2 +-
 .../hadoop/hive/metastore/api/PrivilegeBag.java |    2 +-
 .../hive/metastore/api/PrivilegeGrantInfo.java  |    2 +-
 .../metastore/api/PutFileMetadataRequest.java   |    2 +-
 .../metastore/api/PutFileMetadataResult.java    |    2 +-
 .../hive/metastore/api/RequestPartsSpec.java    |    2 +-
 .../hadoop/hive/metastore/api/ResourceUri.java  |    2 +-
 .../apache/hadoop/hive/metastore/api/Role.java  |    2 +-
 .../hive/metastore/api/RolePrincipalGrant.java  |    2 +-
 .../hive/metastore/api/SQLForeignKey.java       |    2 +-
 .../metastore/api/SQLNotNullConstraint.java     |    2 +-
 .../hive/metastore/api/SQLPrimaryKey.java       |    2 +-
 .../hive/metastore/api/SQLUniqueConstraint.java |    2 +-
 .../hadoop/hive/metastore/api/Schema.java       |    2 +-
 .../hadoop/hive/metastore/api/SerDeInfo.java    |    2 +-
 .../api/SetPartitionsStatsRequest.java          |    2 +-
 .../hive/metastore/api/ShowCompactRequest.java  |    2 +-
 .../hive/metastore/api/ShowCompactResponse.java |    2 +-
 .../api/ShowCompactResponseElement.java         |    2 +-
 .../hive/metastore/api/ShowLocksRequest.java    |    2 +-
 .../hive/metastore/api/ShowLocksResponse.java   |    2 +-
 .../metastore/api/ShowLocksResponseElement.java |    2 +-
 .../hadoop/hive/metastore/api/SkewedInfo.java   |    2 +-
 .../hive/metastore/api/StorageDescriptor.java   |    2 +-
 .../metastore/api/StringColumnStatsData.java    |    2 +-
 .../apache/hadoop/hive/metastore/api/Table.java |    2 +-
 .../hadoop/hive/metastore/api/TableMeta.java    |    2 +-
 .../hive/metastore/api/TableStatsRequest.java   |    2 +-
 .../hive/metastore/api/TableStatsResult.java    |    2 +-
 .../hive/metastore/api/ThriftHiveMetastore.java | 1638 +++++++++---------
 .../hive/metastore/api/TxnAbortedException.java |    2 +-
 .../hadoop/hive/metastore/api/TxnInfo.java      |    2 +-
 .../hive/metastore/api/TxnOpenException.java    |    2 +-
 .../apache/hadoop/hive/metastore/api/Type.java  |    2 +-
 .../metastore/api/UniqueConstraintsRequest.java |    2 +-
 .../api/UniqueConstraintsResponse.java          |    2 +-
 .../hive/metastore/api/UnknownDBException.java  |    2 +-
 .../api/UnknownPartitionException.java          |    2 +-
 .../metastore/api/UnknownTableException.java    |    2 +-
 .../hive/metastore/api/UnlockRequest.java       |    2 +-
 .../hadoop/hive/metastore/api/Version.java      |    2 +-
 .../metastore/api/hive_metastoreConstants.java  |    2 +-
 244 files changed, 1344 insertions(+), 1277 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/classification/pom.xml
----------------------------------------------------------------------
diff --git a/classification/pom.xml b/classification/pom.xml
new file mode 100644
index 0000000..ff4b795
--- /dev/null
+++ b/classification/pom.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.hive</groupId>
+    <artifactId>hive</artifactId>
+    <version>3.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <artifactId>hive-classification</artifactId>
+  <packaging>jar</packaging>
+  <name>Hive Classifications</name>
+
+  <properties>
+    <hive.path.to.root>..</hive.path.to.root>
+  </properties>
+
+  <profiles>
+    <profile>
+      <id>sources</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <goals>
+                  <goal>test-jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+  <build>
+    <sourceDirectory>${basedir}/src/java</sourceDirectory>
+    <testSourceDirectory>${basedir}/src/test</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index fb80db7..868e14d 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -36,6 +36,11 @@
     <!-- intra-proect -->
     <dependency>
       <groupId>org.apache.hive</groupId>
+      <artifactId>hive-classification</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hive</groupId>
       <artifactId>hive-shims</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceAudience.java
----------------------------------------------------------------------
diff --git 
a/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceAudience.java
 
b/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceAudience.java
deleted file mode 100644
index 1334ed6..0000000
--- 
a/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceAudience.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.
- */
-package org.apache.hadoop.hive.common.classification;
-
-import java.lang.annotation.Documented;
-
-/**
- * Annotation to inform users of a package, class or method's intended 
audience.
- */
-public class InterfaceAudience {
-  /**
-   * Intended for use by any project or application.
-   */
-  @Documented public @interface Public {};
-
-  /**
-   * Intended only for the project(s) specified in the annotation
-   */
-  @Documented public @interface LimitedPrivate {
-    String[] value();
-  };
-
-  /**
-   * Intended for use only within Hive itself.
-   */
-  @Documented public @interface Private {};
-
-  private InterfaceAudience() {} // Audience can't exist on its own
-}
-

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceStability.java
----------------------------------------------------------------------
diff --git 
a/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceStability.java
 
b/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceStability.java
deleted file mode 100644
index 2a12806..0000000
--- 
a/common/src/java/org/apache/hadoop/hive/common/classification/InterfaceStability.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-package org.apache.hadoop.hive.common.classification;
-
-import java.lang.annotation.Documented;
-
-/**
- * Annotation to inform users of how much to rely on a particular package,
- * class or method not changing over time.
- */
-public class InterfaceStability {
-  /**
-   * Can evolve while retaining compatibility for minor release boundaries.; 
-   * can break compatibility only at major release (ie. at m.0).
-   */
-  @Documented
-  public @interface Stable {};
-  
-  /**
-   * Evolving, but can break compatibility at minor release (i.e. m.x)
-   */
-  @Documented
-  public @interface Evolving {};
-  
-  /**
-   * No guarantee is provided as to reliability or stability across any
-   * level of release granularity.
-   */
-  @Documented
-  public @interface Unstable {};
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 64f4b92..006e8f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,6 +34,7 @@
     <module>accumulo-handler</module>
     <module>vector-code-gen</module>
     <module>beeline</module>
+    <module>classification</module>
     <module>cli</module>
     <module>common</module>
     <module>contrib</module>

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/service-rpc/pom.xml
----------------------------------------------------------------------
diff --git a/service-rpc/pom.xml b/service-rpc/pom.xml
index ce64d40..f338d4f 100644
--- a/service-rpc/pom.xml
+++ b/service-rpc/pom.xml
@@ -70,6 +70,13 @@
       <version>${junit.version}</version>
       <scope>test</scope>
     </dependency>
+
+    <!-- intra-project -->
+    <dependency>
+      <groupId>org.apache.hive</groupId>
+      <artifactId>hive-classification</artifactId>
+      <version>${project.version}</version>
+    </dependency>
   </dependencies>
 
   <build>
@@ -108,4 +115,48 @@
     </plugins>
   </build>
 
+  <profiles>
+    <profile>
+      <id>thriftif</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>com.google.code.maven-replacer-plugin</groupId>
+            <artifactId>replacer</artifactId>
+            <version>1.5.3</version>
+            <executions>
+              <execution>
+                <id>process-thrift-sources-interface-annotations</id>
+                <phase>process-sources</phase>
+                <goals>
+                  <goal>replace</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              
<basedir>${basedir}/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/</basedir>
+              <filesToInclude>*.java</filesToInclude>
+              <replacements>
+                <replacement>
+                  <token>public class</token>
+                  
<value>@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
class</value>
+                  <unescape>true</unescape>
+                </replacement>
+                <replacement>
+                  <token>public static class</token>
+                  
<value>@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
static class</value>
+                  <unescape>true</unescape>
+                </replacement>
+                <replacement>
+                  <token>public interface</token>
+                  
<value>@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
interface</value>
+                  <unescape>true</unescape>
+                </replacement>
+              </replacements>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TArrayTypeEntry.java
----------------------------------------------------------------------
diff --git 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TArrayTypeEntry.java
 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TArrayTypeEntry.java
index 358e322..d2822e0 100644
--- 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TArrayTypeEntry.java
+++ 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TArrayTypeEntry.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
-public class TArrayTypeEntry implements 
org.apache.thrift.TBase<TArrayTypeEntry, TArrayTypeEntry._Fields>, 
java.io.Serializable, Cloneable, Comparable<TArrayTypeEntry> {
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
class TArrayTypeEntry implements org.apache.thrift.TBase<TArrayTypeEntry, 
TArrayTypeEntry._Fields>, java.io.Serializable, Cloneable, 
Comparable<TArrayTypeEntry> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("TArrayTypeEntry");
 
   private static final org.apache.thrift.protocol.TField 
OBJECT_TYPE_PTR_FIELD_DESC = new 
org.apache.thrift.protocol.TField("objectTypePtr", 
org.apache.thrift.protocol.TType.I32, (short)1);

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBinaryColumn.java
----------------------------------------------------------------------
diff --git 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBinaryColumn.java
 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBinaryColumn.java
index a869cee..69cb292 100644
--- 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBinaryColumn.java
+++ 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBinaryColumn.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
-public class TBinaryColumn implements org.apache.thrift.TBase<TBinaryColumn, 
TBinaryColumn._Fields>, java.io.Serializable, Cloneable, 
Comparable<TBinaryColumn> {
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
class TBinaryColumn implements org.apache.thrift.TBase<TBinaryColumn, 
TBinaryColumn._Fields>, java.io.Serializable, Cloneable, 
Comparable<TBinaryColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("TBinaryColumn");
 
   private static final org.apache.thrift.protocol.TField VALUES_FIELD_DESC = 
new org.apache.thrift.protocol.TField("values", 
org.apache.thrift.protocol.TType.LIST, (short)1);

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolColumn.java
----------------------------------------------------------------------
diff --git 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolColumn.java
 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolColumn.java
index 9bb6366..91958ab 100644
--- 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolColumn.java
+++ 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolColumn.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
-public class TBoolColumn implements org.apache.thrift.TBase<TBoolColumn, 
TBoolColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TBoolColumn> {
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
class TBoolColumn implements org.apache.thrift.TBase<TBoolColumn, 
TBoolColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TBoolColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("TBoolColumn");
 
   private static final org.apache.thrift.protocol.TField VALUES_FIELD_DESC = 
new org.apache.thrift.protocol.TField("values", 
org.apache.thrift.protocol.TType.LIST, (short)1);

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolValue.java
----------------------------------------------------------------------
diff --git 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolValue.java
 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolValue.java
index 87b3070..80d846c 100644
--- 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolValue.java
+++ 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TBoolValue.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
-public class TBoolValue implements org.apache.thrift.TBase<TBoolValue, 
TBoolValue._Fields>, java.io.Serializable, Cloneable, Comparable<TBoolValue> {
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
class TBoolValue implements org.apache.thrift.TBase<TBoolValue, 
TBoolValue._Fields>, java.io.Serializable, Cloneable, Comparable<TBoolValue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("TBoolValue");
 
   private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = 
new org.apache.thrift.protocol.TField("value", 
org.apache.thrift.protocol.TType.BOOL, (short)1);

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteColumn.java
----------------------------------------------------------------------
diff --git 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteColumn.java
 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteColumn.java
index 68b3d3c..7adff07 100644
--- 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteColumn.java
+++ 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteColumn.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
-public class TByteColumn implements org.apache.thrift.TBase<TByteColumn, 
TByteColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TByteColumn> {
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
class TByteColumn implements org.apache.thrift.TBase<TByteColumn, 
TByteColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TByteColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("TByteColumn");
 
   private static final org.apache.thrift.protocol.TField VALUES_FIELD_DESC = 
new org.apache.thrift.protocol.TField("values", 
org.apache.thrift.protocol.TType.LIST, (short)1);

http://git-wip-us.apache.org/repos/asf/hive/blob/b3043a37/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteValue.java
----------------------------------------------------------------------
diff --git 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteValue.java
 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteValue.java
index a3d5951..8516901 100644
--- 
a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteValue.java
+++ 
b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TByteValue.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
-public class TByteValue implements org.apache.thrift.TBase<TByteValue, 
TByteValue._Fields>, java.io.Serializable, Cloneable, Comparable<TByteValue> {
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public 
@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable public 
class TByteValue implements org.apache.thrift.TBase<TByteValue, 
TByteValue._Fields>, java.io.Serializable, Cloneable, Comparable<TByteValue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("TByteValue");
 
   private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = 
new org.apache.thrift.protocol.TField("value", 
org.apache.thrift.protocol.TType.BYTE, (short)1);

Reply via email to