releasebuild.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #! /bin/sh
  2. # This script must be run from the project root directory
  3. # Edit this release number before running. It is used to check jar names etc.
  4. RELEASE_VERSION=1.0.5-SNAPSHOT
  5. PROJ_DIR=`pwd`;
  6. RELEASE_DIR=$PROJ_DIR/release
  7. SITE_DIR=$RELEASE_DIR/site
  8. echo "** Project directory is $PROJ_DIR"
  9. SVN_REV=`svn info $PROJ_DIR | grep Revision | sed "s/Revision: //"`
  10. echo "** Building from revision $SVN_REV"
  11. if [[ -e $RELEASE_DIR ]]
  12. then
  13. rm -Rf $RELEASE_DIR
  14. fi
  15. mkdir $RELEASE_DIR
  16. mkdir $SITE_DIR
  17. # run maven to generate jars
  18. mvn clean install -DcreateChecksum=true
  19. if [ "$?" -ne 0 ]
  20. then
  21. echo "mvn install failed"
  22. exit 1;
  23. fi
  24. echo "** Generating site in $SITE_DIR".
  25. mvn site docbkx:generate-html docbkx:generate-pdf site:deploy -DsiteDirectory=file://${SITE_DIR}
  26. if [ "$?" -ne 0 ]
  27. then
  28. echo "mvn site generation failed"
  29. exit 1;
  30. fi
  31. # Patch the module site files to point to the correct css file
  32. pushd $RELEASE_DIR/site
  33. find . -name "*.html" -maxdepth 2 -mindepth 2 | xargs perl -i -p -e 's#\./css/site\.css#\.\./css/site\.css#'
  34. popd
  35. # Assemble the required jar files
  36. find . -name "*${RELEASE_VERSION}.jar" | grep -v WEB-INF | xargs -J % -n 1 cp % $RELEASE_DIR
  37. find . -name "*${RELEASE_VERSION}.war" | xargs -J % -n 1 cp % $RELEASE_DIR
  38. # Should be 9 archives - core, core-tiger, the adapters (cas, jboss, resin, jetty, catalina), tutorial and contacts wars.
  39. pushd $RELEASE_DIR
  40. NUM_JARS=`ls *.jar *.war | wc -l`
  41. if [ "$NUM_JARS" -ne 9 ]
  42. then
  43. echo "Expected 9 Jar files but found $NUM_JARS."
  44. exit 1
  45. fi
  46. # Create the signatures
  47. for jar in $(ls *.jar *.war); do
  48. openssl sha1 < $jar > $jar.sha1
  49. openssl md5 < $jar > $jar.md5
  50. done
  51. popd