blob: 502264d0aca15290ac29bf86666a46f3422e77a3 [file] [log] [blame]
#!/usr/bin/env bash
# Small utility to more automatically do the renames the morning of "making visible",
# after artifacts have mirrored. In theory, could be done by a cron or at job.
#
# Note, copy is used, instead of move, so that the parent directory's "modified time" does not change.
# That way the mirroring script won't falsely report "no mirrors" (for a while).
#
# Plus, we "copy over" any existing files, under the assumption that previous labeled files are left in place,
# for a while, so they'd serve as backup. If that ever changes, should make a --backup of
# the original files ... just in case ... but then modified time of parent directory would be
# changed.
#
# And notice we do "artifacts" first, so by the time "content" can be retrieved, by p2, thre will be
# valid artifacts "pointed to". If anyone has already fetched 'content' and in the middle of getting
# artifacts, their downloads should nearly always continue to work (except we do keep only 3 milestones
# in composite, so in theory, they might have stale 'content' data that pointed to an old artifact that
# was no longer in (the newly copied) 'artifacts' file.
function usage ()
{
printf "\n\t%s\n" "This utility is to copy the two composte*XX.jars to their final name of composite*.jar." >&2
printf "\n\t%s\n" "The first (and only) argument is expected to be the pre-visibility label given to the composite files," >&2
printf "\t%s\n\n" "such as M4, RC1, etc." >&2
}
if [[ ! $# = 1 ]]
then
usage
exit 1
fi
LABEL=$1
if [[ -z "${LABEL}" ]]
then
# presumably this would occur if ever called from another script, with an error in it.
# That is, don't think humans would type ./makevisible.sh "" ?
printf "\n\t%s\n" "ERROR: first argument was an empty string?! " >&2
usage
exit 1
fi
cp --verbose compositeArtifacts${LABEL}.jar compositeArtifacts.jar
cp --verbose compositeContent${LABEL}.jar compositeContent.jar