blob: 4cf36227aa6c0cada3f3963735e19ebf47cfe9a9 [file] [log] [blame]
#!/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.
################################################################################
STAGE_CORE="core"
STAGE_LIB="lib"
STAGE_TESTS="tests"
STAGE_MISC="misc"
MODULES_CORE="\
flink-ml-servable-core,\
flink-ml-core,\
flink-ml-iteration,\
"
MODULES_LIB="\
flink-ml-servable-lib,\
flink-ml-lib,\
"
MODULES_TESTS="\
flink-ml-tests,\
"
function get_compile_modules_for_stage() {
local stage=$1
case ${stage} in
(${STAGE_CORE})
echo "-pl $MODULES_CORE -am"
;;
(${STAGE_LIB})
echo "-pl $MODULES_LIB -am"
;;
(${STAGE_TESTS})
echo "-pl $MODULES_TESTS -am"
;;
(${STAGE_MISC})
# compile everything; using the -am switch does not work with negated module lists!
# the negation takes precedence, thus not all required modules would be built
echo ""
;;
(*)
return 1
;;
esac
}
function get_test_modules_for_stage() {
local stage=$1
local modules_core=$MODULES_CORE
local modules_lib=$MODULES_LIB
local modules_tests=$MODULES_TESTS
local negated_core=\!${MODULES_CORE//,/,\!}
local negated_lib=\!${MODULES_LIB//,/,\!}
local negated_tests=\!${MODULES_TESTS//,/,\!}
local modules_misc="$negated_core,$negated_lib,$negated_tests"
case ${stage} in
(${STAGE_CORE})
echo "-pl $modules_core"
;;
(${STAGE_LIB})
echo "-pl $modules_lib"
;;
(${STAGE_TESTS})
echo "-pl $modules_tests"
;;
(${STAGE_MISC})
echo "-pl $modules_misc"
;;
(*)
return 1
;;
esac
}