openstack-manuals/tools/sync-projects.sh

95 lines
2.7 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_DIR=$1
if [ -z "$PROJECT_DIR" ] ; then
echo "Usage: $0 PROJECT_DIR"
exit 1
fi
function copy_rst_trans {
target=$1
# Copy over some RST files
mkdir -p $PROJECT_DIR/$target/source/locale
for lang in ja ; do
TARGET=$PROJECT_DIR/$target/source/locale/$lang/LC_MESSAGES
mkdir -p $TARGET
cp doc/common/source/locale/$lang/LC_MESSAGES/common.po \
$TARGET
done
(cd $PROJECT_DIR; git add $target/source/locale/)
}
function copy_rst {
target=$1
# Copy over some RST files
mkdir -p $PROJECT_DIR/$target
tools/glossary2rst.py $PROJECT_DIR/$target/glossary.rst
for filename in app_support.rst conventions.rst; do
cp doc/common/$filename $PROJECT_DIR/$target
done
(cd $PROJECT_DIR; git add $target)
}
function copy_glossary_xml {
GLOSSARY_SUB_DIR=$1
ENT_DIR=$2
CHECK_MARK_DIR=$3
GLOSSARY_DIR="$PROJECT_DIR/$GLOSSARY_SUB_DIR"
cp doc/glossary/glossary-terms.xml $GLOSSARY_DIR/
# Copy only Japanese and zh_CN translations since ha-guide,
# security-guide, and operations-guide are only translated to Japanese
# currently while the ha-guide is additionally translated to zh_CN.
# Training-guides is not translated at all.
cp doc/glossary/locale/{ja,zh_CN}.po $GLOSSARY_DIR/locale/
sed -i -e "s|\"./openstack.ent\"|\"../$ENT_DIR/openstack.ent\"|" \
$GLOSSARY_DIR/glossary-terms.xml
(cd $PROJECT_DIR; git add $GLOSSARY_SUB_DIR)
# Sync entitites file
cp doc/glossary/openstack.ent $GLOSSARY_DIR/../$ENT_DIR/
# Add files
(cd $PROJECT_DIR; git add $GLOSSARY_SUB_DIR \
$GLOSSARY_SUB_DIR/../$ENT_DIR/openstack.ent)
}
case "$PROJECT_DIR" in
api-site)
copy_rst common
copy_rst_trans common
;;
ha-guide)
copy_rst doc/common
copy_rst_trans doc/common
;;
operations-guide)
copy_glossary_xml "doc/glossary" "openstack-ops" "figures"
copy_rst doc/common
;;
security-doc)
copy_rst common
copy_rst_trans common
;;
*)
echo "$PROJECT_DIR not handled"
exit 1
;;
esac