8003844: build-infra: docs target isn't working properly

Wed, 28 Nov 2012 13:40:17 +0100

author
erikj
date
Wed, 28 Nov 2012 13:40:17 +0100
changeset 518
6ff2e1280dc3
parent 517
f8b0bacd4de5
child 519
7d7dd520ebfd

8003844: build-infra: docs target isn't working properly
Summary: Fixed docs and docs-clean target. Added compare support for docs.
Reviewed-by: ohair, jjg, ohrstrom

common/bin/compare.sh file | annotate | diff | comparison | revisions
common/makefiles/Main.gmk file | annotate | diff | comparison | revisions
common/makefiles/javadoc/Javadoc.gmk file | annotate | diff | comparison | revisions
     1.1 --- a/common/bin/compare.sh	Wed Nov 28 13:15:56 2012 +0100
     1.2 +++ b/common/bin/compare.sh	Wed Nov 28 13:40:17 2012 +0100
     1.3 @@ -290,6 +290,7 @@
     1.4      for f in $GENERAL_FILES
     1.5      do
     1.6          if [ -e $OTHER_DIR/$f ]; then
     1.7 +            SUFFIX="${f##*.}"
     1.8              if [ "$(basename $f)" = "release" ]; then
     1.9                  # Ignore differences in change numbers in release file.
    1.10                  OTHER_FILE=$WORK_DIR/$f.other
    1.11 @@ -298,6 +299,22 @@
    1.12                  $MKDIR -p $(dirname $THIS_FILE)
    1.13                  $CAT $OTHER_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $OTHER_FILE
    1.14                  $CAT $THIS_DIR/$f  | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $THIS_FILE
    1.15 +            elif [ "x$SUFFIX" = "xhtml" ]; then
    1.16 +                # Ignore time stamps in docs files
    1.17 +                OTHER_FILE=$WORK_DIR/$f.other
    1.18 +                THIS_FILE=$WORK_DIR/$f.this
    1.19 +                $MKDIR -p $(dirname $OTHER_FILE)
    1.20 +                $MKDIR -p $(dirname $THIS_FILE)
    1.21 +                $CAT $OTHER_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
    1.22 +                                          -e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \
    1.23 +                                          -e 's/\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\), [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* \(AM\|PM\) [A-Z][A-Z]*/(removed)/' \
    1.24 +                                          -e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \
    1.25 +                    > $OTHER_FILE
    1.26 +                $CAT $THIS_DIR/$f  | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
    1.27 +                                          -e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \
    1.28 +                                          -e 's/\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\), [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* \(AM\|PM\) [A-Z][A-Z]*/(removed)/' \
    1.29 +                                          -e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \
    1.30 +                    > $THIS_FILE
    1.31              else
    1.32                  OTHER_FILE=$OTHER_DIR/$f
    1.33                  THIS_FILE=$THIS_DIR/$f
    1.34 @@ -1111,6 +1128,22 @@
    1.35      echo "Skipping bundle compare!"
    1.36  fi
    1.37  
    1.38 +if [ -d "$THIS/docs" ]; then
    1.39 +    THIS_DOCS="$THIS/docs"
    1.40 +fi
    1.41 +
    1.42 +if [ -d "$OTHER/docs" ]; then
    1.43 +    OTHER_DOCS="$OTHER/docs"
    1.44 +fi
    1.45 +
    1.46 +if [ -z "$THIS_DOCS" ]; then
    1.47 +    echo "WARNING! Docs haven't been built and won't be compared."
    1.48 +fi
    1.49 +
    1.50 +if [ -z "$OTHER_DOCS" ]; then
    1.51 +    echo "WARNING! Other build doesn't contain docs, skipping doc compare."
    1.52 +fi
    1.53 +
    1.54  ##########################################################################################
    1.55  # Do the work
    1.56  
    1.57 @@ -1148,6 +1181,12 @@
    1.58          echo -n "J2RE  Bundle "
    1.59          compare_files $THIS_J2RE_BUNDLE $OTHER_J2RE_BUNDLE $COMPARE_ROOT/j2re-bundle
    1.60      fi
    1.61 +    if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
    1.62 +        echo -n "Docs "
    1.63 +        compare_dirs $THIS_DOCS $OTHER_DOCS $COMPARE_ROOT/docs
    1.64 +        echo -n "Docs "
    1.65 +        compare_files $THIS_DOCS $OTHER_DOCS $COMPARE_ROOT/docs
    1.66 +    fi
    1.67  fi
    1.68  
    1.69  if [ "$CMP_PERMS" = "true" ]; then
    1.70 @@ -1211,6 +1250,10 @@
    1.71          echo -n "J2RE  Bundle "
    1.72          compare_general_files $THIS_J2RE_BUNDLE $OTHER_J2RE_BUNDLE $COMPARE_ROOT/j2re-bundle
    1.73      fi
    1.74 +    if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
    1.75 +        echo -n "Docs "
    1.76 +        compare_general_files $THIS_DOCS $OTHER_DOCS $COMPARE_ROOT/docs
    1.77 +    fi
    1.78  fi
    1.79  
    1.80  if [ "$CMP_ZIPS" = "true" ]; then
     2.1 --- a/common/makefiles/Main.gmk	Wed Nov 28 13:15:56 2012 +0100
     2.2 +++ b/common/makefiles/Main.gmk	Wed Nov 28 13:40:17 2012 +0100
     2.3 @@ -165,7 +165,7 @@
     2.4  
     2.5  
     2.6  # Remove everything, except the output from configure.
     2.7 -clean: clean-langtools clean-corba clean-jaxp clean-jaxws clean-hotspot clean-jdk clean-images clean-overlay-images clean-bootcycle-build
     2.8 +clean: clean-langtools clean-corba clean-jaxp clean-jaxws clean-hotspot clean-jdk clean-images clean-overlay-images clean-bootcycle-build clean-docs
     2.9  	@($(CD) $(OUTPUT_ROOT) && $(RM) -r tmp source_tips build.log* build-trace*.log*)
    2.10  	@$(ECHO) Cleaned all build artifacts.
    2.11  
    2.12 @@ -201,6 +201,9 @@
    2.13  	$(call CleanComponent,overlay-images)
    2.14  clean-bootcycle-build:
    2.15  	$(call CleanComponent,bootcycle-build)
    2.16 +clean-docs:
    2.17 +	$(call CleanComponent,docs)
    2.18 +	$(call CleanComponent,docstemp)
    2.19  
    2.20  .PHONY: langtools corba jaxp jaxws hotspot jdk images overlay-images install
    2.21  .PHONY: langtools-only corba-only jaxp-only jaxws-only hotspot-only jdk-only images-only overlay-images-only install-only
     3.1 --- a/common/makefiles/javadoc/Javadoc.gmk	Wed Nov 28 13:15:56 2012 +0100
     3.2 +++ b/common/makefiles/javadoc/Javadoc.gmk	Wed Nov 28 13:40:17 2012 +0100
     3.3 @@ -50,17 +50,12 @@
     3.4  
     3.5  BOOT_JAVA_CMD=$(JAVA)
     3.6  
     3.7 -# Langtools
     3.8 -JAVAC_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javac.jar
     3.9  JAVADOC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javadoc.jar
    3.10 -DOCLETS_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/doclets.jar
    3.11  JAVADOC_CMD = $(BOOT_JAVA_CMD) \
    3.12                -Xmx1024m \
    3.13  	      -Djava.awt.headless=true \
    3.14 -              "-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)" \
    3.15 -              -jar $(JAVADOC_JAR)
    3.16 -
    3.17 -JAVADOC_CMD = javadoc 
    3.18 +              "-Xbootclasspath/p:$(JAVADOC_JAR)" \
    3.19 +              -jar $(JAVADOC_JAR) -bootclasspath $(JDK_OUTPUTDIR)/classes
    3.20  
    3.21  # Copyright year for beginning of Java and some of the apis
    3.22  #   (Needed when creating the javadocs)
    3.23 @@ -113,7 +108,8 @@
    3.24  
    3.25  # Url to copyright html file
    3.26  COPYRIGHT_URL-7 = $(DOCSDIR_URL)/legal/cpyr.html
    3.27 -COPYRIGHT_URL-8 = $(DOCSDIR_URL)/legal/cpyr.html
    3.28 +# This isn't added in old build yet.
    3.29 +#COPYRIGHT_URL-8 = $(DOCSDIR_URL)/legal/cpyr.html
    3.30  COPYRIGHT_URL = $(COPYRIGHT_URL-$(JDK_MINOR_VERSION))
    3.31  
    3.32  # Url to bug filing site
    3.33 @@ -125,7 +121,8 @@
    3.34  # Url to devdocs page
    3.35  #   Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
    3.36  DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
    3.37 -DEV_DOCS_URL-8 = http://download.oracle.com/javase/7/docs/index.html
    3.38 +# This isn't added in old build yet.
    3.39 +#DEV_DOCS_URL-8 = http://download.oracle.com/javase/7/docs/index.html
    3.40  DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
    3.41  DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
    3.42  
    3.43 @@ -142,9 +139,10 @@
    3.44  #          Otherwise, you get "No packages or classes specified." due 
    3.45  #          to $(CLASSPATH_SEPARATOR) being interpreted as an end of 
    3.46  #          command (newline or shell ; character)
    3.47 -ALL_SOURCE_DIRS = $(JDK_IMPSRC) \
    3.48 +ALL_SOURCE_DIRS = $(JDK_SHARE_CLASSES) \
    3.49 +                  $(JDK_IMPSRC) \
    3.50                    $(JDK_GENSRC) \
    3.51 -                  $(JDK_SHARE_CLASSES) \
    3.52 +		  $(JDK_OUTPUTDIR)/gendocsrc_rmic \
    3.53                    $(JDK_TOPDIR)/src/solaris/classes \
    3.54                    $(JDK_TOPDIR)/src/windows/classes \
    3.55  		  $(JDK_SHARE_SRC)/doc/stub
    3.56 @@ -440,7 +438,7 @@
    3.57  $(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
    3.58  
    3.59  # Run javadoc if the index file is out of date or missing
    3.60 -$(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE)
    3.61 +$(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) coredocs
    3.62  	$(prep-javadoc)
    3.63  	$(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
    3.64  	$(JAVADOC_CMD) -d $(@D) \
    3.65 @@ -481,7 +479,7 @@
    3.66  TAGLETAPI_TEMPDIR       = $(DOCSTMPDIR)/taglets_temp
    3.67  
    3.68  # The index.html, options, and packages files
    3.69 -TAGLETAPI_INDEX_FILE    = $(TAGLETAPI_DOCDIR)/com/sun/tools/doclets/Taglet.html
    3.70 +TAGLETAPI_INDEX_FILE    = $(TAGLETAPI_DOCDIR)/index.html
    3.71  TAGLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/tagletapi.options
    3.72  TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
    3.73  
    3.74 @@ -491,7 +489,7 @@
    3.75  $(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
    3.76  
    3.77  # Run javadoc if the index file is out of date or missing
    3.78 -$(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE)
    3.79 +$(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) coredocs
    3.80  	$(prep-javadoc)
    3.81  	$(RM) -r $(TAGLETAPI_TEMPDIR)
    3.82  	$(MKDIR) -p $(TAGLETAPI_TEMPDIR)
    3.83 @@ -517,9 +515,7 @@
    3.84  # Create a file with the package names in it
    3.85  $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
    3.86  	$(prep-target)
    3.87 -	$(call PackageFilter,$(TAGLETAPI_PKGS))
    3.88 -	$(GREP) "$(TAGLETAPI_FILE)" $@ > $@.tmp
    3.89 -	$(MV) $@.tmp $@
    3.90 +	@($(ECHO) "$(JDK_IMPSRC)/$(TAGLETAPI_FILE)" ) > $@
    3.91  
    3.92  #############################################################
    3.93  #
    3.94 @@ -549,7 +545,7 @@
    3.95  $(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
    3.96  
    3.97  # Run javadoc if the index file is out of date or missing
    3.98 -$(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE)
    3.99 +$(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) coredocs
   3.100  	$(prep-javadoc)
   3.101  	$(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
   3.102  	$(JAVADOC_CMD) -d $(@D) \
   3.103 @@ -611,7 +607,7 @@
   3.104  $(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
   3.105  
   3.106  # Run javadoc if the index file is out of date or missing
   3.107 -$(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE)
   3.108 +$(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) coredocs
   3.109  	$(prep-javadoc)
   3.110  	$(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
   3.111  	$(JAVADOC_CMD) -d $(@D) \
   3.112 @@ -698,7 +694,7 @@
   3.113  $(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
   3.114  
   3.115  # Run javadoc if the index file is out of date or missing
   3.116 -$(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE)
   3.117 +$(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) coredocs
   3.118  	$(prep-javadoc)
   3.119  	$(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
   3.120  	$(JAVADOC_CMD) -d $(@D) \
   3.121 @@ -750,7 +746,7 @@
   3.122  $(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
   3.123  
   3.124  # Run javadoc if the index file is out of date or missing
   3.125 -$(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE)
   3.126 +$(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) coredocs
   3.127  	$(prep-javadoc)
   3.128  	$(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
   3.129  	$(JAVADOC_CMD) -d $(@D) \
   3.130 @@ -802,7 +798,7 @@
   3.131  $(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
   3.132  
   3.133  # Run javadoc if the index file is out of date or missing
   3.134 -$(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE)
   3.135 +$(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) coredocs
   3.136  	$(prep-javadoc)
   3.137  	$(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
   3.138  	$(JAVADOC_CMD) -d $(@D) \
   3.139 @@ -852,7 +848,7 @@
   3.140  $(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
   3.141  
   3.142  # Run javadoc if the index file is out of date or missing
   3.143 -$(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE)
   3.144 +$(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) coredocs
   3.145  	$(prep-javadoc)
   3.146  	$(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
   3.147  	$(JAVADOC_CMD) -d $(@D) \
   3.148 @@ -887,7 +883,7 @@
   3.149  MGMT_DOCDIR	 := $(JRE_API_DOCSDIR)/management/extension
   3.150  MGMT2COREAPI     := ../../$(JDKJRE2COREAPI)
   3.151  JVM_MIB_NAME     := JVM-MANAGEMENT-MIB.mib
   3.152 -JVM_MIB_SRC      := $(CLOSED_SRC)/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
   3.153 +JVM_MIB_SRC      := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
   3.154  MGMT_DOCTITLE    := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
   3.155  MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
   3.156  MGMT_HEADER      := <strong>Monitoring and Management Interface for the Java Platform</strong>
   3.157 @@ -906,7 +902,7 @@
   3.158  $(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
   3.159  
   3.160  # Run javadoc if the index file is out of date or missing
   3.161 -$(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE)
   3.162 +$(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
   3.163  	$(prep-javadoc)
   3.164  	@if [ -f $(JVM_MIB_SRC) ] ; then 				\
   3.165  	  $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; 			\
   3.166 @@ -963,7 +959,7 @@
   3.167  $(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
   3.168  
   3.169  # Run javadoc if the index file is out of date or missing
   3.170 -$(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE)
   3.171 +$(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) coredocs
   3.172  	$(prep-javadoc)
   3.173  	$(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
   3.174  	$(JAVADOC_CMD) -d $(@D) \
   3.175 @@ -1013,7 +1009,7 @@
   3.176  $(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
   3.177  
   3.178  # Run javadoc if the index file is out of date or missing
   3.179 -$(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE)
   3.180 +$(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) coredocs
   3.181  	$(prep-javadoc)
   3.182  	$(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
   3.183  	$(JAVADOC_CMD) -d $(@D) \
   3.184 @@ -1065,7 +1061,7 @@
   3.185  $(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
   3.186  
   3.187  # Run javadoc if the index file is out of date or missing
   3.188 -$(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE)
   3.189 +$(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) coredocs
   3.190  	$(prep-javadoc)
   3.191  	$(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
   3.192  	$(JAVADOC_CMD) -d $(@D) \
   3.193 @@ -1116,7 +1112,7 @@
   3.194  $(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
   3.195  
   3.196  # Run javadoc if the index file is out of date or missing
   3.197 -$(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE)
   3.198 +$(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) coredocs
   3.199  	$(prep-javadoc)
   3.200  	$(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
   3.201  	$(JAVADOC_CMD) -d $(@D) \

mercurial