make/BuildJaxws.gmk

changeset 0
373ffda63c9a
child 637
9c07ef4934dd
equal deleted inserted replaced
-1:000000000000 0:373ffda63c9a
1 #
2 # Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. Oracle designates this
8 # particular file as subject to the "Classpath" exception as provided
9 # by Oracle in the LICENSE file that accompanied this code.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 # This must be the first rule
27 default: all
28
29 include $(SPEC)
30 include MakeBase.gmk
31 include JavaCompilation.gmk
32
33 DISABLE_JAXWS_WARNINGS := -Xlint:all,-varargs,-rawtypes,-deprecation,-unchecked,-serial,-dep-ann,-cast,-fallthrough,-static
34
35 # The generate new bytecode uses the new compiler for to generate bytecode
36 # for the new jdk that is being built. The code compiled by this setup
37 # cannot necessarily be run with the boot jdk.
38 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \
39 JVM := $(JAVA), \
40 JAVAC := $(NEW_JAVAC), \
41 FLAGS := -XDignore.symbol.file=true $(DISABLE_JAXWS_WARNINGS) -g, \
42 SERVER_DIR := $(SJAVAC_SERVER_DIR), \
43 SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
44
45 # Dummy here is needed to trigger copying of META-INF
46 $(eval $(call SetupJavaCompilation,BUILD_JAF, \
47 SETUP := GENERATE_NEWBYTECODE_DEBUG, \
48 SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes, \
49 COPY := "dummy", \
50 BIN := $(JAXWS_OUTPUTDIR)/jaf_classes))
51
52 $(eval $(call SetupJavaCompilation,BUILD_JAXWS, \
53 SETUP := GENERATE_NEWBYTECODE_DEBUG, \
54 SRC := $(JAXWS_TOPDIR)/src/share/jaxws_classes, \
55 BIN := $(JAXWS_OUTPUTDIR)/jaxws_classes, \
56 COPY := .xsd, \
57 COPY_FILES := $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \
58 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java \
59 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/jaxws-tubes-default.xml, \
60 ADD_JAVAC_FLAGS = -Xbootclasspath/p:$(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar))
61
62 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \
63 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin
64 mkdir -p $(@D)
65 cp $< $@
66
67 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin: \
68 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin
69 mkdir -p $(@D)
70 cp $< $@
71
72 # There are two META-INF services files that are needed, add these to the list of goals
73 BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
74 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin
75
76 # Imitate the property cleaning mechanism in the old build. This will likely be replaced
77 # by the unified functionality in JavaCompilation.gmk, but keep it the same as old build
78 # for now, even though it actually breaks properties containing # in the value.
79 # Using nawk to avoid solaris sed.
80 $(JAXWS_OUTPUTDIR)/jaxws_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaxws_classes/%.properties
81 $(MKDIR) -p $(@D)
82 $(RM) $@ $@.tmp
83 $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
84 $(MV) $@.tmp $@
85
86 JAXWS_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaxws_classes -name "*.properties")
87 TARGET_PROP_FILES := $(patsubst $(JAXWS_TOPDIR)/src/share/jaxws_classes/%, \
88 $(JAXWS_OUTPUTDIR)/jaxws_classes/%, $(JAXWS_SRC_PROP_FILES))
89
90 $(JAXWS_OUTPUTDIR)/jaf_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaf_classes/%.properties
91 $(MKDIR) -p $(@D)
92 $(RM) $@ $@.tmp
93 $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
94 $(MV) $@.tmp $@
95
96 JAF_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaf_classes -name "*.properties")
97 TARGET_PROP_FILES += $(patsubst $(JAXWS_TOPDIR)/src/share/jaf_classes/%, \
98 $(JAXWS_OUTPUTDIR)/jaf_classes/%, $(JAF_SRC_PROP_FILES))
99
100 $(eval $(call SetupArchive,ARCHIVE_JAXWS, $(BUILD_JAXWS) $(BUILD_JAF) $(TARGET_PROP_FILES), \
101 SRCS := $(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes, \
102 SUFFIXES := .class .properties .xsd .xml .java \
103 com.sun.mirror.apt.AnnotationProcessorFactory \
104 com.sun.tools.internal.xjc.Plugin, \
105 JAR := $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar))
106
107 $(eval $(call SetupZipArchive,ZIP_JAXWS_SOURCES, \
108 SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes $(JAXWS_TOPDIR)/src/share/jaxws_classes, \
109 ZIP := $(JAXWS_OUTPUTDIR)/dist/lib/src.zip))
110
111 all: $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar $(JAXWS_OUTPUTDIR)/dist/lib/src.zip
112
113 .PHONY: default all

mercurial