You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

createPluginJar.sh 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/bash
  2. # This script will create a plugin jar file for a given plugin.
  3. if [ "${1}" = "" -o "${2}" = "" ]; then
  4. echo "Usage Example: ${0} com.dmdirc.addons.windowstatus WindowStatusPlugin"
  5. echo "The above would create WindowStatusPlugin.jar in the plugins/ folder of the current dir"
  6. exit;
  7. fi
  8. pluginname=${1}
  9. foldername=${pluginname//.//}
  10. echo "Creating ${2}.jar for ${pluginname} (${foldername})"
  11. if [ ! -e src/${foldername}/plugin.info ]; then
  12. echo "no plugin.info found";
  13. exit 0;
  14. fi
  15. echo "Building dmdirc"
  16. echo "looking for classes"
  17. srcdir=${PWD}
  18. TMPDIR=`mktemp -d`
  19. echo "Using temp dir: ${TMPDIR}"
  20. cd $TMPDIR
  21. mkdir META-INF
  22. cp ${srcdir}/src/${foldername}/plugin.info META-INF/
  23. foo=`echo $foldername | sed -e 's/\/[^\/]*$//g'`
  24. mkdir -p $foo
  25. cd ${foo}
  26. ln -s ${srcdir}/build/classes/${foldername} .
  27. cd $TMPDIR
  28. mkdir -p ${srcdir}/plugins/
  29. rm -Rf ${srcdir}/plugins/${2}.jar
  30. jar -cvf ${srcdir}/src/${foldername}/${2}.jar META-INF/plugin.info
  31. bit=""
  32. while [ 1 -eq 1 ]; do
  33. bit=${bit}/*
  34. ls ${foo}${bit}/*
  35. if [ ${?} -ne 0 ]; then
  36. break;
  37. else
  38. for thisfile in `ls -1 ${foo}${bit}/*.class`; do
  39. jar -uvf ${srcdir}/src/${foldername}/${2}.jar ${thisfile}
  40. done
  41. fi
  42. done
  43. mv ${srcdir}/src/${foldername}/${2}.jar ${srcdir}/plugins/
  44. echo "done";