Files
impala/be/generated-sources/gen-cpp/CMakeLists.txt
Matthew Jacobs 25c0ebf58c External Data Source: Public API
Adds the thrift structures for the public external data source API
and a new maven project containing the Java ExternalDataSource
interface and the generated Java thrift classes.

The ExternalDataSource.thrift structures can evolve in a backward
compatible way. The ExternalDataSource Java interface will always
contain a version number in the namespace (e.g.
com.cloudera.impala.extdatasource.v1 for V1) so we can potentially
make breaking changes to the interface in the future but still
support older versions.

A trivial implementation of the ExternalDataSource API is also
added for testing purposes.
TODO: Make the sample data source implementation realistic.

Change-Id: I827d6420a87ed7a2bce34e050362ca98ddc5dbcc
Reviewed-on: http://gerrit.ent.cloudera.com:8080/2241
Reviewed-by: Matthew Jacobs <mj@cloudera.com>
Tested-by: jenkins
(cherry picked from commit f29814e9ede9d4c889f2648606fcf511feeb47ae)
Reviewed-on: http://gerrit.ent.cloudera.com:8080/2313
2014-04-22 18:34:48 -07:00

101 lines
2.8 KiB
CMake

# 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.
# where to put generated libraries
set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/thrift")
# where to put generated binaries
set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/thrift")
set(SRC_FILES
CatalogObjects_constants.cpp
CatalogObjects_types.cpp
CatalogService.cpp
CatalogService_constants.cpp
CatalogService_types.cpp
CatalogInternalService_constants.cpp
CatalogInternalService_types.cpp
ImpalaInternalService.cpp
ImpalaInternalService_constants.cpp
ImpalaInternalService_types.cpp
ImpalaService.cpp
ImpalaService_constants.cpp
ImpalaService_types.cpp
ImpalaHiveServer2Service.cpp
Llama_constants.cpp
Llama_types.cpp
LlamaAMService.cpp
LlamaNotificationService.cpp
beeswax_constants.cpp
beeswax_types.cpp
BeeswaxService.cpp
TCLIService.cpp
cli_service_constants.cpp
cli_service_types.cpp
Data_constants.cpp
Data_types.cpp
DataSinks_constants.cpp
DataSinks_types.cpp
Descriptors_constants.cpp
Descriptors_types.cpp
Exprs_constants.cpp
Exprs_types.cpp
ExternalDataSource_constants.cpp
ExternalDataSource_types.cpp
Frontend_types.cpp
Frontend_constants.cpp
hive_metastore_constants.cpp
hive_metastore_types.cpp
JniCatalog_constants.cpp
JniCatalog_types.cpp
Logging_types.cpp
NetworkTest_constants.cpp
NetworkTest_types.cpp
NetworkTestService.cpp
PlanNodes_constants.cpp
PlanNodes_types.cpp
ResourceBrokerNotificationService.cpp
ResourceBrokerService_constants.cpp
ResourceBrokerService_types.cpp
ResourceBrokerService.cpp
Partitions_constants.cpp
Partitions_types.cpp
Planner_constants.cpp
Planner_types.cpp
parquet_constants.cpp
parquet_types.cpp
RuntimeProfile_constants.cpp
RuntimeProfile_types.cpp
StatestoreService.cpp
StatestoreService_constants.cpp
StatestoreService_types.cpp
StatestoreSubscriber.cpp
Status_constants.cpp
Status_types.cpp
Types_constants.cpp
Types_types.cpp
)
# keep everything in one library, the object files reference
# each other
add_library(ImpalaThrift STATIC ${SRC_FILES})
# Setting these files as code-generated lets make clean and incremental builds work
# correctly
set_source_files_properties(${SRC_FILES} PROPERTIES GENERATED TRUE)
add_dependencies(ImpalaThrift thrift-cpp)