parent
00ef6a30d6
commit
c0f9e31ded
@ -1,62 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) 2013 - present Facebook, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD style license found in the
|
||||
# LICENSE file in the root directory of this source tree. An additional grant
|
||||
# of patent rights can be found in the PATENTS file in the same directory.
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
INFER_DIR=$SCRIPT_DIR/../infer
|
||||
CLANG_PLUGIN_DIR=$SCRIPT_DIR/../facebook-clang-plugins
|
||||
platform=`uname`
|
||||
|
||||
# Build Infer
|
||||
cd $INFER_DIR && make
|
||||
|
||||
VERSION=$($INFER_DIR/bin/infer --version 2>&1 | head -1 | awk '{print $3}')
|
||||
if [ $platform == 'Darwin' ]; then
|
||||
BINARY_DIR=infer-osx-$VERSION
|
||||
else
|
||||
BINARY_DIR=infer-linux64-$VERSION
|
||||
fi
|
||||
BINARY_TARBALL=$BINARY_DIR.tar.xz
|
||||
|
||||
# Build package.
|
||||
PKG_DIR=$SCRIPT_DIR/../$BINARY_DIR
|
||||
|
||||
# Start with infer
|
||||
mkdir -p $PKG_DIR/infer/{annotations,bin,lib}
|
||||
mkdir -p $PKG_DIR/examples
|
||||
mkdir -p $PKG_DIR/scripts
|
||||
cp -r $INFER_DIR/annotations/* $PKG_DIR/infer/annotations
|
||||
cp -r $INFER_DIR/bin/* $PKG_DIR/infer/bin
|
||||
cp -r $INFER_DIR/lib/* $PKG_DIR/infer/lib
|
||||
cp -r $INFER_DIR/../examples/* $PKG_DIR/examples
|
||||
cp $INFER_DIR/../{CONTRIBUTING.md,LICENSE,PATENTS,README.md,INSTALL.md} $PKG_DIR/
|
||||
cp -r $INFER_DIR/../scripts/* $PKG_DIR/scripts
|
||||
# don't include pyc files into the release
|
||||
find $PKG_DIR -name "*.pyc" | xargs rm
|
||||
|
||||
# Add facebook-clang-plugin
|
||||
PKG_PLUGIN_DIR=$PKG_DIR/facebook-clang-plugins
|
||||
mkdir -p $PKG_PLUGIN_DIR/clang/{bin,lib,include}
|
||||
mkdir -p $PKG_PLUGIN_DIR/libtooling/build
|
||||
cp $CLANG_PLUGIN_DIR/{CONTRIBUTING.md,LICENSE,LLVM-LICENSE,PATENTS,README.md} $PKG_PLUGIN_DIR
|
||||
cp -r $CLANG_PLUGIN_DIR/clang/bin/clang* $PKG_PLUGIN_DIR/clang/bin
|
||||
cp -r $CLANG_PLUGIN_DIR/clang/lib/* $PKG_PLUGIN_DIR/clang/lib
|
||||
cp -r $CLANG_PLUGIN_DIR/clang/include/* $PKG_PLUGIN_DIR/clang/include
|
||||
rm $PKG_PLUGIN_DIR/clang/lib/*.a
|
||||
|
||||
cp -r $CLANG_PLUGIN_DIR/libtooling/build/* $PKG_PLUGIN_DIR/libtooling/build
|
||||
|
||||
cd $PKG_DIR/.. && tar cJf $BINARY_TARBALL $BINARY_DIR
|
||||
|
||||
# Cleanup.
|
||||
rm -rf $PKG_DIR
|
||||
|
||||
# vim: sw=2 ts=2 et:
|
@ -1,75 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) 2013 - present Facebook, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD style license found in the
|
||||
# LICENSE file in the root directory of this source tree. An additional grant
|
||||
# of patent rights can be found in the PATENTS file in the same directory.
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
ROOT_INFER_DIR="$SCRIPT_DIR"/..
|
||||
CLANG_PLUGIN_DIR="$ROOT_INFER_DIR"/facebook-clang-plugins
|
||||
PLATFORM=`uname`
|
||||
INFER_SOURCE="$ROOT_INFER_DIR"/infer-source
|
||||
|
||||
# Build infer and facebook-clang-plugins
|
||||
cd "$ROOT_INFER_DIR"
|
||||
# This assumes the current commit is the one with the release bump
|
||||
git submodule update --init --recursive
|
||||
facebook-clang-plugins/clang/setup.sh
|
||||
./compile-fcp.sh
|
||||
make -C infer
|
||||
|
||||
|
||||
# Get a copy of the github repo
|
||||
git clone https://github.com/facebook/infer.git "$INFER_SOURCE"
|
||||
pushd "$INFER_SOURCE"
|
||||
# Name of the release package
|
||||
VERSION=`git describe --abbrev=0 --tags`
|
||||
if [ "$PLATFORM" == 'Darwin' ]; then
|
||||
RELEASE_NAME=infer-osx-"$VERSION"
|
||||
else
|
||||
RELEASE_NAME=infer-linux64-"$VERSION"
|
||||
fi
|
||||
RELEASE_TARBALL="$RELEASE_NAME".tar.xz
|
||||
PKG_DIR="$ROOT_INFER_DIR"/"$RELEASE_NAME"
|
||||
|
||||
git checkout "$VERSION"
|
||||
popd
|
||||
|
||||
# Copy infer source
|
||||
mkdir -p "$PKG_DIR"
|
||||
rsync -a --exclude=".git/" --exclude=".gitmodules" --exclude=".gitignore" "$INFER_SOURCE"/ "$PKG_DIR"
|
||||
touch "$PKG_DIR"/.release
|
||||
|
||||
# Add facebook-clang-plugin binaries
|
||||
PKG_PLUGIN_DIR="$PKG_DIR"/facebook-clang-plugins
|
||||
mkdir -p "$PKG_PLUGIN_DIR"/clang/{bin,lib,include}
|
||||
mkdir -p "$PKG_PLUGIN_DIR"/libtooling/build
|
||||
mkdir -p "$PKG_PLUGIN_DIR"/clang-ocaml/build
|
||||
cp "$CLANG_PLUGIN_DIR"/{CONTRIBUTING.md,LICENSE,LLVM-LICENSE,PATENTS,README.md} "$PKG_PLUGIN_DIR"
|
||||
cp -r "$CLANG_PLUGIN_DIR"/clang/bin/clang* "$PKG_PLUGIN_DIR"/clang/bin
|
||||
cp -r $CLANG_PLUGIN_DIR/clang/lib/* "$PKG_PLUGIN_DIR"/clang/lib
|
||||
cp -r "$CLANG_PLUGIN_DIR"/clang/include/* "$PKG_PLUGIN_DIR"/clang/include
|
||||
rm -f "$PKG_PLUGIN_DIR"/clang/lib/*.a
|
||||
|
||||
cp -r "$CLANG_PLUGIN_DIR"/libtooling/build/* "$PKG_PLUGIN_DIR"/libtooling/build
|
||||
cp -r "$CLANG_PLUGIN_DIR"/clang-ocaml/build/* "$PKG_PLUGIN_DIR"/clang-ocaml/build
|
||||
cp -r "$CLANG_PLUGIN_DIR"/clang-ocaml/*.ml "$PKG_PLUGIN_DIR"/clang-ocaml/
|
||||
|
||||
FBONLY=FB-ONLY
|
||||
if grep -Ir --exclude="package_infer_source_with_clang_binaries.sh" "$FBONLY" "$PKG_DIR"; then
|
||||
echo "Found files marked $FBONLY"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$ROOT_INFER_DIR" && tar cJf "$RELEASE_TARBALL" "$RELEASE_NAME"
|
||||
|
||||
# Cleanup.
|
||||
rm -rf "$PKG_DIR" "$INFER_SOURCE"
|
||||
|
||||
# vim: sw=2 ts=2 et:
|
Loading…
Reference in new issue