I used separate .sh files this time (except for the docs). Given that the next release is likely to be 18.3 rather than 9u1, it's possible that 9 will be an "odd one out" type release. If desirable, the behaviour here can be merged into the current .sh files; it's just a matter of a) picking up binaries from the right place, and b) not expecting man pages.
Files attached. For the docs, it's enough to add the following cases: # GA release (jdk-9_doc-all.zip) if [[ $archive_name =~ jdk-(9)()_docs?-all\.zip ]] then j2se_release=${BASH_REMATCH[1]} j2se_update=${BASH_REMATCH[2]} if [[ $j2se_update != "" ]] then j2se_version_name="$j2se_release Update $j2se_update" j2se_version=${j2se_release}u${j2se_update}${revision} else j2se_version_name="$j2se_release GA" j2se_version=${j2se_release}${revision} fi fi # Early Access Release (jdk-9_doc-api-spec.tar.gz) if [[ $archive_name =~ jdk-(9)()_doc-api-spec.tar.gz ]] then j2se_release=${BASH_REMATCH[1]} j2se_update=${BASH_REMATCH[2]} if [[ $j2se_update != "" ]] then j2se_version_name="$j2se_release Update $j2se_update Early Access Release" j2se_version=${j2se_release}u${j2se_update}~ea${revision} else j2se_version_name="$j2se_release Early Access Release" j2se_version=${j2se_release}~ea${revision} fi fi (I left a () matcher in there, in case there end up being 9u1/9.1/... releases after all.)
oracle-jdk9.sh
Description: Bourne shell script
oracle-jre9.sh
Description: Bourne shell script
oracle-server-jre9.sh
Description: Bourne shell script