You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/06/03 06:29:59 UTC
[06/12] airavata git commit: moved all component interfaces to one
place
moved all component interfaces to one place
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/7463558e
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/7463558e
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/7463558e
Branch: refs/heads/moduleRefactor
Commit: 7463558e351f1a8d0756da659a29ca0002c1aacd
Parents: 512fa7e
Author: Shameera Rathanyaka <sh...@gmail.com>
Authored: Tue Jun 2 21:06:54 2015 -0400
Committer: Shameera Rathanyaka <sh...@gmail.com>
Committed: Tue Jun 2 21:06:54 2015 -0400
----------------------------------------------------------------------
airavata-api/generate-thrift-files.sh | 305 ---
.../airavataAPI.thrift | 2064 ------------------
.../airavataDataModel.thrift | 38 -
.../airavataErrors.thrift | 172 --
.../appCatalogModels.thrift | 24 -
.../applicationDeploymentModel.thrift | 132 --
.../applicationInterfaceModel.thrift | 146 --
.../computeResourceModel.thrift | 445 ----
.../experimentModel.thrift | 411 ----
.../gatewayResourceProfileModel.thrift | 83 -
.../messagingEvents.thrift | 149 --
.../securityModel.thrift | 35 -
.../workflowAPI.thrift | 82 -
.../workflowDataModel.thrift | 43 -
.../workspaceModel.thrift | 63 -
.../generate-gfac-stubs.sh | 134 ++
.../gfac.cpi.service.thrift | 68 +
.../gfacDataModel.thrift | 64 +
.../generate-orchestrator-stubs.sh | 132 ++
.../orchestrator.cpi.service.thrift | 78 +
.../airavataAPI.thrift | 2064 ++++++++++++++++++
.../airavataDataModel.thrift | 38 +
.../airavataErrors.thrift | 172 ++
.../appCatalogModels.thrift | 24 +
.../applicationDeploymentModel.thrift | 132 ++
.../applicationInterfaceModel.thrift | 146 ++
.../computeResourceModel.thrift | 445 ++++
.../experimentModel.thrift | 411 ++++
.../gatewayResourceProfileModel.thrift | 83 +
.../generate-thrift-files.sh | 305 +++
.../messagingEvents.thrift | 149 ++
.../securityModel.thrift | 35 +
.../workflowAPI.thrift | 82 +
.../workflowDataModel.thrift | 43 +
.../workspaceModel.thrift | 63 +
.../generate-gfac-stubs.sh | 134 --
.../gfac.cpi.service.thrift | 68 -
.../gfacDataModel.thrift | 64 -
.../generate-orchestrator-stubs.sh | 132 --
.../orchestrator.cpi.service.thrift | 78 -
40 files changed, 4668 insertions(+), 4668 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/7463558e/airavata-api/generate-thrift-files.sh
----------------------------------------------------------------------
diff --git a/airavata-api/generate-thrift-files.sh b/airavata-api/generate-thrift-files.sh
deleted file mode 100755
index bf4d4e9..0000000
--- a/airavata-api/generate-thrift-files.sh
+++ /dev/null
@@ -1,305 +0,0 @@
-#! /usr/bin/env bash
-
-# 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.
-
-# This script will generate/regenerate the thrift code for Airavata Server Skeletons, Client Stubs
-# and Data Model java beans in java, C++, PHP and Python.
-
-show_usage() {
- echo -e "Usage: $0 [Languague to generate stubs]"
- echo ""
- echo "options:"
- echo -e "\tjava Generate/Update Java Stubs"
- echo -e "\tphp Generate/Update PHP Stubs"
- echo -e "\tcpp Generate/Update C++ Stubs"
- echo -e "\tpython Generate/Update Python Stubs."
- echo -e "\tall Generate/Update all stubs (Java, PHP, C++, Python)."
- echo -e "\t-h[elp] Print the usage options of this script"
-}
-
-if [ $# -lt 1 ]
-then
- show_usage
- exit 1
-fi
-
-if [[ $1 == "-h" ||$1 == "--help" ]]
-then
- show_usage
- exit 0
-fi
-
-# Generation of thrift files will require installing Apache Thrift. Please add thrift to your path.
-# Verify is thrift is installed, is in the path is at a specified version.
-
-REQUIRED_THRIFT_VERSION='0.9.1'
-THRIFT_EXEC=/usr/local/bin/thrift
-
-VERSION=$($THRIFT_EXEC -version 2>/dev/null | grep -F "${REQUIRED_THRIFT_VERSION}" | wc -l)
-if [ "$VERSION" -ne 1 ] ; then
- echo -e "ERROR:\t Apache Thrift version ${REQUIRED_THRIFT_VERSION} is required."
- echo -e "It is either not installed or is not in the path"
- exit 1
-fi
-
-# Global Constants used across the script
-THRIFT_IDL_DIR='thrift-interface-descriptions'
-BASE_TARGET_DIR='target'
-DATAMODEL_SRC_DIR='airavata-data-models/src/main/java'
-JAVA_API_SDK_DIR='airavata-api-stubs/src/main/java'
-PHP_SDK_DIR='airavata-client-sdks/airavata-php-sdk/src/main/resources/lib'
-CPP_SDK_DIR='airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/'
-PYTHON_SDK_DIR='airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/'
-
-# Initialize the thrift arguments.
-# Since most of the Airavata API and Data Models have includes, use recursive option by default.
-# Generate all the files in target directory
-THRIFT_ARGS="-r -o ${BASE_TARGET_DIR}"
-# Ensure the required target directories exists, if not create.
-mkdir -p ${BASE_TARGET_DIR}
-
-# The Function fail prints error messages on failure and quits the script.
-fail() {
- echo $@
- exit 1
-}
-
-# The function add_license_header adds the ASF V2 license header to all java files within the specified generated
-# directory. The function also adds suppress all warnings annotation to all public classes and enum's
-# To Call:
-# add_license_header $generated_code_directory
-add_license_header() {
-
- # Fetch the generated code directory passed as the argument
- GENERATED_CODE_DIR=$1
-
- # For all generated thrift code, add the suppress all warnings annotation
- # NOTE: In order to save the original file as a backup, use sed -i.orig in place of sed -i ''
- find ${GENERATED_CODE_DIR} -name '*.java' -print0 | xargs -0 sed -i '' -e 's/public class /@SuppressWarnings("all") public class /'
- find ${GENERATED_CODE_DIR} -name '*.java' -print0 | xargs -0 sed -i '' -e 's/public enum /@SuppressWarnings("all") public enum /'
-
- # For each source file within the generated directory, add the ASF V2 LICENSE header
- FILE_SUFFIXES=(.php .java .h .cpp)
- for file in "${FILE_SUFFIXES[@]}"; do
- for f in $(find ${GENERATED_CODE_DIR} -name "*$file"); do
- cat - ${f} >${f}-with-license <<EOF
-/**
- * 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.
- */
-
-EOF
- mv ${f}-with-license ${f}
- done
- done
-}
-
-# The function compares every generated java file with the one in specified existing source location. If the comparison
-# shows a difference, then it replaces with the newly generated file (with added license header).
-# To Call:
-# copy_changed_files $generated_code_directory $existing_source_directory
-copy_changed_files() {
-
- # Read all the function arguments
- GENERATED_CODE_DIR=$1
- WORKSPACE_SRC_DIR=$2
-
- echo "Generated sources are in ${GENERATED_CODE_DIR}"
- echo "Destination workspace is in ${WORKSPACE_SRC_DIR}"
-
- # Check if the newly generated files exist in the targeted workspace, if not copy. Only changed files will be synced.
- # the extra slash to GENERATED_CODE_DIR is needed to ensure the parent directory itself is not copied.
- rsync -auv ${GENERATED_CODE_DIR}/ ${WORKSPACE_SRC_DIR}
-}
-
-#######################################
-# Generate/Update Airavata Data Model #
-#######################################
-
-generate_java_stubs() {
-
- #Java Beans generation directory
- JAVA_BEAN_GEN_DIR=${BASE_TARGET_DIR}/gen-javabean
-
- # As a precaution remove and previously generated files if exists
- rm -rf ${JAVA_BEAN_GEN_DIR}
-
- # Generate the Airavata Data Model using thrift Java Beans generator. This will take generate the classes in bean style
- # with members being private and setters returning voids.
- # The airavataDataModel.thrift includes rest of data models.
- $THRIFT_EXEC ${THRIFT_ARGS} --gen java:beans ${THRIFT_IDL_DIR}/airavataDataModel.thrift || fail unable to generate java bean thrift classes on base data model
-
- $THRIFT_EXEC ${THRIFT_ARGS} --gen java:beans ${THRIFT_IDL_DIR}/appCatalogModels.thrift || fail unable to generate java bean thrift classes on app catalog data models
-
- $THRIFT_EXEC ${THRIFT_ARGS} --gen java:beans ${THRIFT_IDL_DIR}/workflowDataModel.thrift || fail unable to generate java bean thrift classes on app workflow data models
-
- # For the generated java beans add the ASF V2 License header
- add_license_header $JAVA_BEAN_GEN_DIR
-
- # Compare the newly generated beans with existing sources and replace the changed ones.
- copy_changed_files ${JAVA_BEAN_GEN_DIR} ${DATAMODEL_SRC_DIR}
-
- ###############################################################################
- # Generate/Update source used by Airavata Server Skeletons & Java Client Stubs #
- # JAVA server and client both use generated api-boilerplate-code #
- ###############################################################################
-
- #Java generation directory
- JAVA_GEN_DIR=${BASE_TARGET_DIR}/gen-java
-
- # As a precaution remove and previously generated files if exists
- rm -rf ${JAVA_GEN_DIR}
-
- # Using thrift Java generator, generate the java classes based on Airavata API. This
- # The airavataAPI.thrift includes rest of data models.
- $THRIFT_EXEC ${THRIFT_ARGS} --gen java ${THRIFT_IDL_DIR}/airavataAPI.thrift || fail unable to generate java thrift classes on AiravataAPI
-
- #$THRIFT_EXEC ${THRIFT_ARGS} --gen java ${THRIFT_IDL_DIR}/workflowAPI.thrift || fail unable to generate java thrift classes on WorkflowAPI
-
- # For the generated java classes add the ASF V2 License header
- add_license_header $JAVA_GEN_DIR
-
- # Compare the newly generated classes with existing java generated skeleton/stub sources and replace the changed ones.
- # Only copying the API related classes and avoiding copy of any data models which already exist in the data-models.
- copy_changed_files ${JAVA_GEN_DIR}/org/apache/airavata/api ${JAVA_API_SDK_DIR}/org/apache/airavata/api
-
- echo "Successfully generated new java sources, compared against exiting code and replaced the changed files"
-}
-
-####################################
-# Generate/Update PHP Stubs #
-####################################
-
-generate_php_stubs() {
-
- #PHP generation directory
- PHP_GEN_DIR=${BASE_TARGET_DIR}/gen-php
-
- # As a precaution remove and previously generated files if exists
- rm -rf ${PHP_GEN_DIR}
-
- # Using thrift Java generator, generate the java classes based on Airavata API. This
- # The airavataAPI.thrift includes rest of data models.
- $THRIFT_EXEC ${THRIFT_ARGS} --gen php:autoload ${THRIFT_IDL_DIR}/airavataAPI.thrift || fail unable to generate PHP thrift classes
-
- #$THRIFT_EXEC ${THRIFT_ARGS} --gen php:autoload ${THRIFT_IDL_DIR}/workflowAPI.thrift || fail unable to generate PHP thrift classes for WorkflowAPI
- # For the generated java classes add the ASF V2 License header
- ## TODO Write PHP license parser
-
- # Compare the newly generated classes with existing java generated skeleton/stub sources and replace the changed ones.
- # Only copying the API related classes and avoiding copy of any data models which already exist in the data-models.
- copy_changed_files ${PHP_GEN_DIR} ${PHP_SDK_DIR}
-
-}
-
-####################################
-# Generate/Update C++ Client Stubs #
-####################################
-
-generate_cpp_stubs() {
-
- #CPP generation directory
- CPP_GEN_DIR=${BASE_TARGET_DIR}/gen-cpp
-
- # As a precaution remove and previously generated files if exists
- rm -rf ${CPP_GEN_DIR}
-
- # Using thrift Java generator, generate the java classes based on Airavata API. This
- # The airavataAPI.thrift includes rest of data models.
- $THRIFT_EXEC ${THRIFT_ARGS} --gen cpp ${THRIFT_IDL_DIR}/airavataAPI.thrift || fail unable to generate C++ thrift classes
-
- #$THRIFT_EXEC ${THRIFT_ARGS} --gen cpp ${THRIFT_IDL_DIR}/workflowAPI.thrift || fail unable to generate C++ thrift classes for WorkflowAPI
- # For the generated CPP classes add the ASF V2 License header
- add_license_header $CPP_GEN_DIR
-
- # Compare the newly generated classes with existing java generated skeleton/stub sources and replace the changed ones.
- # Only copying the API related classes and avoiding copy of any data models which already exist in the data-models.
- copy_changed_files ${CPP_GEN_DIR} ${CPP_SDK_DIR}
-
-}
-
-####################################
-# Generate/Update C++ Client Stubs #
-####################################
-
-generate_python_stubs() {
-
- #Python generation directory
- PYTHON_GEN_DIR=${BASE_TARGET_DIR}/gen-py
-
- # As a precaution remove and previously generated files if exists
- rm -rf ${PYTHON_GEN_DIR}
-
- # Using thrift Python generator, generate the python classes based on Airavata API. This
- # The airavataAPI.thrift includes rest of data models.
- $THRIFT_EXEC ${THRIFT_ARGS} --gen py ${THRIFT_IDL_DIR}/airavataAPI.thrift || fail unable to generate Python thrift classes
-
- # For the generated CPP classes add the ASF V2 License header
- #add_license_header #PYTHON_GEN_DIR
-
- # Compare the newly generated classes with existing java generated skeleton/stub sources and replace the changed ones.
- # Only copying the API related classes and avoiding copy of any data models which already exist in the data-models.
- copy_changed_files ${PYTHON_GEN_DIR} ${PYTHON_SDK_DIR}
-
-}
-
-for arg in "$@"
-do
- case "$arg" in
- all) echo "Generate all stubs (Java, PHP, C++, Python) Stubs"
- generate_java_stubs
- generate_php_stubs
- generate_cpp_stubs
- generate_python_stubs
- ;;
- java) echo "Generating Java Stubs"
- generate_java_stubs
- ;;
- php) echo "Generate PHP Stubs"
- generate_php_stubs
- ;;
- cpp) echo "Generate C++ Stubs"
- generate_cpp_stubs
- ;;
- python) echo "Generate Python Stubs"
- generate_python_stubs
- ;;
- *) echo "Invalid or unsupported option"
- show_usage
- exit 1
- ;;
- esac
-done
-
-####################
-# Cleanup and Exit #
-####################
-# CleanUp: Delete the base target build directory
-#rm -rf ${BASE_TARGET_DIR}
-
-exit 0