Mon, 18 Feb 2013 10:46:22 +0100
Merge
1.1 --- a/.hgtags Fri Feb 15 10:40:46 2013 +0100 1.2 +++ b/.hgtags Mon Feb 18 10:46:22 2013 +0100 1.3 @@ -198,3 +198,4 @@ 1.4 b43aa5bd8ca5c8121336495382d35ecfa7a71536 jdk8-b74 1.5 2a713921952cbd77a1e699626976cb6cdfe3e57e jdk8-b75 1.6 278af9fc67e7eba2884936b49ec07345f423aabb jdk8-b76 1.7 +3933eebc659d58c597aa8cb4b3e58f2250ce3e1a jdk8-b77
2.1 --- a/common/bin/hgforest.sh Fri Feb 15 10:40:46 2013 +0100 2.2 +++ b/common/bin/hgforest.sh Mon Feb 18 10:46:22 2013 +0100 2.3 @@ -64,33 +64,33 @@ 2.4 mkdir -p ${tmp} 2.5 2.6 safe_interrupt () { 2.7 - if [ -d ${tmp} ]; then 2.8 - if [ "`ls ${tmp}`" != "" ]; then 2.9 - echo "Waiting for processes ( `cat ${tmp}/* | tr '\n' ' '`) to terminate nicely!" 2.10 + if [ -d ${tmp} ]; then 2.11 + if [ "`ls ${tmp}/*.pid`" != "" ]; then 2.12 + echo "Waiting for processes ( `cat ${tmp}/*.pid | tr '\n' ' '`) to terminate nicely!" 2.13 sleep 1 2.14 # Pipe stderr to dev/null to silence kill, that complains when trying to kill 2.15 # a subprocess that has already exited. 2.16 - kill -TERM `cat ${tmp}/* | tr '\n' ' '` 2> /dev/null 2.17 - wait 2.18 - echo Interrupt complete! 2.19 - fi 2.20 + kill -TERM `cat ${tmp}/*.pid | tr '\n' ' '` 2> /dev/null 2.21 + wait 2.22 + echo Interrupt complete! 2.23 + fi 2.24 fi 2.25 rm -f -r ${tmp} 2.26 exit 1 2.27 } 2.28 2.29 nice_exit () { 2.30 - if [ -d ${tmp} ]; then 2.31 - if [ "`ls ${tmp}`" != "" ]; then 2.32 - wait 2.33 - fi 2.34 + if [ -d ${tmp} ]; then 2.35 + if [ "`ls ${tmp}`" != "" ]; then 2.36 + wait 2.37 + fi 2.38 fi 2.39 rm -f -r ${tmp} 2.40 } 2.41 2.42 trap 'safe_interrupt' INT QUIT 2.43 trap 'nice_exit' EXIT 2.44 - 2.45 + 2.46 # Only look in specific locations for possible forests (avoids long searches) 2.47 pull_default="" 2.48 repos="" 2.49 @@ -172,14 +172,26 @@ 2.50 if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then 2.51 pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`" 2.52 echo ${hg} clone ${pull_newrepo} ${i} 2.53 - ${hg} clone ${pull_newrepo} ${i} & 2.54 + path="`dirname ${i}`" 2.55 + if [ "${path}" != "." ] ; then 2.56 + times=0 2.57 + while [ ! -d "${path}" ] ## nested repo, ensure containing dir exists 2.58 + do 2.59 + times=`expr ${times} '+' 1` 2.60 + if [ `expr ${times} '%' 10` -eq 0 ] ; then 2.61 + echo ${path} still not created, waiting... 2.62 + fi 2.63 + sleep 5 2.64 + done 2.65 + fi 2.66 + (${hg} clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc )& 2.67 else 2.68 echo "cd ${i} && ${hg} $*" 2.69 - cd ${i} && ${hg} "$@" & 2.70 - fi 2.71 + cd ${i} && (${hg} "$@"; echo "$?" > ${tmp}/${repopidfile}.pid.rc )& 2.72 + fi 2.73 echo $! > ${tmp}/${repopidfile}.pid 2.74 ) 2>&1 | sed -e "s@^@${reponame}: @") & 2.75 - 2.76 + 2.77 if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then 2.78 sleep 2 2.79 echo Waiting 5 secs before spawning next background command. 2.80 @@ -189,6 +201,15 @@ 2.81 # Wait for all hg commands to complete 2.82 wait 2.83 2.84 -# Terminate with exit 0 all the time (hard to know when to say "failed") 2.85 -exit 0 2.86 - 2.87 +# Terminate with exit 0 only if all subprocesses were successful 2.88 +ec=0 2.89 +if [ -d ${tmp} ]; then 2.90 + for rc in ${tmp}/*.pid.rc ; do 2.91 + exit_code=`cat ${rc} | tr -d ' \n\r'` 2.92 + if [ "${exit_code}" != "0" ] ; then 2.93 + echo "WARNING: ${rc} exited abnormally." 2.94 + ec=1 2.95 + fi 2.96 + done 2.97 +fi 2.98 +exit ${ec}
3.1 --- a/common/makefiles/Main.gmk Fri Feb 15 10:40:46 2013 +0100 3.2 +++ b/common/makefiles/Main.gmk Mon Feb 18 10:46:22 2013 +0100 3.3 @@ -167,7 +167,7 @@ 3.4 3.5 test: start-make 3.6 @$(call TargetEnter) 3.7 - @($(CD) $(SRC_ROOT)/test && $(BUILD_LOG_WRAPPER) $(MAKE) MAKEFLAGS= -j1 PRODUCT_HOME=$(OUTPUT_ROOT)/jdk JPRT_JAVA_HOME=$(OUTPUT_ROOT)/jdk ALT_OUTPUTDIR=$(OUTPUT_ROOT) $(TEST)) || true 3.8 + @($(CD) $(SRC_ROOT)/test && $(BUILD_LOG_WRAPPER) $(MAKE) -j1 -k MAKEFLAGS= PRODUCT_HOME=$(OUTPUT_ROOT)/jdk JPRT_JAVA_HOME=$(OUTPUT_ROOT)/jdk ALT_OUTPUTDIR=$(OUTPUT_ROOT) $(TEST)) || true 3.9 @$(call TargetExit) 3.10 3.11 # Stores the tips for each repository. This file is be used when constructing the jdk image and can be
4.1 --- a/common/makefiles/javadoc/CORE_PKGS.gmk Fri Feb 15 10:40:46 2013 +0100 4.2 +++ b/common/makefiles/javadoc/CORE_PKGS.gmk Mon Feb 18 10:46:22 2013 +0100 4.3 @@ -128,9 +128,9 @@ 4.4 java.text \ 4.5 java.text.spi \ 4.6 java.time \ 4.7 + java.time.chrono \ 4.8 + java.time.format \ 4.9 java.time.temporal \ 4.10 - java.time.calendar \ 4.11 - java.time.format \ 4.12 java.time.zone \ 4.13 java.util \ 4.14 java.util.concurrent \
5.1 --- a/get_source.sh Fri Feb 15 10:40:46 2013 +0100 5.2 +++ b/get_source.sh Mon Feb 18 10:46:22 2013 +0100 5.3 @@ -26,7 +26,7 @@ 5.4 # 5.5 5.6 # Get clones of all nested repositories 5.7 -sh ./common/bin/hgforest.sh clone "$@" 5.8 +sh ./common/bin/hgforest.sh clone "$@" || exit 1 5.9 5.10 # Update all existing repositories to the latest sources 5.11 sh ./common/bin/hgforest.sh pull -u
6.1 --- a/make/scripts/webrev.ksh Fri Feb 15 10:40:46 2013 +0100 6.2 +++ b/make/scripts/webrev.ksh Mon Feb 18 10:46:22 2013 +0100 6.3 @@ -19,7 +19,7 @@ 6.4 # 6.5 # CDDL HEADER END 6.6 # 6.7 -# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. 6.8 +# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. 6.9 # Use is subject to license terms. 6.10 # 6.11 # This script takes a file list and a workspace and builds a set of html files 6.12 @@ -27,7 +27,7 @@ 6.13 # Documentation is available via 'webrev -h'. 6.14 # 6.15 6.16 -WEBREV_UPDATED=23.18-hg 6.17 +WEBREV_UPDATED=23.18-hg+jbs 6.18 6.19 HTML='<?xml version="1.0"?> 6.20 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 6.21 @@ -146,7 +146,7 @@ 6.22 # 6.23 bug2url() 6.24 { 6.25 - sed -e 's|[0-9]\{5,\}|<a href=\"'$BUGURL'&\">&</a>|g' 6.26 + sed -e 's|[0-9]\{5,\}|<a href=\"'$BUGURL$IDPREFIX'&\">&</a>|g' 6.27 } 6.28 6.29 # 6.30 @@ -230,8 +230,8 @@ 6.31 # $ sdiff_to_html old/usr/src/tools/scripts/webrev.sh \ 6.32 # new/usr/src/tools/scripts/webrev.sh \ 6.33 # webrev.sh usr/src/tools/scripts \ 6.34 -# '<a href="http://monaco.sfbay.sun.com/detail.jsp?cr=1234567"> 6.35 -# 1234567</a> my bugid' > <file>.html 6.36 +# '<a href="https://jbs.oracle.com/bugs/browse/JDK-1234567"> 6.37 +# JDK-1234567</a> my bugid' > <file>.html 6.38 # 6.39 # framed_sdiff() is then called which creates $2.frames.html 6.40 # in the webrev tree. 6.41 @@ -1160,7 +1160,7 @@ 6.42 print "$comm" 6.43 return 6.44 fi 6.45 - 6.46 + 6.47 print "$comm" | html_quote | bug2url | sac2url 6.48 ) 6.49 fi 6.50 @@ -1418,7 +1418,7 @@ 6.51 next;} 6.52 END {for (tree in trees) 6.53 { rev=revs[trees[tree]]; 6.54 - if (rev > 0) 6.55 + if (rev > 0) 6.56 {printf("%s %d\n",trees[tree],rev-1)} 6.57 }}' | while read LINE 6.58 do 6.59 @@ -1459,7 +1459,7 @@ 6.60 { 6.61 TREE=$1 6.62 HGCMD="hg -R $CWS/$TREE status $FSTAT_OPT" 6.63 - 6.64 + 6.65 $HGCMD -mdn 2>/dev/null | $FILTER | while read F 6.66 do 6.67 echo $TREE/$F 6.68 @@ -1543,7 +1543,7 @@ 6.69 if (n == 0) 6.70 { printf("A %s/%s\n",tree,$2)} 6.71 else 6.72 - { printf("A %s\n",$2)}; 6.73 + { printf("A %s\n",$2)}; 6.74 next} 6.75 /^ / {n=index($1,tree); 6.76 if (n == 0) 6.77 @@ -1604,7 +1604,7 @@ 6.78 # We need at least one of default-push or default paths set in .hg/hgrc 6.79 # If neither are set we don't know who to compare with. 6.80 6.81 -function flist_from_mercurial 6.82 +function flist_from_mercurial 6.83 { 6.84 # if [ "${PWS##ssh://}" != "$PWS" -o \ 6.85 # "${PWS##http://}" != "$PWS" -o \ 6.86 @@ -1757,7 +1757,7 @@ 6.87 elif [[ "$OS" == "Linux" ]]; then 6.88 DEVTOOLS="/java/devtools/linux/bin" 6.89 fi 6.90 - 6.91 + 6.92 ppath=$PATH 6.93 ppath=$ppath:/usr/sfw/bin:/usr/bin:/usr/sbin 6.94 ppath=$ppath:/opt/teamware/bin:/opt/onbld/bin 6.95 @@ -1844,7 +1844,7 @@ 6.96 ssh_host=`echo $CMD | sed -e 's/ssh:\/\/\([^/]*\)\/.*/\1/'` 6.97 ssh_dir=`echo $CMD | sed -e 's/ssh:\/\/[^/]*\/\(.*\)/\1/'` 6.98 fi 6.99 - 6.100 + 6.101 } 6.102 6.103 function build_old_new_mercurial 6.104 @@ -2096,7 +2096,7 @@ 6.105 PARENT_REV=$OPTARG;; 6.106 6.107 v) print "$0 version: $WEBREV_UPDATED";; 6.108 - 6.109 + 6.110 6.111 ?) usage;; 6.112 esac 6.113 @@ -2338,7 +2338,7 @@ 6.114 # 6.115 [[ -z $codemgr_ws && -n $CODEMGR_WS ]] && codemgr_ws=$CODEMGR_WS 6.116 [[ -z $codemgr_ws && -n $WSPACE ]] && codemgr_ws=`$WSPACE name` 6.117 - 6.118 + 6.119 if [[ -n $codemgr_ws && ! -d $codemgr_ws ]]; then 6.120 print -u2 "$codemgr_ws: no such workspace" 6.121 exit 1 6.122 @@ -2521,10 +2521,16 @@ 6.123 # Bug IDs will be replaced by a URL. Order of precedence 6.124 # is: default location, $WEBREV_BUGURL, the -O flag. 6.125 # 6.126 -BUGURL='http://monaco.sfbay.sun.com/detail.jsp?cr=' 6.127 +BUGURL='https://jbs.oracle.com/bugs/browse/' 6.128 [[ -n $WEBREV_BUGURL ]] && BUGURL="$WEBREV_BUGURL" 6.129 -[[ -n "$Oflag" ]] && \ 6.130 +if [[ -n "$Oflag" ]]; then 6.131 + CRID=`echo $CRID | sed -e 's/JDK-//'` 6.132 BUGURL='http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=' 6.133 + IDPREFIX='' 6.134 +else 6.135 + IDPREFIX='JDK-' 6.136 +fi 6.137 + 6.138 6.139 # 6.140 # Likewise, ARC cases will be replaced by a URL. Order of precedence 6.141 @@ -2561,7 +2567,7 @@ 6.142 6.143 # 6.144 # Should we ignore changes in white spaces when generating diffs? 6.145 -# 6.146 +# 6.147 if [[ -n $bflag ]]; then 6.148 DIFFOPTS="-t" 6.149 else 6.150 @@ -2748,7 +2754,7 @@ 6.151 fi 6.152 fi 6.153 else 6.154 - 6.155 + 6.156 # 6.157 # If we have old and new versions of the file then run the 6.158 # appropriate diffs. This is complicated by a couple of factors: 6.159 @@ -3000,22 +3006,31 @@ 6.160 # external URL has a <title> like: 6.161 # <title>Bug ID: 6641309 Wrong Cookie separator used in HttpURLConnection</title> 6.162 # while internal URL has <title> like: 6.163 -# <title>6641309: Wrong Cookie separator used in HttpURLConnection</title> 6.164 +# <title>[#JDK-6641309] Wrong Cookie separator used in HttpURLConnection</title> 6.165 # 6.166 if [[ -n $CRID ]]; then 6.167 for id in $CRID 6.168 do 6.169 + if [[ -z "$Oflag" ]]; then 6.170 + #add "JDK-" to raw bug id for jbs links. 6.171 + id=`echo ${id} | sed 's/^\([0-9]\{5,\}\)$/JDK-\1/'` 6.172 + fi 6.173 print "<tr><th>Bug id:</th><td>" 6.174 url="${BUGURL}${id}" 6.175 + if [[ -n "$Oflag" ]]; then 6.176 + cleanup='s/Bug ID: \([0-9]\{5,\}\) \(.*\)/JDK-\1 : \2/' 6.177 + else 6.178 + cleanup='s|\[#\(JDK-[0-9]\{5,\}\)\] \(.*\)|\1 : \2|' 6.179 + fi 6.180 if [[ -n $WGET ]]; then 6.181 - msg=`$WGET -q $url -O - | grep '<title>' | sed 's/<title>\(.*\)<\/title>/\1/' | sed 's/Bug ID://'` 6.182 + msg=`$WGET --timeout=10 --tries=1 -q $url -O - | grep '<title>' | sed 's/<title>\(.*\)<\/title>/\1/' | sed "$cleanup"` 6.183 fi 6.184 - if [[ -n $msg ]]; then 6.185 - print "<a href=\"$url\">$msg</a>" 6.186 - else 6.187 - print $id | bug2url 6.188 + if [[ -z $msg ]]; then 6.189 + msg="${id}" 6.190 fi 6.191 - 6.192 + 6.193 + print "<a href=\"$url\">$msg</a>" 6.194 + 6.195 print "</td></tr>" 6.196 done 6.197 fi 6.198 @@ -3179,4 +3194,3 @@ 6.199 6.200 print "Done." 6.201 print "Output to: $WDIR" 6.202 -
7.1 --- a/test/Makefile Fri Feb 15 10:40:46 2013 +0100 7.2 +++ b/test/Makefile Mon Feb 18 10:46:22 2013 +0100 7.3 @@ -38,8 +38,8 @@ 7.4 define SUBDIR_TEST # subdirectory target 7.5 if [ -d $1 ] ; then \ 7.6 if [ -r $1/test/Makefile ] ; then \ 7.7 - echo "$(MAKE) -C $1/test $2" ; \ 7.8 - $(MAKE) -C $1/test $2 ; \ 7.9 + echo "$(MAKE) -k -C $1/test $2" ; \ 7.10 + $(MAKE) -k -C $1/test $2 ; \ 7.11 else \ 7.12 echo "ERROR: File does not exist: $1/test/Makefile"; \ 7.13 exit 1; \ 7.14 @@ -53,7 +53,7 @@ 7.15 LANGTOOLS_TEST_LIST = langtools_jtreg 7.16 7.17 # Test target list for jdk repository 7.18 -JDK_DEFAULT_TEST_LIST = \ 7.19 +JDK_ALL_TEST_LIST = \ 7.20 jdk_beans1 \ 7.21 jdk_io \ 7.22 jdk_lang \ 7.23 @@ -64,10 +64,7 @@ 7.24 jdk_security1 \ 7.25 jdk_text \ 7.26 jdk_util \ 7.27 - jdk_time 7.28 - 7.29 -# These tests are not part of the default testing list 7.30 -JDK_NONDEFAULT_TEST_LIST = \ 7.31 + jdk_time \ 7.32 jdk_awt \ 7.33 jdk_beans2 jdk_beans3 \ 7.34 jdk_management \ 7.35 @@ -80,14 +77,14 @@ 7.36 jdk_jdi \ 7.37 jdk_jfr 7.38 7.39 -# All jdk tests 7.40 -JDK_ALL_TEST_LIST = $(JDK_DEFAULT_TEST_LIST) $(JDK_NONDEFAULT_TEST_LIST) 7.41 +# Theses are meta test targets in jdk 7.42 +JDK_META_TEST_LIST = jdk_all jdk_default jdk_core 7.43 7.44 # These are the current jck test targets in the jdk repository 7.45 JDK_JCK7_LIST = jck7devtools jck7compiler jck7runtime 7.46 7.47 -# Default test target (everything) 7.48 -default: $(JDK_DEFAULT_TEST_LIST) $(LANGTOOLS_TEST_LIST) 7.49 +# Default test target (core) 7.50 +default: jdk_core $(LANGTOOLS_TEST_LIST) 7.51 7.52 # All testing 7.53 all: $(JDK_ALL_TEST_LIST) $(LANGTOOLS_TEST_LIST) 7.54 @@ -95,7 +92,8 @@ 7.55 # Test targets 7.56 $(LANGTOOLS_TEST_LIST): 7.57 @$(NO_STOPPING)$(call SUBDIR_TEST, $(LANGTOOLS_DIR), $(subst langtools_,,$@)) 7.58 -$(JDK_ALL_TEST_LIST) $(JDK_JCK7_LIST): 7.59 + 7.60 +$(JDK_ALL_TEST_LIST) $(JDK_META_TEST_LIST) $(JDK_JCK7_LIST): 7.61 @$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), $@) 7.62 7.63 clean: 7.64 @@ -104,7 +102,7 @@ 7.65 7.66 # Phony targets (e.g. these are not filenames) 7.67 .PHONY: all clean \ 7.68 - $(JDK_ALL_TEST_LIST) $(JDK_JCK7_LIST) \ 7.69 + $(JDK_ALL_TEST_LIST) $(JDK_META_TEST_LIST) $(JDK_JCK7_LIST) \ 7.70 $(LANGTOOLS_TEST_LIST) 7.71 7.72 ################################################################