From b4b785dfcdb20ed9a33fbe0ece8a5b104f80590d Mon Sep 17 00:00:00 2001 From: jkkn Date: Wed, 17 Oct 2007 09:19:28 +0000 Subject: [PATCH] added auto version insertion --- build.sh | 54 +++++++++++++++++++++++++++++++++++----------- chrome.manifest | 6 +++--- content/about.xul | 2 +- install.rdf | 2 +- tv2developer.xpi | Bin 14387 -> 0 bytes version | 1 + webroot/.htaccess | 1 + 7 files changed, 49 insertions(+), 17 deletions(-) delete mode 100644 tv2developer.xpi create mode 100644 version create mode 100644 webroot/.htaccess diff --git a/build.sh b/build.sh index e8f17fc..79671e5 100755 --- a/build.sh +++ b/build.sh @@ -57,37 +57,45 @@ TMP_DIR=build #set -x # remove any left-over files from previous build -rm $APP_NAME.jar -rm $APP_NAME.xpi -rm files -rm -rf $TMP_DIR +rm $APP_NAME.jar 2>/dev/null +rm $APP_NAME.xpi 2>/dev/null +rm files 2>/dev/null +rm -rf $TMP_DIR 2>/dev/null -vi install.rdf content/about.xul +#vi install.rdf content/about.xul $BEFORE_BUILD +VERSION=`head -1 version` + +echo "Build for version $VERSION..." + + mkdir -pv $TMP_DIR/chrome +mkdir -pv $TMP_DIR/chrome-tmp # generate the JAR file, excluding CVS and temporary files JAR_FILE=$TMP_DIR/chrome/$APP_NAME.jar -echo "Generating $JAR_FILE..." for CHROME_SUBDIR in $CHROME_PROVIDERS; do - find $CHROME_SUBDIR -path '*CVS*' -prune -o -type f -print | grep -v \~ >> files + cp -r $CHROME_SUBDIR $TMP_DIR/chrome-tmp/ done -zip -0 -r $JAR_FILE `cat files` # The following statement should be used instead if you don't wish to use the JAR file #cp --verbose --parents `cat files` $TMP_DIR/chrome # prepare components and defaults echo "Copying various files to $TMP_DIR folder..." for DIR in $ROOT_DIRS; do - mkdir $TMP_DIR/$DIR FILES="`find $DIR -path '*CVS*' -prune -o -type f -print | grep -v \~`" echo $FILES >> files - cp -v -r $DIR $TMP_DIR + cp -r $DIR $TMP_DIR done +# Remove CVS dirs +echo `pwd` +echo $TMP_DIR +find $TMP_DIR -path '*CVS*' -type d -print0 | xargs -0 rm -rf + # Copy other files to the root of future XPI. for ROOT_FILE in $ROOT_FILES install.rdf chrome.manifest; do cp -v $ROOT_FILE $TMP_DIR @@ -100,6 +108,12 @@ cd $TMP_DIR if [ -f "chrome.manifest" ]; then echo "Preprocessing chrome.manifest..." + + perl -pi -e "s/^(content\s+\S*\s+)(\S*\/)$/\1jar:chrome\/$APP_NAME\.jar!\/\\2/g" chrome.manifest + perl -pi -e "s/^(skin|locale)(\s+\S*\s+\S*\s+)(.*\/)$/\1\2jar:chrome\/$APP_NAME\.jar!\/\3/g" chrome.manifest + + cat chrome.manifest + # You think this is scary? #s/^(content\s+\S*\s+)(\S*\/)$/\1jar:chrome\/$APP_NAME\.jar!\/\2/ #s/^(skin|locale)(\s+\S*\s+\S*\s+)(.*\/)$/\1\2jar:chrome\/$APP_NAME\.jar!\/\3/ @@ -111,6 +125,17 @@ if [ -f "chrome.manifest" ]; then # (it simply adds jar:chrome/whatever.jar!/ at appropriate positions of chrome.manifest) fi +# updating version information - added jkkn +find . -type f \( -name "*.js" -or -name "*.xul" -or -name "*.rdf" \) | while read y; do +perl -pi -e "s/\\\$\{VERSION}/$VERSION/g" $y; +done + +echo "Generating $JAR_FILE..." +cd chrome-tmp +zip -0 -r ../../$JAR_FILE * +cd .. +rm -rf chrome-tmp + # generate the XPI file echo "Generating $APP_NAME.xpi..." zip -r ../$APP_NAME.xpi * @@ -128,8 +153,13 @@ fi # remove the working files rm -rf $TMP_DIR -cp -v tv2developer.xpi /sites/jkkndk/www.jkkn.net/webroot/tv2developer/ -vi /sites/jkkndk/www.jkkn.net/webroot/tv2developer/update.rdf +WEBPATH=/sites/jkkndk/www.jkkn.net/webroot/tv2developer/ +cp -v tv2developer.xpi $WEBPATH +cp -R webroot/ $WEBPATH +find $WEBPATH -path '*CVS*' -type d -print0 | xargs -0 rm -rf +find $WEBPATH -type f \( -name "*.html" -or -name "*.php" -or -name "*.rdf" \) | while read y; do + perl -pi -e "s/\\\${VERSION}/$VERSION/g" $y; +done echo "Done!" $AFTER_BUILD diff --git a/chrome.manifest b/chrome.manifest index dcd0227..d6e5173 100755 --- a/chrome.manifest +++ b/chrome.manifest @@ -1,6 +1,6 @@ -content tv2developer jar:chrome/tv2developer.jar!/content/ -skin tv2developer classic/1.0 jar:chrome/tv2developer.jar!/skin/ -locale tv2developer en-US jar:chrome/tv2developer.jar!/locale/en-US/ +content tv2developer content/ +skin tv2developer classic/1.0 skin/ +locale tv2developer en-US locale/en-US/ overlay chrome://browser/content/browser.xul chrome://tv2developer/content/browser_overlay.xul style chrome://global/content/customizeToolbar.xul chrome://tv2developer/skin/tv2developer.css diff --git a/content/about.xul b/content/about.xul index e091aa3..b47b8f2 100755 --- a/content/about.xul +++ b/content/about.xul @@ -11,7 +11,7 @@ - + {17AB1CC5-F137-4697-9E48-D8C49AFC3B77} TV 2 Developer Plugin - 0.4.14 + ${VERSION} Adds a menu with tv2.dk development URLs depending on the tv2-page you are visting. Kristian Kræmmer Nielsen http://jkkn.dk/tv2developer/ diff --git a/tv2developer.xpi b/tv2developer.xpi deleted file mode 100644 index ccb684e15c4c80b638d07d58fedbc818a8b388d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14387 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 diff --git a/version b/version new file mode 100644 index 0000000..4ea988f --- /dev/null +++ b/version @@ -0,0 +1 @@ +0.4.15 diff --git a/webroot/.htaccess b/webroot/.htaccess new file mode 100644 index 0000000..6134935 --- /dev/null +++ b/webroot/.htaccess @@ -0,0 +1 @@ +AddType application/x-xpinstall .xpi -- 2.52.0