common/bin/update-build-readme.sh
changeset 33030 de12d9a875ed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/bin/update-build-readme.sh	Tue Oct 20 10:39:07 2015 +0200
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+# Get an absolute path to this script, since that determines the top-level
+# directory.
+this_script_dir=`dirname $0`
+TOPDIR=`cd $this_script_dir/../.. > /dev/null && pwd`
+
+GREP=grep
+MD_FILE=$TOPDIR/README-builds.md
+HTML_FILE=$TOPDIR/README-builds.html
+
+# Locate the markdown processor tool and check that it is the correct version.
+locate_markdown_processor() {
+  if [ -z "$MARKDOWN" ]; then
+    MARKDOWN=`which markdown 2> /dev/null`
+    if [ -z "$MARKDOWN" ]; then
+      echo "Error: Cannot locate markdown processor" 1>&2
+      exit 1
+    fi
+  fi
+
+  # Test version
+  MARKDOWN_VERSION=`$MARKDOWN -version | $GREP version`
+  if [ "x$MARKDOWN_VERSION" != "xThis is Markdown, version 1.0.1." ]; then
+    echo "Error: Expected markdown version 1.0.1." 1>&2
+    echo "Actual version found: $MARKDOWN_VERSION" 1>&2
+    echo "Download markdown here: https://daringfireball.net/projects/markdown/"  1>&2
+    exit 1
+  fi
+
+}
+
+# Verify that the source markdown file looks sound.
+verify_source_code() {
+  TOO_LONG_LINES=`$GREP -E -e '^.{80}.+$' $MD_FILE`
+  if [ "x$TOO_LONG_LINES" != x ]; then
+    echo "Warning: The following lines are longer than 80 characters:"
+    $GREP -E -e '^.{80}.+$' $MD_FILE
+  fi
+}
+
+# Convert the markdown file to html format.
+process_source() {
+  echo "Generating html file from markdown"
+  cat > $HTML_FILE << END
+<html>
+  <head>
+    <title>OpenJDK Build README</title>
+  </head>
+  <body>
+END
+  markdown $MD_FILE >> $HTML_FILE
+  cat >> $HTML_FILE <<END
+  </body>
+</html>
+END
+  echo "Done"
+}
+
+locate_markdown_processor
+verify_source_code
+process_source