#!/bin/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.
#

MODULES=parquet-avro,parquet-arrow,parquet-pig-bundle,parquet-benchmarks,parquet-hive-bundle,parquet-cli,parquet-tools

if thrift -version | grep 0.9.3; then
  MODULES=$MODULES,parquet-thrift,parquet-scrooge,parquet-scala,parquet-cascading,parquet-cascading3
else
  echo "Thrift is not version 0.9.3. Skipping parquet-thrift and dependent modules."
fi

if protoc --version | grep 3.5.1; then
  MODULES=$MODULES,parquet-protobuf
else
  echo "Protobuf is not version 3.5.1. Skipping parquet-protobuf."
fi

echo "Building Parquet Java"
echo "Parquet Java modules: $MODULES"
if mvn clean install -pl $MODULES -am -DskipTests=true -Dmaven.javadoc.skip=true -Dsource.skip=true -Dfindbugs.skip=true; then
  echo "Build and RAT succeeded. Running tests."
  if mvn test -pl $MODULES -am -Dmaven.main.skip=true; then
    echo "Build, RAT check, and tests succeeded."
  else
    echo "Build succeeded, but tests failed."
  fi
else
  echo "Build failed."
fi
