129937a406
Translation proposals have been changing files in the VENV directory since the pull_from_zanata function downloads all files and it's not clear which directories to use. The find there is from the top level. Move the VENV to outside of the git tree to the tmp directory - like it's done in all other cases for jenkins/scripts/. This also allows to simplify the upstream_translation_update script. Change-Id: Idf344d89691189c7c9ed46ef885433d3db14dff2
118 lines
4.1 KiB
Bash
Executable File
118 lines
4.1 KiB
Bash
Executable File
#!/bin/bash -xe
|
|
|
|
# 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.
|
|
|
|
PROJECT=$1
|
|
|
|
# Replace /'s in branch names with -'s because Zanata doesn't
|
|
# allow /'s in version names.
|
|
ZANATA_VERSION=${ZUUL_REFNAME//\//-}
|
|
|
|
source /usr/local/jenkins/slave_scripts/common_translation_update.sh
|
|
|
|
init_branch $ZUUL_REFNAME
|
|
|
|
# List of all modules to copy POT files from
|
|
ALL_MODULES=""
|
|
|
|
if ! /usr/local/jenkins/slave_scripts/query-zanata-project-version.py \
|
|
-p $PROJECT -v $ZANATA_VERSION; then
|
|
# Exit successfully so that lack of a version doesn't cause the jenkins
|
|
# jobs to fail. This is necessary because not all branches of a project
|
|
# will be translated.
|
|
exit 0
|
|
fi
|
|
|
|
setup_git
|
|
|
|
# Project setup and updating POT files.
|
|
case "$PROJECT" in
|
|
api-site|ha-guide|openstack-manuals|operations-guide|security-doc)
|
|
init_manuals "$PROJECT"
|
|
# POT file extraction is done in setup_manuals.
|
|
setup_manuals "$PROJECT" "$ZANATA_VERSION"
|
|
case "$PROJECT" in
|
|
api-site)
|
|
ALL_MODULES="api-quick-start api-ref-guides api-ref firstapp"
|
|
;;
|
|
security-doc)
|
|
ALL_MODULES="security-guide"
|
|
;;
|
|
*)
|
|
ALL_MODULES="doc"
|
|
;;
|
|
esac
|
|
if [[ "$ZANATA_VERSION" == "master" && -f releasenotes/source/conf.py ]]; then
|
|
extract_messages_releasenotes
|
|
ALL_MODULES="releasenotes $ALL_MODULES"
|
|
fi
|
|
;;
|
|
training-guides)
|
|
setup_training_guides "$ZANATA_VERSION"
|
|
ALL_MODULES="doc"
|
|
;;
|
|
*)
|
|
# Common setup for python and django repositories
|
|
setup_venv
|
|
# ---- Python projects ----
|
|
module_names=$(get_modulename $PROJECT python)
|
|
if [ -n "$module_names" ]; then
|
|
setup_project "$PROJECT" "$ZANATA_VERSION" $module_names
|
|
setup_loglevel_vars
|
|
if [[ "$ZANATA_VERSION" == "master" && -f releasenotes/source/conf.py ]]; then
|
|
extract_messages_releasenotes
|
|
ALL_MODULES="releasenotes $ALL_MODULES"
|
|
fi
|
|
for modulename in $module_names; do
|
|
extract_messages_python "$modulename"
|
|
ALL_MODULES="$modulename $ALL_MODULES"
|
|
done
|
|
fi
|
|
|
|
# ---- Django projects ----
|
|
module_names=$(get_modulename $PROJECT django)
|
|
if [ -n "$module_names" ]; then
|
|
setup_project "$PROJECT" "$ZANATA_VERSION" $module_names
|
|
install_horizon
|
|
if [[ "$ZANATA_VERSION" == "master" && -f releasenotes/source/conf.py ]]; then
|
|
extract_messages_releasenotes
|
|
ALL_MODULES="releasenotes $ALL_MODULES"
|
|
fi
|
|
for modulename in $module_names; do
|
|
extract_messages_django "$modulename"
|
|
ALL_MODULES="$modulename $ALL_MODULES"
|
|
done
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
# Add all changed files to git.
|
|
# Note that setup_manuals did the git add already, so we can skip it
|
|
# here.
|
|
if [[ ! $PROJECT =~ api-site|ha-guide|openstack-manuals|operations-guide|security-doc ]]; then
|
|
git add */locale/*
|
|
fi
|
|
if [ -d releasenotes/source/locale ] ; then
|
|
git add releasenotes/source/locale
|
|
fi
|
|
|
|
if [ $(git diff --cached | egrep -v "(POT-Creation-Date|^[\+\-]#|^\+{3}|^\-{3})" | egrep -c "^[\-\+]") -gt 0 ]; then
|
|
# The Zanata client works out what to send based on the zanata.xml file.
|
|
# Do not copy translations from other files for this change.
|
|
zanata-cli -B -e push --copy-trans False
|
|
# Move pot files to translation-source directory for publishing
|
|
copy_pot "$ALL_MODULES"
|
|
|
|
mv .translation-source translation-source
|
|
fi
|