#!/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\ "$TMPFILENAME" cat "$TMPFILENAME" > "$FILENAME" rm -f "$TMPFILENAME" done popd >/dev/null ## -- EOF -------------------------------------------------------------------