diff options
Diffstat (limited to 'fluent-bit/lib/avro/build.sh')
-rw-r--r-- | fluent-bit/lib/avro/build.sh | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/fluent-bit/lib/avro/build.sh b/fluent-bit/lib/avro/build.sh new file mode 100644 index 00000000..6753e778 --- /dev/null +++ b/fluent-bit/lib/avro/build.sh @@ -0,0 +1,103 @@ +#!/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 +# +# https://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. +# + +set -e # exit on error + +root_dir=$(pwd) +build_dir="../../build/c" +dist_dir="../../dist/c" +version=$(./version.sh project) +tarball="avro-c-$version.tar.gz" +doc_dir="../../build/avro-doc-$version/api/c" + +function prepare_build { + clean + mkdir -p $build_dir + (cd $build_dir && cmake $root_dir -DCMAKE_BUILD_TYPE=RelWithDebInfo) +} + +function clean { + if [ -d $build_dir ]; then + find $build_dir | xargs chmod 755 + rm -rf $build_dir + fi + rm -f VERSION.txt + rm -f examples/quickstop.db +} + +for target in "$@" +do + + case "$target" in + + interop-data-generate) + prepare_build + make -C $build_dir + $build_dir/tests/generate_interop_data "../../share/test/schemas/interop.avsc" "../../build/interop/data" + ;; + + interop-data-test) + prepare_build + make -C $build_dir + $build_dir/tests/test_interop_data "../../build/interop/data" + ;; + + lint) + echo 'This is a stub where someone can provide linting.' + ;; + + test) + prepare_build + make -C $build_dir + make -C $build_dir test + ;; + + dist) + prepare_build + cp ../../share/VERSION.txt $root_dir + make -C $build_dir docs + # This is a hack to force the built documentation to be included + # in the source package. + cp $build_dir/docs/*.html $root_dir/docs + make -C $build_dir package_source + rm $root_dir/docs/*.html + if [ ! -d $dist_dir ]; then + mkdir -p $dist_dir + fi + if [ ! -d $doc_dir ]; then + mkdir -p $doc_dir + fi + mv $build_dir/$tarball $dist_dir + cp $build_dir/docs/*.html $doc_dir + clean + ;; + + clean) + clean + ;; + + *) + echo "Usage: $0 {interop-data-generate|interop-data-test|lint|test|dist|clean}" + exit 1 + esac + +done + +exit 0 |