chris@168: #!/bin/sh chris@168: chris@168: # Run this script from /var/doc/ chris@168: chris@168: # Find Hg repo and update it chris@168: chris@168: docdir=$(pwd) chris@168: name=$(basename $(pwd)) chris@168: hgdir="/var/hg/$name" chris@168: echo "Extracting doc for $name" chris@168: if [ ! -d "$hgdir" ]; then chris@168: echo "Error: No $hgdir found for project $name" chris@168: exit 1 chris@168: fi chris@168: ( cd "$hgdir" ; hg update ) || exit 1 chris@168: chris@168: # Identify either a Doxyfile or some Java packages chris@168: chris@168: # TODO: Doxyfile chris@168: chris@168: chris@168: # This is very rough; check what is actually permitted for package chris@168: # declarations chris@168: chris@168: java_packages=`find "$hgdir" -type f -name \*.java -print | \ chris@168: xargs grep -h '^ *package [a-zA-Z][a-zA-Z0-9\._-]* *; *' | sort | uniq | \ chris@168: sed -e 's/^ *package //' -e 's/ *; *$//'` chris@168: chris@168: echo "This project contains java packages:" chris@168: echo "$java_packages" chris@168: chris@168: # This won't work if code is in a subdir, e.g. src/com/example/project/Hello.java chris@168: chris@168: javadoc -sourcepath "$hgdir" -d . -subpackages $java_packages -verbose chris@168: chris@168: # If we have just written something to a doc directory that was chris@168: # previously empty, we should switch on Embedded for this project