blob: 5ae701ed3346e1434a81c77344ff237f37515339 [file] [log] [blame]
#!/bin/bash
# Copyright 2020 The Verible Authors.
#
# Licensed 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.
# GitHub Releases
# ---------------
# Generate the GitHub Releases to deploy
RELEASE_DIR=${1:-/tmp/releases}
rm -rf $RELEASE_DIR
GIT_VERSION=${GIT_VERSION:-$(git describe --match=v*)}
PREFIX=$RELEASE_DIR/verible-$GIT_VERSION
PREFIX_BIN=$PREFIX/bin
PREFIX_DOC=$PREFIX/share/verible
PREFIX_MAN=$PREFIX/share/man/man1
mkdir -p $PREFIX
mkdir -p $PREFIX_BIN
mkdir -p $PREFIX_DOC
mkdir -p $PREFIX_MAN
# Binaries
bazel run :install -c opt -- $PREFIX_BIN
for BIN in $PREFIX_BIN/*; do
ls -l $BIN
file $BIN
ldd $BIN
done
# Documentation
cp -a /tmp/pages/* $PREFIX_DOC
# Man pages
for app in syntax lint format diff obfuscate ; do
BIN_NAME="verible-verilog-${app}"
gflags2man --help_flag="--helpfull" --dest_dir "$PREFIX_MAN" "$PREFIX_BIN/$BIN_NAME"
gzip "${PREFIX_MAN}/${BIN_NAME}.1"
# Set up manpage for legacy tool-names as symbolic link to the real deal.
ln -s "${BIN_NAME}.1.gz" "${PREFIX_MAN}/verilog_${app}.1.gz"
done
DISTRO_ARCH=$(uname -m)
DISTRO=$(lsb_release --short --id)
DISTRO_RELEASE=$(lsb_release --short --release)
DISTRO_CODENAME=$(lsb_release --short --codename)
TARBALL=$RELEASE_DIR/verible-$GIT_VERSION-$DISTRO-$DISTRO_RELEASE-$DISTRO_CODENAME-$DISTRO_ARCH.tar.gz
(
cd $RELEASE_DIR
tar -zcvf $TARBALL verible-$GIT_VERSION
)