304
306
# Java glue JAR files
306
308
VBOX_JWS_JAR = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws.jar
309
VBOX_JWSDOC_JAR = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-doc.jar
310
VBOX_JWSSRC_JAR = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-src.jar
307
311
VBOX_JWS_TARGET := $(PATH_TARGET)/vboxjws-gen
308
312
VBOX_JWS_GEN = $(VBOX_JWS_TARGET)/jwsgen
309
313
VBOX_JWS_JDEST := $(VBOX_JWS_TARGET)/jdest
314
VBOX_JWSDOC_JDEST := $(VBOX_JWS_TARGET)/jdest-doc
310
315
VBOX_GLUE_XSLT_DIR := $(PATH_ROOT)/src/VBox/Main/glue
311
316
VBOX_JAXLIB_DIR := $(PATH_ROOT)/src/VBox/Main/webservice/jaxlibs
313
318
VBoxJWs-inst-jar_INST = $(INST_SDK)bindings/webservice/java/jax-ws/
314
319
VBoxJWs-inst-jar_MODE = a+r,u+w
315
320
VBoxJWs-inst-jar_SOURCES = \
317
324
VBoxJWs-inst-jar_CLEAN = \
318
325
$(VBOX_JWS_JAR) \
319
328
$(VBOX_JWS_GEN)/jwsglue.list \
329
$(VBOX_JWSDOC_JDEST)/package-list \
321
$(VBOX_JWS_GEN)/java/*.java \
322
$(VBOX_JWS_GEN)/java/jws/*/*/*/*.java \
331
$(VBOX_JWS_GEN)/java/*/*/*.java \
332
$(VBOX_JWS_GEN)/java/*/*/*/*.java \
323
333
$(VBOX_JWS_JDEST)/*.class \
324
334
$(VBOX_JWS_JDEST)/*/*.class \
325
335
$(VBOX_JWS_JDEST)/*/*/*.class \
326
336
$(VBOX_JWS_JDEST)/*/*/*/*.class \
337
$(VBOX_JWSDOC_JDEST)/*.html \
338
$(VBOX_JWSDOC_JDEST)/*.css \
339
$(VBOX_JWSDOC_JDEST)/*/*.gif \
340
$(VBOX_JWSDOC_JDEST)/*/*/*.html \
341
$(VBOX_JWSDOC_JDEST)/*/*/*/*.html \
328
VBoxJWs-inst-jar_BLDDIRS += $(VBOX_JWS_GEN)/java $(VBOX_JWS_GEN)/java/jws
343
VBoxJWs-inst-jar_BLDDIRS += $(VBOX_JWS_GEN)/java
330
$(VBOX_JWS_GEN)/jwsglue.list: \
332
$(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
345
$(VBOX_JWS_GEN)/jwsglue.list: \
346
$(VBOXWEB_IDL_SRC_ORIG) \
347
$(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
334
349
$(VBOXWEBSERVICE_WSDL) \
335
350
$(VBOXWEB_WSDL) \
336
| $(VBOX_JWS_GEN)/java/jws/
351
| $(VBOX_JWS_GEN)/java/
337
352
$(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)
353
$(RM) -f $(wildcard $(VBOX_JWS_GEN)/java/*/*/*.java) $(wildcard $(VBOX_JWS_GEN)/java/*/*/*/*.java)
339
354
$(QUIET)$(VBOX_XSLTPROC) \
340
355
--stringparam G_vboxApiSuffix $(VBOX_API_SUFFIX) \
341
356
--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
357
--stringparam G_vboxDirPrefix org/virtualbox$(VBOX_API_SUFFIX)/ \
358
-o $(VBOX_JWS_GEN)/merged.file $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl $<
359
$(QUIET)$(MKDIR) -p $(VBOX_JWS_GEN)/java/org/virtualbox$(VBOX_API_SUFFIX)
360
$(QUIET)$(VBOX_FILESPLIT) $(VBOX_JWS_GEN)/merged.file $(VBOX_JWS_GEN)/java
344
361
$(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 >> $@
362
$(VBOX_WSIMPORT) -Xnocompile -p $(VBOX_JAVA_PACKAGE).jaxws -d $(VBOX_JWS_GEN)/java $(VBOXWEBSERVICE_WSDL)
363
$(QUIET)echo $(VBOX_JWS_GEN)/java/*/*/*.java > $@
364
$(QUIET)echo $(VBOX_JWS_GEN)/java/*/*/*/*.java >> $@
349
$$(VBOX_JWS_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) | $$(dir $$@)
366
$$(VBOX_JWS_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $(VBOX_JWS_GEN)/MANIFEST.MF | $$(dir $$@)
350
367
$(call MSG_TOOL,javac,$(notdir $@),jwsgen.list,)
351
368
$(QUIET)$(RM) -Rf $(VBOX_JWS_JDEST)
352
369
$(QUIET)$(MKDIR) -p $(VBOX_JWS_JDEST)
357
374
$(QUIET)$(SED) -e "s/vboxweb.wsdl/vboxweb$(VBOX_API_SUFFIX).wsdl/" < $(VBOXWEBSERVICE_WSDL) > $(VBOX_JWS_JDEST)/vboxwebService$(VBOX_API_SUFFIX).wsdl
358
375
$(QUIET)$(CP) -f $(VBOXWEB_WSDL) $(VBOX_JWS_JDEST)/vboxweb$(VBOX_API_SUFFIX).wsdl
359
376
$(call MSG_LINK,$(notdir $@),$@)
360
$(VBOX_JAR) cf $@ -C $(VBOX_JWS_JDEST) .
377
$(VBOX_JAR) cf $@ $(VBOX_JWS_GEN)/MANIFEST.MF -C $(VBOX_JWS_JDEST) .
379
$(VBOX_JWS_GEN)/MANIFEST.MF: $(VBOX_PATH_WEBSERVICE)/MANIFEST.MF.in
380
$(QUIET)$(RM) -f -- $@
381
$(QUIET)$(MKDIR) -p $(VBOX_JWS_GEN)
383
-e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/' \
384
-e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/' \
385
-e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/' \
386
-e 's/@VBOX_API_SUFFIX@/$(VBOX_API_SUFFIX)/' \
389
$$(VBOX_JWSDOC_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $$(VBOX_JWS_JAR) | $$(dir $$@)
390
$(call MSG_TOOL,javadoc,$(notdir $@),jwsgen.list,)
391
$(QUIET)$(RM) -Rf $(VBOX_JWSDOC_JDEST)
392
$(QUIET)$(MKDIR) -p $(VBOX_JWSDOC_JDEST)
393
$(call MSG_L1,Generating javadoc html documentation)
394
$(VBOX_JAVADOC) $(VBOX_JAVADOC_OPTS) -quiet \
395
-sourcepath $(VBOX_JWS_GEN)/java org.virtualbox$(VBOX_API_SUFFIX) \
396
-d $(VBOX_JWSDOC_JDEST)
397
$(call MSG_LINK,$(notdir $@),$@)
398
$(VBOX_JAR) cf $@ -C $(VBOX_JWSDOC_JDEST) .
400
$$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) | $$(dir $$@)
401
$(call MSG_LINK,$(notdir $@),$@)
402
$(VBOX_JAR) cf $@ -C $(VBOX_JWS_GEN)/java .
404
## @todo compile ../glue/tests/TestVBox.java to have sanity checking
362
406
endif # VBOX_WITH_JWS