bordercastle/bin/bouncycastle-to-bordercastle.sh

80 lines
2.9 KiB
Bash
Executable file

#!/bin/bash
## -- FILE ------------------------------------------------------------------
## name : bouncycastle-to-bordercastle.sh
## project : BoarderZone: BorderCastle
## created : Leon Poyyayil - 2013-08-01
## language : Linux shell script
## environment: GNU bash
## copyright : (c) 1990-2025 by Leon Poyyayil (private), Switzerland
## license : Bouncy Castle License. see LICENSE
## --------------------------------------------------------------------------
# this script is based on the become-spongy.sh script from spongycastle
# but cleaned up and enhanced to support later versions than 1.47 and to
# properly function with filenames that contain spaces.
SCRIPT_DIR="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
MAIN_DIR=$(readlink -f $( dirname "$SCRIPT_DIR") )
pushd $MAIN_DIR > /dev/null
. bordercastle.conf
# Package rename org.bouncycastle to org.bordercastle
# 1) rename directories:
echo "- renaming directories ..."
find bc* -name bouncycastle | xargs rename s/bouncycastle/bordercastle/
# 2) replace package and import statements:
echo "- replacing package names and imports ..."
find bc* -type f -print0 | while read -d '' -r FILENAME
do
TMPFILENAME=$FILENAME.sed.tmp
sed s/bouncycastle/bordercastle/g "$FILENAME" > "$TMPFILENAME"
# keep the web address pointing to the original:
sed s/www.bordercastle.org/www.bouncycastle.org/g "$TMPFILENAME" > "$FILENAME"
rm -f "$TMPFILENAME"
done
# BC to BoCa (resp. BCPQC to BoCaPQC) for provider name
echo "- renaming provider ..."
find bc* -type f -print0 | while read -d '' -r FILENAME
do
TMPFILENAME1=$FILENAME.sed1.tmp
TMPFILENAME2=$FILENAME.sed2.tmp
sed s/\"BC\"/\"BoCa\"/g "$FILENAME" > "$TMPFILENAME1"
sed s/\"BCPQC\"/\"BoCaPQC\"/g "$TMPFILENAME1" > "$TMPFILENAME2"
sed s/\"BCJSSE\"/\"BoCaJSSE\"/g "$TMPFILENAME2" > "$FILENAME"
rm -f "$TMPFILENAME1" "$TMPFILENAME2"
done
# Rename 'bc-' artifacts to 'boca-'
echo "- renaming artifacts ..."
rename s/^bc/boca/ *
echo "- adding version info class ..."
sed s/\"\$\{bordercastle.version\}\"/\"$BC_VER\"/g "bordercastle/Version.java" > "boca-light/src/main/java/org/bordercastle/Version.java"
# add the maven pom files
echo "- generating maven pom files ..."
cp maven/pom/boca-parent.xml pom.xml
for TARGET in light mail pg pkix prov tls util
do
cp maven/pom/boca-$TARGET.xml boca-$TARGET/pom.xml
mkdir -p boca-$TARGET/src/main/java
mkdir -p boca-$TARGET/src/main/resources
mkdir -p boca-$TARGET/src/test/java
mkdir -p boca-$TARGET/src/test/resources
done
# fill in the version
echo "- expanding version in maven pom files ..."
find -type f -name 'pom.xml' | while read -r FILENAME
do
TMPFILENAME=$FILENAME.sed.tmp
sed s/\>\$\{bordercastle.version\}\</\>$BC_VER\</g "$FILENAME" > "$TMPFILENAME"
cat "$TMPFILENAME" > "$FILENAME"
rm -f "$TMPFILENAME"
done
popd >/dev/null
## -- EOF -------------------------------------------------------------------