From 8fcb4fb5c580bfd9121dd8ddb93d4eb907d23f9e Mon Sep 17 00:00:00 2001 From: Ryo Hashimoto Date: Mon, 3 Feb 2020 18:17:14 +0900 Subject: Upgrade to v0.18 Bug: 148763437 Test: make libiio Change-Id: I9810cec91e823a300a5a9da5e0a6b11053a0e420 (cherry picked from commit 79a1a11db0c1ab0ae311ce69c8762b6b285cd5bf) --- src/CI/travis/generateDocumentationAndDeploy.sh.in | 97 ++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 src/CI/travis/generateDocumentationAndDeploy.sh.in (limited to 'src/CI/travis/generateDocumentationAndDeploy.sh.in') diff --git a/src/CI/travis/generateDocumentationAndDeploy.sh.in b/src/CI/travis/generateDocumentationAndDeploy.sh.in new file mode 100644 index 0000000..079913a --- /dev/null +++ b/src/CI/travis/generateDocumentationAndDeploy.sh.in @@ -0,0 +1,97 @@ +#!/bin/sh +set -x +################################################################################ +# Title : generateDocumentationAndDeploy.sh +# Date created : 16Nov2018 +# Original Author: "Jeroen de Bruijn" +# based on https://gist.github.com/vidavidorra/548ffbcdae99d752da02 +# +# Preconditions: +# - Packages doxygen graphviz must be installed. +# - An gh-pages branch should already exist. See below for mor info on how to +# create a gh-pages branch. +# +# Required global variables: +# - GH_DOC_TOKEN : Secure token to the github repository. +# +# This script will generate Doxygen documentation and push the documentation to +# the gh-pages branch of a repository specified by $TRAVIS_REPO_SLUG +# Before this script is used there should already be a gh-pages branch in the +# repository. +# +# This file is processed by CMAKE to get the version in the commit message +# +################################################################################ + +##### Setup this script and get the current gh-pages branch. +echo 'Setting up the script...' +GH_REPO_NAME=$(echo $TRAVIS_REPO_SLUG | awk -F/ '{print $2}') + +# Exit with nonzero exit code if anything fails +set -e + +# by the time this script is run, we should have already made the docs +cd $TRAVIS_BUILD_DIR/build +#docs should be in the $TRAVIS_BUILD_DIR/build/html directory +if [ ! -d "html" ] || [ ! -f "./html/index.html" ]; then + echo '' >&2 + echo 'Warning: No documentation (html) files have been found!' >&2 + echo 'Warning: Not going to push the documentation to GitHub!' >&2 + exit 0 +fi + +if [ -z "${TRAVIS_TAG}" ] ; then + echo 'Warning: Not a tag' >&2 + echo 'Warning: Not going to push the documentation to GitHub!' >&2 + exit 0 +fi + +# Get the current gh-pages branch +git clone -b gh-pages https://git@github.com/$TRAVIS_REPO_SLUG +cd $GH_REPO_NAME + +# Remove everything currently in the gh-pages branch. +# GitHub is smart enough to know which files have changed and which files have +# stayed the same and will only update the changed files. So the gh-pages branch +# can be safely cleaned, and it is sure that everything pushed later is the new +# documentation. +rm -rf * + +#copy the files over +cp -a ../html/* ./ + +##### Configure git. +# Set the push default to simple i.e. push only the current branch. +git config --global push.default simple +# Pretend to be an user called Travis CI. +git config user.name "Autogenerated by Travis CI" +git config user.email "robin.getz@analog.com" + +# Need to create a .nojekyll file to allow filenames starting with an underscore +# to be seen on the gh-pages site. Therefore creating an empty .nojekyll file. +# Presumably this is only needed when the SHORT_NAMES option in Doxygen is set +# to NO, which it is by default. So creating the file just in case. +if [ ! -f ".nojekyll" ] ; then + touch .nojekyll +fi + +################################################################################ +##### Upload the documentation to the gh-pages branch of the repository. ##### + +echo 'Uploading documentation to the gh-pages branch...' +# Add everything in this directory (the Doxygen code documentation) to the +# gh-pages branch. +# +# GitHub is smart enough to know which files have changed and which files have +# stayed the same and will only update the changed files. +git add --all + +# Commit the added files with a title and description containing the Travis CI +# build number and the GitHub commit reference that issued this build. +git commit -m "Deploy autogenerated docs for ${GH_REPO_NAME} v@LIBIIO_VERSION_MAJOR@.@LIBIIO_VERSION_MINOR@-g@LIBIIO_VERSION_GIT@" --sign + +# Force push to the remote gh-pages branch. +# The ouput is redirected to /dev/null to hide any sensitive credential data +# that might otherwise be exposed. +git push --force "https://${GH_DOC_TOKEN}@github.com/${TRAVIS_REPO_SLUG}" > /dev/null 2>&1 + -- cgit v1.2.3