VirtualBox

Changeset 38796 in vbox for trunk/src/VBox/Main/webservice


Ignore:
Timestamp:
Sep 19, 2011 5:11:11 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
74091
Message:

Main/glue: Add javadoc comments to the java glue code, use them to generate a documentation jar file. Add an OSGi compliant manifest file to the webservice jar.

Location:
trunk/src/VBox/Main/webservice
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/webservice/Makefile.kmk

    r38228 r38796  
    77
    88#
    9 # Copyright (C) 2006-2010 Oracle Corporation
     9# Copyright (C) 2006-2011 Oracle Corporation
    1010#
    1111# This file is part of VirtualBox Open Source Edition (OSE), as
     
    155155PATH_TARGET_WEBTEST           := $(VBOXWEB_OUT_DIR)/webtest
    156156
     157# the original XIDL file (has to include documentation as we need it):
     158VBOXWEB_IDL_SRC_ORIG          := $(VBOX_XIDL_FILE_SRC)
    157159# platform-specific XIDL file generated from $(VBOXWEB_IDL_SRC):
    158 VBOXWEB_IDL_SRC_ORIG          := $(VBOX_XIDL_FILE)
    159 # the original XIDL file:
    160160VBOXWEB_IDL_SRC               := $(VBOXWEB_OUT_DIR)/VirtualBox.xidl
    161161
     
    305305#
    306306VBOX_JWS_JAR     = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws.jar
     307VBOX_JWSDOC_JAR  = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-doc.jar
     308VBOX_JWSSRC_JAR  = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-src.jar
    307309VBOX_JWS_TARGET := $(PATH_TARGET)/vboxjws-gen
    308310VBOX_JWS_GEN     = $(VBOX_JWS_TARGET)/jwsgen
    309311VBOX_JWS_JDEST  := $(VBOX_JWS_TARGET)/jdest
     312VBOX_JWSDOC_JDEST  := $(VBOX_JWS_TARGET)/jdest-doc
    310313VBOX_GLUE_XSLT_DIR := $(PATH_ROOT)/src/VBox/Main/glue
    311314VBOX_JAXLIB_DIR    := $(PATH_ROOT)/src/VBox/Main/webservice/jaxlibs
     
    314317VBoxJWs-inst-jar_MODE = a+r,u+w
    315318VBoxJWs-inst-jar_SOURCES = \
    316         $(VBOX_JWS_JAR)
     319        $(VBOX_JWS_JAR) \
     320        $(VBOX_JWSDOC_JAR) \
     321        $(VBOX_JWSSRC_JAR)
    317322VBoxJWs-inst-jar_CLEAN = \
    318323        $(VBOX_JWS_JAR) \
     324        $(VBOX_JWSDOC_JAR) \
     325        $(VBOX_JWSSRC_JAR) \
    319326        $(VBOX_JWS_GEN)/jwsglue.list \
     327        $(VBOX_JWSDOC_JDEST)/package-list \
    320328        $(wildcard \
    321                 $(VBOX_JWS_GEN)/java/*.java \
    322                 $(VBOX_JWS_GEN)/java/jws/*/*/*/*.java \
     329                $(VBOX_JWS_GEN)/java/*/*/*.java \
     330            $(VBOX_JWS_GEN)/java/*/*/*/*.java \
    323331                $(VBOX_JWS_JDEST)/*.class \
    324332                $(VBOX_JWS_JDEST)/*/*.class \
    325333                $(VBOX_JWS_JDEST)/*/*/*.class \
    326334                $(VBOX_JWS_JDEST)/*/*/*/*.class \
     335                $(VBOX_JWSDOC_JDEST)/*.html \
     336                $(VBOX_JWSDOC_JDEST)/*.css \
     337                $(VBOX_JWSDOC_JDEST)/*/*.gif \
     338                $(VBOX_JWSDOC_JDEST)/*/*/*.html \
     339                $(VBOX_JWSDOC_JDEST)/*/*/*/*.html \
    327340        )
    328 VBoxJWs-inst-jar_BLDDIRS += $(VBOX_JWS_GEN)/java $(VBOX_JWS_GEN)/java/jws
    329 
    330 $(VBOX_JWS_GEN)/jwsglue.list:  \
    331                 $(VBOX_XIDL_FILE)    \
    332                 $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
    333                 $(VBOX_FILESPLIT)    \
     341VBoxJWs-inst-jar_BLDDIRS += $(VBOX_JWS_GEN)/java
     342
     343$(VBOX_JWS_GEN)/jwsglue.list: \
     344                $(VBOXWEB_IDL_SRC_ORIG) \
     345                $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
     346                $(VBOX_FILESPLIT) \
    334347                $(VBOXWEBSERVICE_WSDL) \
    335348                $(VBOXWEB_WSDL) \
    336                 | $(VBOX_JWS_GEN)/java/jws/
     349                | $(VBOX_JWS_GEN)/java/
    337350        $(call MSG_L1,Generating JAX-WS Java glue files from XIDL)
    338         $(RM) -f $(wildcard $(VBOX_JWS_GEN)/java/*.java) $(wildcard $(VBOX_JWS_GEN)/java/jws/*/*/*/*.java)
     351        $(RM) -f $(wildcard $(VBOX_JWS_GEN)/java/*/*/*.java) $(wildcard $(VBOX_JWS_GEN)/java/*/*/*/*.java)
    339352        $(QUIET)$(VBOX_XSLTPROC) \
    340353              --stringparam G_vboxApiSuffix $(VBOX_API_SUFFIX) \
    341354              --stringparam G_vboxGlueStyle jaxws              \
    342               -o $(VBOX_JWS_GEN)/java/merged.file $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl $<
    343         $(QUIET)$(VBOX_FILESPLIT) $(VBOX_JWS_GEN)/java/merged.file $(VBOX_JWS_GEN)/java
     355              --stringparam G_vboxDirPrefix org/virtualbox$(VBOX_API_SUFFIX)/ \
     356              -o $(VBOX_JWS_GEN)/merged.file $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl $<
     357        $(QUIET)$(MKDIR) -p $(VBOX_JWS_GEN)/java/org/virtualbox$(VBOX_API_SUFFIX)
     358        $(QUIET)$(VBOX_FILESPLIT) $(VBOX_JWS_GEN)/merged.file $(VBOX_JWS_GEN)/java
    344359        $(call MSG_GENERATE,,$@,JAX-WS for Java 1.6 bindings using $(VBOXWEBSERVICE_WSDL))
    345         $(VBOX_WSIMPORT) -Xnocompile -p $(VBOX_JAVA_PACKAGE).jaxws -d $(VBOX_JWS_GEN)/java/jws $(VBOXWEBSERVICE_WSDL)
    346         $(QUIET)echo $(VBOX_JWS_GEN)/java/*.java > $@
    347         $(QUIET)echo $(VBOX_JWS_GEN)/java/jws/*/*/*/*.java >> $@
    348 
    349 $$(VBOX_JWS_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) | $$(dir $$@)
     360        $(VBOX_WSIMPORT) -Xnocompile -p $(VBOX_JAVA_PACKAGE).jaxws -d $(VBOX_JWS_GEN)/java $(VBOXWEBSERVICE_WSDL)
     361        $(QUIET)echo $(VBOX_JWS_GEN)/java/*/*/*.java > $@
     362        $(QUIET)echo $(VBOX_JWS_GEN)/java/*/*/*/*.java >> $@
     363
     364$$(VBOX_JWS_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $(VBOX_JWS_GEN)/MANIFEST.MF | $$(dir $$@)
    350365        $(call MSG_TOOL,javac,$(notdir $@),jwsgen.list,)
    351366        $(QUIET)$(RM) -Rf $(VBOX_JWS_JDEST)
     
    358373        $(QUIET)$(CP) -f $(VBOXWEB_WSDL) $(VBOX_JWS_JDEST)/vboxweb$(VBOX_API_SUFFIX).wsdl
    359374        $(call MSG_LINK,$(notdir $@),$@)
    360         $(VBOX_JAR) cf $@ -C $(VBOX_JWS_JDEST) .
     375        $(VBOX_JAR) cf $@ $(VBOX_JWS_GEN)/MANIFEST.MF -C $(VBOX_JWS_JDEST) .
     376
     377$(VBOX_JWS_GEN)/MANIFEST.MF: $(VBOX_PATH_WEBSERVICE)/MANIFEST.MF.in
     378        $(QUIET)$(RM) -f -- $@
     379        $(QUIET)$(MKDIR) -p $(VBOX_JWS_GEN)
     380        $(QUIET)$(SED) \
     381                -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/' \
     382                -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/' \
     383                -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/' \
     384                -e 's/@VBOX_API_SUFFIX@/$(VBOX_API_SUFFIX)/' \
     385                <  $< >  $@
     386
     387$$(VBOX_JWSDOC_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $$(VBOX_JWS_JAR) | $$(dir $$@)
     388        $(call MSG_TOOL,javadoc,$(notdir $@),jwsgen.list,)
     389        $(QUIET)$(RM) -Rf $(VBOX_JWSDOC_JDEST)
     390        $(QUIET)$(MKDIR) -p $(VBOX_JWSDOC_JDEST)
     391        $(call MSG_L1,Generating javadoc html documentation)
     392        $(VBOX_JAVADOC) $(VBOX_JAVADOC_OPTS) -quiet \
     393                @$(VBOX_JWS_GEN)/jwsglue.list \
     394                -d $(VBOX_JWSDOC_JDEST)
     395        $(call MSG_LINK,$(notdir $@),$@)
     396        $(VBOX_JAR) cf $@ -C $(VBOX_JWSDOC_JDEST) .
     397
     398$$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) | $$(dir $$@)
     399        $(call MSG_LINK,$(notdir $@),$@)
     400        $(VBOX_JAR) cf $@ -C $(VBOX_JWS_GEN)/java .
    361401
    362402 endif # VBOX_WITH_JWS
  • trunk/src/VBox/Main/webservice/platform-xidl.xsl

    r33540 r38796  
    99        sections are resolved (for easier processing).
    1010
    11      Copyright (C) 2006-2010 Oracle Corporation
     11     Copyright (C) 2006-2011 Oracle Corporation
    1212
    1313     This file is part of VirtualBox Open Source Edition (OSE), as
     
    6262    ignore everything we don't need
    6363    -->
    64 <xsl:template match="cpp|class|enumerator|desc|note">
     64<xsl:template match="cpp|class|enumerator">
    6565</xsl:template>
    6666
    6767<!--
    6868    and keep the rest intact (including all attributes)
     69
     70    NOTE: this drops class and everything in it, which I left unchanged
     71    since the other xslt scripts blow up badly.
    6972    -->
    70 <xsl:template match="library|module|enum|const|interface|attribute|collection|method|param">
     73<xsl:template match="library|module|enum|const|interface|attribute|collection|method|param|result">
    7174  <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates/></xsl:copy>
     75</xsl:template>
     76
     77<!--
     78    keep those completely unchanged, including child nodes (including all
     79    attributes)
     80    -->
     81<xsl:template match="descGroup|desc|note">
     82  <xsl:copy-of select="."/>
    7283</xsl:template>
    7384
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette