Update autorevision script with upstream changes

this fixes autorevision errors if running from under su
This commit is contained in:
loonycyborg 2017-03-11 04:15:20 +03:00
parent 41647cec83
commit 05f9f00289
4 changed files with 1354 additions and 706 deletions

View file

@ -147,7 +147,7 @@ if(NOT DEFINED ENABLE_DISPLAY_REVISION)
# the display of revision numbers by default.
execute_process(
COMMAND
${CMAKE_SOURCE_DIR}/utils/autorevision
${CMAKE_SOURCE_DIR}/utils/autorevision.sh
-th
> ${CMAKE_CURRENT_BINARY_DIR}/revision.dummy
WORKING_DIRECTORY

View file

@ -523,7 +523,7 @@ if not env['static_test']:
test_env.Append(CPPDEFINES = "BOOST_TEST_DYN_LINK")
try:
if call(env.subst("utils/autorevision -t h > $build_dir/revision.h"), shell=True) == 0:
if call(env.subst("utils/autorevision.sh -t h > $build_dir/revision.h"), shell=True) == 0:
env["have_autorevision"] = True
if not call(env.subst("cmp -s $build_dir/revision.h src/revision.h"), shell=True) == 0:
call(env.subst("cp $build_dir/revision.h src/revision.h"), shell=True)

View file

@ -1,704 +0,0 @@
#!/bin/sh
# Copyright (c) 2012 dak180
# See http://opensource.org/licenses/bsd-license.php for licence terms
#
# autorevision - extracts metadata about the head version from your repository.
# Usage message.
arUsage() {
cat > "/dev/stderr" << EOF
usage: ./autorevision {-t output-type | -s symbol} [-o cache-file [-f] ] [-V]
Options include:
-t output-type = specify output type
-s symbol = specify symbol output
-o cache-file = specify cache file location
-f = force the use of cache data
-V = emit version and exit
-? = help message
The folowing are valid output types:
h = Header for use with c/c++
xcode = Header useful for populating info.plist files
sh = Bash sytax
py = Python file
pl = Perl file
lua = Lua file
php = PHP file
ini = INI file
js = javascript file
java = Java file
javaprop = Java properties file
tex = (La)TeX file
m4 = m4 file
The following are valid symbols:
VCS_TYPE
VCS_BASENAME
VCS_NUM
VCS_DATE
VCS_BRANCH
VCS_TAG
VCS_TICK
VCS_FULL_HASH
VCS_SHORT_HASH
VCS_WC_MODIFIED
EOF
exit 1
}
# Config
ARVERSION="1.4"
TARGETFILE="/dev/stdout"
while getopts ":t:o:s:Vf" OPTION; do
case "${OPTION}" in
t)
AFILETYPE="${OPTARG}"
;;
o)
CACHEFILE="${OPTARG}"
;;
f)
CACHEFORCE="1"
;;
s)
VAROUT="${OPTARG}"
;;
V)
echo "autorevision ${ARVERSION}"
exit 0
;;
?)
# If an unknown flag is used (or -?):
arUsage
;;
esac
done
if [ ! -z "${VAROUT}" ] && [ ! -z "${AFILETYPE}" ]; then
# If both -s and -t are specified:
echo "error: Improper argument combination." 1>&2
exit 1
elif [ -z "${VAROUT}" ] && [ -z "${AFILETYPE}" ]; then
# If neither -s or -t are specified:
arUsage
elif [ -z "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then
# If -f is specified without -o:
arUsage
fi
# Functions to extract data from different repo types.
# For git repos
gitRepo() {
cd "$(git rev-parse --show-toplevel)"
VCS_TYPE="git"
VCS_BASENAME="$(basename "${PWD}")"
# Is the working copy clean?
test -z "$(git status -uno --porcelain)"
VCS_WC_MODIFIED="${?}"
# Enumeration of changesets
VCS_NUM="$(git rev-list --count HEAD 2>/dev/null)"
if [ -z "${VCS_NUM}" ]; then
echo "warning: Counting the number of revisions may be slower due to an outdated git version less than 1.7.2.3. If something breaks, please update it." 1>&2
VCS_NUM="$(git rev-list HEAD | wc -l)"
fi
# The full revision hash
VCS_FULL_HASH="$(git rev-parse HEAD)"
# The short hash
VCS_SHORT_HASH="$(echo "${VCS_FULL_HASH}" | cut -b 1-7)"
# Current branch
VCS_BRANCH="$(git rev-parse --symbolic-full-name --verify "$(git name-rev --name-only --no-undefined HEAD 2>/dev/null)" 2>/dev/null | sed -e 's:refs/heads/::' | sed -e 's:refs/::')"
# Cache the description
DESCRIPTION="$(git describe --long --tags 2>/dev/null)"
# Current or last tag ancestor (empty if no tags)
VCS_TAG="$(echo "${DESCRIPTION}" | sed -e "s:-g${VCS_SHORT_HASH}\$::" | sed -e 's:-[0-9]*$::')"
# Distance to last tag or an alias of VCS_NUM if there is no tag
if [ ! -z "${DESCRIPTION}" ]; then
VCS_TICK="$(echo "${DESCRIPTION}" | sed -e "s:${VCS_TAG}-::" -e "s:-g${VCS_SHORT_HASH}::")"
else
VCS_TICK="${VCS_NUM}"
fi
# Date of the current commit
VCS_DATE="$(git log -1 --pretty=format:%ci | sed -e 's: :T:' | sed -e 's: ::')"
}
# For hg repos
hgRepo() {
cd "$(hg root)"
VCS_TYPE="hg"
VCS_BASENAME="$(basename "${PWD}")"
# Is the working copy clean?
hg sum | grep -q 'commit: (clean)'
VCS_WC_MODIFIED="${?}"
# Enumeration of changesets
VCS_NUM="$(hg id -n | tr -d '+')"
# The full revision hash
VCS_FULL_HASH="$(hg log -r "${VCS_NUM}" -l 1 --template '{node}\n')"
# The short hash
VCS_SHORT_HASH="$(hg id -i | tr -d '+')"
# Current bookmark (bookmarks are roughly equivalent to git's branches)
# or branch if no bookmark
VCS_BRANCH="$(hg id -B | cut -d ' ' -f 1)"
# Fall back to the branch if there are no bookmarks
if [ -z "${VCS_BRANCH}" ]; then
VCS_BRANCH="$(hg id -b)"
fi
# Current or last tag ancestor (excluding auto tags, empty if no tags)
VCS_TAG="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttag}\n' 2>/dev/null | sed -e 's:qtip::' -e 's:tip::' -e 's:qbase::' -e 's:qparent::' -e "s:$(hg --config 'extensions.color=' --color never qtop 2>/dev/null)::" | cut -d ' ' -f 1)"
# Distance to last tag or an alias of VCS_NUM if there is no tag
if [ ! -z "${VCS_TAG}" ]; then
VCS_TICK="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttagdistance}\n' 2>/dev/null)"
else
VCS_TICK="${VCS_NUM}"
fi
# Date of the current commit
VCS_DATE="$(hg log -r "${VCS_NUM}" -l 1 --template '{date|isodatesec}\n' 2>/dev/null | sed -e 's: :T:' | sed -e 's: ::')"
}
# For bzr repos
bzrRepo() {
cd "$(bzr root)"
VCS_TYPE="bzr"
VCS_BASENAME="$(basename "${PWD}")"
# Is the working copy clean?
bzr version-info --custom --template='{clean}\n' | grep -q '1'
VCS_WC_MODIFIED="${?}"
# Enumeration of changesets
VCS_NUM="$(bzr revno)"
# The full revision hash
VCS_FULL_HASH="$(bzr version-info --custom --template='{revision_id}\n')"
# The short hash
VCS_SHORT_HASH="${VCS_NUM}"
# Nick of the current branch
VCS_BRANCH="$(bzr nick)"
# Current or last tag ancestor (excluding auto tags, empty if no tags)
VCS_TAG="$(bzr tags --sort=time | sed '/?$/d' | tail -n1 | cut -d ' ' -f1)"
# Distance to last tag or an alias of VCS_NUM if there is no tag
if [ ! -z "${VCS_TAG}" ]; then
VCS_TICK="$(bzr log --line -r "tag:${VCS_TAG}.." | tail -n +2 | wc -l | sed -e 's:^ *::')"
else
VCS_TICK="${VCS_NUM}"
fi
# Date of the current commit
VCS_DATE="$(bzr version-info --custom --template='{date}\n' | sed -e 's: :T:' | sed -e 's: ::')"
}
# For svn repos
svnRepo() {
VCS_TYPE="svn"
case "${PWD}" in
/*trunk*|/*branches*|/*tags*)
fn="${PWD}"
while [ "$(basename "${fn}")" != 'trunk' ] && [ "$(basename "${fn}")" != 'branches' ] && [ "$(basename "${fn}")" != 'tags' ] && [ "$(basename "${fn}")" != '/' ]; do
fn="$(dirname "${fn}")"
done
fn="$(dirname "${fn}")"
if [ "${fn}" = '/' ]; then
VCS_BASENAME="$(basename "${PWD}")"
else
VCS_BASENAME="$(basename "${fn}")"
fi
;;
*) VCS_BASENAME="$(basename "${PWD}")" ;;
esac
# Cache svnversion output
SVNVERSION="$(svnversion)"
# Is the working copy clean?
echo "${SVNVERSION}" | grep -q "M"
case "${?}" in
0) VCS_WC_MODIFIED="1";;
1) VCS_WC_MODIFIED="0";;
esac
# Enumeration of changesets
VCS_NUM="$(echo "${SVNVERSION}" | cut -d : -f 1 | sed -e 's:M::' -e 's:S::' -e 's:P::')"
# The full revision hash
VCS_FULL_HASH="${SVNVERSION}"
# The short hash
VCS_SHORT_HASH="${VCS_NUM}"
# Current branch
case "${PWD}" in
/*trunk*|/*branches*|/*tags*)
lastbase=""
fn="${PWD}"
while :
do
base="$(basename "${fn}")"
if [ "${base}" = 'trunk' ]; then
VCS_BRANCH='trunk'
break
elif [ "${base}" = 'branches' ] || [ "${base}" = 'tags' ]; then
VCS_BRANCH="${lastbase}"
break
elif [ "${base}" = '/' ]; then
VCS_BRANCH=""
break
fi
lastbase="${base}"
fn="$(dirname "${fn}")"
done
;;
*) VCS_BRANCH="" ;;
esac
# Current or last tag ancestor (empty if no tags). But "current tag"
# can't be extracted reliably because Subversion doesn't have tags the
# way other VCSes do.
VCS_TAG=""
VCS_TICK=""
# Date of the current commit
VCS_DATE="$(svn info | sed -n -e 's:Last Changed Date\: ::p' | sed 's: (.*)::' | sed -e 's: :T:' | sed -e 's: ::')"
}
# Functions to output data in different formats.
# For header output
hOutput() {
cat > "${TARGETFILE}" << EOF
/* Generated by autorevision - do not hand-hack! */
#ifndef AUTOREVISION_H
#define AUTOREVISION_H
#define VCS_TYPE "${VCS_TYPE}"
#define VCS_BASENAME "${VCS_BASENAME}"
#define VCS_NUM ${VCS_NUM}
#define VCS_DATE "${VCS_DATE}"
#define VCS_BRANCH "${VCS_BRANCH}"
#define VCS_TAG "${VCS_TAG}"
#define VCS_TICK ${VCS_TICK}
#define VCS_FULL_HASH "${VCS_FULL_HASH}"
#define VCS_SHORT_HASH "${VCS_SHORT_HASH}"
#define VCS_WC_MODIFIED ${VCS_WC_MODIFIED}
#endif
/* end */
EOF
}
# A header output for use with xcode to populate info.plist strings
xcodeOutput() {
cat > "${TARGETFILE}" << EOF
/* Generated by autorevision - do not hand-hack! */
#ifndef AUTOREVISION_H
#define AUTOREVISION_H
#define VCS_TYPE ${VCS_TYPE}
#define VCS_BASENAME ${VCS_BASENAME}
#define VCS_NUM ${VCS_NUM}
#define VCS_DATE ${VCS_DATE}
#define VCS_BRANCH ${VCS_BRANCH}
#define VCS_TAG ${VCS_TAG}
#define VCS_TICK ${VCS_TICK}
#define VCS_FULL_HASH ${VCS_FULL_HASH}
#define VCS_SHORT_HASH ${VCS_SHORT_HASH}
#define VCS_WC_MODIFIED ${VCS_WC_MODIFIED}
#endif
/* end */
EOF
}
# For bash output
shOutput() {
cat > "${TARGETFILE}" << EOF
# Generated by autorevision - do not hand-hack!
VCS_TYPE="${VCS_TYPE}"
VCS_BASENAME="${VCS_BASENAME}"
VCS_NUM=${VCS_NUM}
VCS_DATE="${VCS_DATE}"
VCS_BRANCH="${VCS_BRANCH}"
VCS_TAG="${VCS_TAG}"
VCS_TICK=${VCS_TICK}
VCS_FULL_HASH="${VCS_FULL_HASH}"
VCS_SHORT_HASH="${VCS_SHORT_HASH}"
VCS_WC_MODIFIED=${VCS_WC_MODIFIED}
# end
EOF
}
# For Python output
pyOutput() {
case "${VCS_WC_MODIFIED}" in
0) VCS_WC_MODIFIED="False" ;;
1) VCS_WC_MODIFIED="True" ;;
esac
cat > "${TARGETFILE}" << EOF
# Generated by autorevision - do not hand-hack!
VCS_TYPE = "${VCS_TYPE}"
VCS_BASENAME = "${VCS_BASENAME}"
VCS_NUM = ${VCS_NUM}
VCS_DATE = "${VCS_DATE}"
VCS_BRANCH = "${VCS_BRANCH}"
VCS_TAG = "${VCS_TAG}"
VCS_TICK = ${VCS_TICK}
VCS_FULL_HASH = "${VCS_FULL_HASH}"
VCS_SHORT_HASH = "${VCS_SHORT_HASH}"
VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}
# end
EOF
}
# For Perl output
plOutput() {
cat << EOF
# Generated by autorevision - do not hand-hack!
\$VCS_TYPE = "${VCS_TYPE}";
\$VCS_BASENAME = "${VCS_BASENAME}"
\$VCS_NUM = ${VCS_NUM};
\$VCS_DATE = "${VCS_DATE}";
\$VCS_BRANCH = "${VCS_BRANCH}";
\$VCS_TAG = "${VCS_TAG}";
\$VCS_TICK = ${VCS_TICK};
\$VCS_FULL_HASH = "${VCS_FULL_HASH}";
\$VCS_SHORT_HASH = "${VCS_SHORT_HASH}";
\$VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
# end
EOF
}
# For lua output
luaOutput() {
case "${VCS_WC_MODIFIED}" in
0) VCS_WC_MODIFIED="false" ;;
1) VCS_WC_MODIFIED="true" ;;
esac
cat > "${TARGETFILE}" << EOF
-- Generated by autorevision - do not hand-hack!
VCS_TYPE = "${VCS_TYPE}"
VCS_BASENAME = "${VCS_BASENAME}"
VCS_NUM = ${VCS_NUM}
VCS_DATE = "${VCS_DATE}"
VCS_BRANCH = "${VCS_BRANCH}"
VCS_TAG = "${VCS_TAG}"
VCS_TICK = ${VCS_TICK}
VCS_FULL_HASH = "${VCS_FULL_HASH}"
VCS_SHORT_HASH = "${VCS_SHORT_HASH}"
VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}
-- end
EOF
}
# For php output
phpOutput() {
case "${VCS_WC_MODIFIED}" in
0) VCS_WC_MODIFIED="false" ;;
1) VCS_WC_MODIFIED="true" ;;
esac
cat > "${TARGETFILE}" << EOF
<?php
# Generated by autorevision - do not hand-hack!
$GLOBALS["VCS_TYPE"] = "${VCS_TYPE}";
$GLOBALS["VCS_BASENAME"] = "${VCS_BASENAME}";
$GLOBALS["VCS_NUM"] = ${VCS_NUM};
$GLOBALS["VCS_DATE"] = "${VCS_DATE}";
$GLOBALS["VCS_BRANCH"] = "${VCS_BRANCH}";
$GLOBALS["VCS_TAG"] = "${VCS_TAG}";
$GLOBALS["VCS_TICK"] = ${VCS_TICK};
$GLOBALS["VCS_FULL_HASH"] = "${VCS_FULL_HASH}";
$GLOBALS["VCS_SHORT_HASH"] = "${VCS_SHORT_HASH}";
$GLOBALS["VCS_WC_MODIFIED"] = ${VCS_WC_MODIFIED};
# end
?>
EOF
}
# For ini output
iniOutput() {
case "${VCS_WC_MODIFIED}" in
0) VCS_WC_MODIFIED="false" ;;
1) VCS_WC_MODIFIED="true" ;;
esac
cat > "${TARGETFILE}" << EOF
; Generated by autorevision - do not hand-hack!
[VCS]
VCS_TYPE = "${VCS_TYPE}"
VCS_BASENAME = "${VCS_BASENAME}"
VCS_NUM = ${VCS_NUM}
VCS_DATE = "${VCS_DATE}"
VCS_BRANCH = "${VCS_BRANCH}"
VCS_TAG = "${VCS_TAG}"
VCS_TICK = ${VCS_TICK}
VCS_FULL_HASH = "${VCS_FULL_HASH}"
VCS_SHORT_HASH = "${VCS_SHORT_HASH}"
VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}
; end
EOF
}
# For javascript output
jsOutput() {
case "${VCS_WC_MODIFIED}" in
1) VCS_WC_MODIFIED="true" ;;
0) VCS_WC_MODIFIED="false" ;;
esac
cat > "${TARGETFILE}" << EOF
/** Generated by autorevision - do not hand-hack! */
var autorevision = {
VCS_TYPE: "${VCS_TYPE}",
VCS_BASENAME: "${VCS_BASENAME}",
VCS_NUM: ${VCS_NUM},
VCS_DATE: "${VCS_DATE}",
VCS_BRANCH: "${VCS_BRANCH}",
VCS_TAG: "${VCS_TAG}",
VCS_TICK: ${VCS_TICK},
VCS_FULL_HASH: "${VCS_FULL_HASH}",
VCS_SHORT_HASH: "${VCS_SHORT_HASH}",
VCS_WC_MODIFIED: ${VCS_WC_MODIFIED}
};
/** Node.js compatibility */
if (typeof module !== 'undefined') {
module.exports = autorevision;
}
/** end */
EOF
}
# For Java output
javaOutput() {
case "${VCS_WC_MODIFIED}" in
1) VCS_WC_MODIFIED="true" ;;
0) VCS_WC_MODIFIED="false" ;;
esac
cat > "${TARGETFILE}" << EOF
/* Generated by autorevision - do not hand-hack! */
import java.util.Date;
public class autorevision {
public static final String VCS_TYPE = "${VCS_TYPE}";
public static final String VCS_BASENAME = "${VCS_BASENAME}";
public static final long VCS_NUM = ${VCS_NUM};
public static final Date VCS_DATE = new Date($(date -d ${VCS_DATE} +%s));
public static final String VCS_BRANCH = "${VCS_BRANCH}";
public static final String VCS_TAG = "${VCS_TAG}";
public static final long VCS_TICK = ${VCS_TICK};
public static final String VCS_FULL_HASH = "${VCS_FULL_HASH}";
public static final String VCS_SHORT_HASH = "${VCS_SHORT_HASH}";
public static final boolean VCS_WC_MODIFIED = ${VCS_WC_MODIFIED};
}
EOF
}
# For Java properties output
javapropOutput() {
case "${VCS_WC_MODIFIED}" in
1) VCS_WC_MODIFIED="true" ;;
0) VCS_WC_MODIFIED="false" ;;
esac
cat > "${TARGETFILE}" << EOF
# Generated by autorevision - do not hand-hack!
VCS_TYPE=${VCS_TYPE}
VCS_BASENAME=${VCS_BASENAME}
VCS_NUM=${VCS_NUM}
VCS_DATE=${VCS_DATE}
VCS_BRANCH=${VCS_BRANCH}
VCS_TAG=${VCS_TAG}
VCS_TICK=${VCS_TICK}
VCS_FULL_HASH=${VCS_FULL_HASH}
VCS_SHORT_HASH=${VCS_SHORT_HASH}
VCS_WC_MODIFIED=${VCS_WC_MODIFIED}
EOF
}
# For m4 output
m4Output() {
cat > "${TARGETFILE}" << EOF
define(\`VCS_TYPE', \`${VCS_TYPE}')dnl
define(\`VCS_BASENAME', \`${VCS_BASENAME}')dnl
define(\`VCS_NUM', \`${VCS_NUM}')dnl
define(\`VCS_DATE', \`${VCS_DATE}')dnl
define(\`VCS_BRANCH', \`${VCS_BRANCH}')dnl
define(\`VCS_TAG', \`${VCS_TAG}')dnl
define(\`VCS_TICK', \`${VCS_TICK}')dnl
define(\`VCS_FULLHASH', \`${VCS_FULL_HASH}')dnl
define(\`VCS_SHIRTHASH', \`${VCS_SHORT_HASH}')dnl
define(\`VCS_WC_MODIFIED', \`${VCS_WC_MODIFIED}')dnl
EOF
}
# For (La)TeX output
texOutput() {
case "${VCS_WC_MODIFIED}" in
0) VCS_WC_MODIFIED="false" ;;
1) VCS_WC_MODIFIED="true" ;;
esac
cat > "${TARGETFILE}" << EOF
% Generated by autorevision - do not hand-hack!
\def \vcsType {${VCS_TYPE}}
\def \vcsBasename {${VCS_BASENAME}}
\def \vcsNum {${VCS_NUM}}
\def \vcsDate {${VCS_DATE}}
\def \vcsBranch {${VCS_BRANCH}}
\def \vcsTag {${VCS_TAG}}
\def \vcsTick {${VCS_TICK}}
\def \vcsFullHash {${VCS_FULL_HASH}}
\def \vcsShortHash {${VCS_SHORT_HASH}}
\def \vcsWCModified {${VCS_WC_MODIFIED}}
\endinput
EOF
}
# Detect and collect repo data.
if [ -f "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then
# When requested only read from the cache to populate our symbols.
source "${CACHEFILE}"
elif [ ! -z "$(git rev-parse HEAD 2>/dev/null)" ]; then
gitRepo
elif [ ! -z "$(hg root 2>/dev/null)" ]; then
hgRepo
elif [ ! -z "$(bzr root 2>/dev/null)" ]; then
bzrRepo
elif [ ! -z "$(svn info 2>/dev/null)" ]; then
svnRepo
elif [ -f "${CACHEFILE}" ]; then
# We are not in a repo; try to use a previously generated cache to populate our symbols.
source "${CACHEFILE}"
else
echo "error: No repo or cache detected." 1>&2
exit 1
fi
# -s output is handled here.
if [ ! -z "${VAROUT}" ]; then
if [ "${VAROUT}" = "VCS_TYPE" ]; then
echo "${VCS_TYPE}"
elif [ "${VAROUT}" = "VCS_BASENAME" ]; then
echo "${VCS_BASENAME}"
elif [ "${VAROUT}" = "VCS_NUM" ]; then
echo "${VCS_NUM}"
elif [ "${VAROUT}" = "VCS_DATE" ]; then
echo "${VCS_DATE}"
elif [ "${VAROUT}" = "VCS_BRANCH" ]; then
echo "${VCS_BRANCH}"
elif [ "${VAROUT}" = "VCS_TAG" ]; then
echo "${VCS_TAG}"
elif [ "${VAROUT}" = "VCS_TICK" ]; then
echo "${VCS_TICK}"
elif [ "${VAROUT}" = "VCS_FULL_HASH" ]; then
echo "${VCS_FULL_HASH}"
elif [ "${VAROUT}" = "VCS_SHORT_HASH" ]; then
echo "${VCS_SHORT_HASH}"
elif [ "${VAROUT}" = "VCS_WC_MODIFIED" ]; then
echo "${VCS_WC_MODIFIED}"
fi
fi
# Detect requested output type and use it.
if [ ! -z "${AFILETYPE}" ]; then
if [ "${AFILETYPE}" = "h" ]; then
hOutput
elif [ "${AFILETYPE}" = "xcode" ]; then
xcodeOutput
elif [ "${AFILETYPE}" = "sh" ]; then
shOutput
elif [ "${AFILETYPE}" = "py" ] || [ "${AFILETYPE}" = "python" ]; then
pyOutput
elif [ "${AFILETYPE}" = "pl" ] || [ "${AFILETYPE}" = "perl" ]; then
plOutput
elif [ "${AFILETYPE}" = "lua" ]; then
luaOutput
elif [ "${AFILETYPE}" = "php" ]; then
phpOutput
elif [ "${AFILETYPE}" = "ini" ]; then
iniOutput
elif [ "${AFILETYPE}" = "js" ]; then
jsOutput
elif [ "${AFILETYPE}" = "java" ]; then
javaOutput
elif [ "${AFILETYPE}" = "javaprop" ]; then
javapropOutput
elif [ "${AFILETYPE}" = "tex" ]; then
texOutput
elif [ "${AFILETYPE}" = "m4" ]; then
m4Output
else
echo "error: Not a valid output type." 1>&2
exit 1
fi
fi
# If requested, make a cache file.
if [ ! -z "${CACHEFILE}" ] && [ ! "${CACHEFORCE}" = "1" ]; then
TARGETFILE="${CACHEFILE}"
shOutput
fi

1352
utils/autorevision.sh Executable file

File diff suppressed because it is too large Load diff