# HG changeset patch # User ihse # Date 1383559822 -3600 # Node ID 1d1af4ce8eeb1fab7a88815b5245245a4dc73811 # Parent 587560c222a2476066852224ed02d39b5090a299 8027566: Remove the old build system Reviewed-by: erikj, tbell diff -r 587560c222a2 -r 1d1af4ce8eeb make/BuildJaxws.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/BuildJaxws.gmk Mon Nov 04 11:10:22 2013 +0100 @@ -0,0 +1,113 @@ +# +# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# This must be the first rule +default: all + +include $(SPEC) +include MakeBase.gmk +include JavaCompilation.gmk + +DISABLE_JAXWS_WARNINGS := -Xlint:all,-varargs,-rawtypes,-deprecation,-unchecked,-serial,-dep-ann,-cast,-fallthrough,-static + +# The generate new bytecode uses the new compiler for to generate bytecode +# for the new jdk that is being built. The code compiled by this setup +# cannot necessarily be run with the boot jdk. +$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \ + JVM := $(JAVA), \ + JAVAC := $(NEW_JAVAC), \ + FLAGS := -XDignore.symbol.file=true $(DISABLE_JAXWS_WARNINGS) -g, \ + SERVER_DIR := $(SJAVAC_SERVER_DIR), \ + SERVER_JVM := $(SJAVAC_SERVER_JAVA))) + +# Dummy here is needed to trigger copying of META-INF +$(eval $(call SetupJavaCompilation,BUILD_JAF, \ + SETUP := GENERATE_NEWBYTECODE_DEBUG, \ + SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes, \ + COPY := "dummy", \ + BIN := $(JAXWS_OUTPUTDIR)/jaf_classes)) + +$(eval $(call SetupJavaCompilation,BUILD_JAXWS, \ + SETUP := GENERATE_NEWBYTECODE_DEBUG, \ + SRC := $(JAXWS_TOPDIR)/src/share/jaxws_classes, \ + BIN := $(JAXWS_OUTPUTDIR)/jaxws_classes, \ + COPY := .xsd, \ + COPY_FILES := $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \ + $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java \ + $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/jaxws-tubes-default.xml, \ + ADD_JAVAC_FLAGS = -Xbootclasspath/p:$(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar)) + +$(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \ + $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin + mkdir -p $(@D) + cp $< $@ + +$(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin: \ + $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin + mkdir -p $(@D) + cp $< $@ + +# There are two META-INF services files that are needed, add these to the list of goals +BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ + $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin + +# Imitate the property cleaning mechanism in the old build. This will likely be replaced +# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build +# for now, even though it actually breaks properties containing # in the value. +# Using nawk to avoid solaris sed. +$(JAXWS_OUTPUTDIR)/jaxws_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaxws_classes/%.properties + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp + $(MV) $@.tmp $@ + +JAXWS_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaxws_classes -name "*.properties") +TARGET_PROP_FILES := $(patsubst $(JAXWS_TOPDIR)/src/share/jaxws_classes/%, \ + $(JAXWS_OUTPUTDIR)/jaxws_classes/%, $(JAXWS_SRC_PROP_FILES)) + +$(JAXWS_OUTPUTDIR)/jaf_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaf_classes/%.properties + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp + $(MV) $@.tmp $@ + +JAF_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaf_classes -name "*.properties") +TARGET_PROP_FILES += $(patsubst $(JAXWS_TOPDIR)/src/share/jaf_classes/%, \ + $(JAXWS_OUTPUTDIR)/jaf_classes/%, $(JAF_SRC_PROP_FILES)) + +$(eval $(call SetupArchive,ARCHIVE_JAXWS, $(BUILD_JAXWS) $(BUILD_JAF) $(TARGET_PROP_FILES), \ + SRCS := $(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes, \ + SUFFIXES := .class .properties .xsd .xml .java \ + com.sun.mirror.apt.AnnotationProcessorFactory \ + com.sun.tools.internal.xjc.Plugin, \ + JAR := $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar)) + +$(eval $(call SetupZipArchive,ZIP_JAXWS_SOURCES, \ + SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes $(JAXWS_TOPDIR)/src/share/jaxws_classes, \ + ZIP := $(JAXWS_OUTPUTDIR)/dist/lib/src.zip)) + +all: $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar $(JAXWS_OUTPUTDIR)/dist/lib/src.zip + +.PHONY: default all diff -r 587560c222a2 -r 1d1af4ce8eeb make/Makefile --- a/make/Makefile Thu Nov 07 08:16:23 2013 -0800 +++ b/make/Makefile Mon Nov 04 11:10:22 2013 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -23,172 +23,27 @@ # questions. # -# Makefile wrapper around Ant build.xml file - -# -# On Solaris, the 'make' utility from Sun will not work with these makefiles. -# This little rule is only understood by Sun's make, and is harmless -# when seen by the GNU make tool. If using Sun's make, this causes the -# make command to fail. -# -SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33 - -ifdef QUIET - ANT_OPTIONS += -quiet -endif - -ifdef VERBOSE - ANT_OPTIONS += -verbose -endif - -ifeq ($(VARIANT), OPT) - ifneq ($(DEBUG_CLASSFILES), true) - ANT_OPTIONS += -Djavac.debug=false - endif -endif - -# Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN) -# and the somewhat misnamed CLASS_VERSION (-target NN) -ifdef TARGET_CLASS_VERSION - ANT_OPTIONS += -Djavac.target=$(TARGET_CLASS_VERSION) -else - ifdef JAVAC_TARGET_ARG - ANT_OPTIONS += -Djavac.target=$(JAVAC_TARGET_ARG) - endif -endif - -ifdef SOURCE_LANGUAGE_VERSION - ANT_OPTIONS += -Djavac.source=$(SOURCE_LANGUAGE_VERSION) +# Locate this Makefile +ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), ) + makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST)) else - ifdef JAVAC_SOURCE_ARG - ANT_OPTIONS += -Djavac.source=$(JAVAC_SOURCE_ARG) - endif -endif - -# If downloads are allowed -ifeq ($(ALLOW_DOWNLOADS),true) - ANT_OPTIONS += -Dallow.downloads=true -endif - -# Figure out the platform we are using -_SYSTEM_UNAME := $(shell uname) -_PLATFORM_KIND = unix -ifeq ($(_SYSTEM_UNAME), Windows_NT) - _PLATFORM_KIND = windows + makefile_path := $(lastword $(MAKEFILE_LIST)) endif -ifneq (,$(findstring CYGWIN,$(_SYSTEM_UNAME))) - _PLATFORM_KIND = windows -endif +repo_dir := $(patsubst %/make/Makefile, %, $(makefile_path)) + +# What is the name of this subsystem (langtools, corba, etc)? +subsystem_name := $(notdir $(repo_dir)) -# Where is /java in case we need it -ifdef ALT_SLASH_JAVA - _SLASHJAVA = $(ALT_SLASH_JAVA) +# Try to locate top-level makefile +top_level_makefile := $(repo_dir)/../Makefile +ifneq ($(wildcard $(top_level_makefile)), ) + $(info Will run $(subsystem_name) target on top-level Makefile) + $(info WARNING: This is a non-recommended way of building!) + $(info ===================================================) else - ifeq ($(_PLATFORM_KIND), windows) - _SLASHJAVA=J:/ - else - _SLASHJAVA=/java - endif -endif - -ifdef ALT_OUTPUTDIR - OUTPUTDIR = $(ALT_OUTPUTDIR) - ANT_OPTIONS += -Doutput.dir=$(ALT_OUTPUTDIR) -else - OUTPUTDIR = .. + $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?) + $(error Build from top-level Makefile instead) endif -ifdef ALT_LANGTOOLS_DIST - ifdef ALT_BOOTDIR - ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) - ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) - endif - ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap -else - ifdef ALT_JDK_IMPORT_PATH - ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH) - ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) - endif -endif - -ifdef ANT_HOME - ANT = $(ANT_HOME)/bin/ant - ifneq ($(shell test -x $(ANT); echo $$?), 0) - $(error "$(ANT) not found; please update ANT_HOME") - endif -else - ANT = ant - ifneq ($(shell which $(ANT) > /dev/null; echo $$?), 0) - $(error "'ant' not found; please set ANT_HOME or put 'ant' on your PATH") - endif -endif - -# Default target and expected 'do everything' target -default: all - -# All ant targets of interest -ANT_TARGETS = all build dist clobber clean sanity - -# Create a make target for each -$(ANT_TARGETS): - cd .. && $(ANT_JAVA_HOME) $(ANT) $(ANT_OPTIONS) -version - cd .. && $(ANT_JAVA_HOME) $(ANT) $(ANT_OPTIONS) $@ - -# Just for compat reasons, delete in future. -drop_included: -source: - -# Help target -define helpenvline -@echo " $1";echo " $2" -endef -help: - @echo "----------------------------------------------------------" - @echo " " - @echo "Help information for this Makefile:" - @echo " " - @echo " Targets (see ant project information for descriptions):" - @echo " $(ANT_TARGETS)" - @echo " " - @echo " Environment or command line variables (all optional):" - $(call helpenvline, ALT_BOOTDIR,\ - "JAVA_HOME to use when running ant") - $(call helpenvline, ALT_LANGTOOLS_DIST,\ - "path to langtools repository dist directory") - $(call helpenvline, ALT_OUTPUTDIR,\ - "path to root of output") - $(call helpenvline, DEBUG_CLASSFILES,\ - "if set makes sure ant property javac.debug is true") - $(call helpenvline, JAVAC_SOURCE_ARG,\ - "if SOURCE_LANGUAGE_VERSION not set uses this to set ant property javac.source") - $(call helpenvline, JAVAC_TARGET_ARG,\ - "if TARGET_CLASS_VERSION not set uses this to set ant property javac.target") - $(call helpenvline, SOURCE_LANGUAGE_VERSION,\ - "if set uses this to set ant property javac.source") - $(call helpenvline, QUIET,\ - "if set will pass -quiet to ant") - $(call helpenvline, TARGET_CLASS_VERSION,\ - "JAVA_HOME to use when running ant") - $(call helpenvline, VARIANT,\ - "if set to OPT means optimized build will set javac.debug to false") - $(call helpenvline, VERBOSE,\ - "if set will pass -verbose to ant") - @echo " " - @echo "----------------------------------------------------------" - @echo " " - @echo "Ant project file help information:" - @echo " " - @$(ANT_JAVA_HOME) cd .. && $(ANT) $(ANT_OPTIONS) -p - @echo " " - @echo "----------------------------------------------------------" - -# Targets for Sun's internal JPRT build system -JPRT_ARCHIVE_BUNDLE=$(OUTPUTDIR)/jprt.zip -jprt_build_product jprt_build_debug jprt_build_fastdebug: all - $(RM) $(JPRT_ARCHIVE_BUNDLE) - ( cd $(OUTPUTDIR)/dist && \ - zip -q -r $(JPRT_ARCHIVE_BUNDLE) . ) - -# Declare these phony (not filenames) -.PHONY: $(ANT_TARGETS) \ - jprt_build_product jprt_build_debug jprt_build_fastdebug +all: + @$(MAKE) -f $(top_level_makefile) $(subsystem_name) diff -r 587560c222a2 -r 1d1af4ce8eeb make/jprt.properties --- a/make/jprt.properties Thu Nov 07 08:16:23 2013 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -# -# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# Properties for jprt - -# Locked down to jdk8 -jprt.tools.default.release=jdk8 - -# The different build flavors we want, we override here so we just get these 2 -jprt.build.flavors=product,fastdebug - -# Standard list of jprt build targets for this source tree -jprt.build.targets= \ - solaris_sparcv9_5.10-{product|fastdebug}, \ - solaris_x64_5.10-{product|fastdebug}, \ - linux_i586_2.6-{product|fastdebug}, \ - linux_x64_2.6-{product|fastdebug}, \ - macosx_x64_10.7-{product|fastdebug}, \ - windows_i586_6.1-{product|fastdebug}, \ - windows_x64_6.1-{product|fastdebug} - -# Directories to be excluded from the source bundles -jprt.bundle.exclude.src.dirs=build dist webrev - diff -r 587560c222a2 -r 1d1af4ce8eeb make/scripts/update_src.sh --- a/make/scripts/update_src.sh Thu Nov 07 08:16:23 2013 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -# -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# This script was used to copy the former drop source bundle source into -# the repository. Exists as a form of documentation. - -curdir="`(cd . && pwd)`" - -# Whitespace normalizer script is in the top repository. -normalizer="perl ${curdir}/../make/scripts/normalizer.pl" - -# Locations for bundle and root of source tree -tmp=/tmp -srcroot=${curdir}/src -mkdir -p ${srcroot} - -# Bundle information -drops_dir="/java/devtools/share/jdk8-drops" -url1="http://download.java.net/glassfish/components/jax-ws/openjdk/jdk8" -bundle1="jdk8-jaxws-2_2-SNAPSHOT-2012_01_11-patched.zip" -srcdir1="${srcroot}/share/jaxws_classes" -url2="http://download.java.net/glassfish/components/jax-ws/openjdk/jdk8" -bundle2="jdk8-jaf-2011_07_22.zip" -srcdir2="${srcroot}/share/jaf_classes" - -# Function to get a bundle and explode it and normalize the source files. -getBundle() # drops_dir url bundlename bundledestdir srcrootdir -{ - # Get the bundle from drops_dir or downloaded - mkdir -p $4 - rm -f $4/$3 - if [ -f $1/$3 ] ; then - echo "Copy over bundle: $1/$3" - cp $1/$3 $4 - else - echo "Downloading bundle: $2/$3" - (cd $4 && wget $2/$3) - fi - # Fail if it does not exist - if [ ! -f $4/$3 ] ; then - echo "ERROR: Could not get $3" - exit 1 - fi - # Wipe it out completely - echo "Cleaning up $5" - rm -f -r $5 - mkdir -p $5 - echo "Unzipping $4/$3" - ( cd $5 && unzip -q $4/$3 && mv src/* . && rmdir src && rm LICENSE ) - # Run whitespace normalizer - echo "Normalizing the sources in $5" - ( cd $5 && ${normalizer} . ) - # Delete the bundle and leftover files - rm -f $4/$3 $5/filelist -} - -# Process the bundles. -getBundle "${drops_dir}" "${url1}" "${bundle1}" ${tmp} ${srcdir1} -getBundle "${drops_dir}" "${url2}" "${bundle2}" ${tmp} ${srcdir2} -echo "Completed bundle extraction." -echo " " - -# Appropriate Mercurial commands needed to run: -echo "Run: hg addremove src" -echo "Run: ksh ../make/scripts/webrev.ksh -N -o ${HOME}/webrev" -echo "Get reviewer, get CR, then..." -echo "Run: hg commit" - diff -r 587560c222a2 -r 1d1af4ce8eeb makefiles/BuildJaxws.gmk --- a/makefiles/BuildJaxws.gmk Thu Nov 07 08:16:23 2013 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -# -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# This must be the first rule -default: all - -include $(SPEC) -include MakeBase.gmk -include JavaCompilation.gmk - -DISABLE_JAXWS_WARNINGS := -Xlint:all,-varargs,-rawtypes,-deprecation,-unchecked,-serial,-dep-ann,-cast,-fallthrough,-static - -# The generate new bytecode uses the new compiler for to generate bytecode -# for the new jdk that is being built. The code compiled by this setup -# cannot necessarily be run with the boot jdk. -$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \ - JVM := $(JAVA), \ - JAVAC := $(NEW_JAVAC), \ - FLAGS := -XDignore.symbol.file=true $(DISABLE_JAXWS_WARNINGS) -g, \ - SERVER_DIR := $(SJAVAC_SERVER_DIR), \ - SERVER_JVM := $(SJAVAC_SERVER_JAVA))) - -# Dummy here is needed to trigger copying of META-INF -$(eval $(call SetupJavaCompilation,BUILD_JAF, \ - SETUP := GENERATE_NEWBYTECODE_DEBUG, \ - SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes, \ - COPY := "dummy", \ - BIN := $(JAXWS_OUTPUTDIR)/jaf_classes)) - -$(eval $(call SetupJavaCompilation,BUILD_JAXWS, \ - SETUP := GENERATE_NEWBYTECODE_DEBUG, \ - SRC := $(JAXWS_TOPDIR)/src/share/jaxws_classes, \ - BIN := $(JAXWS_OUTPUTDIR)/jaxws_classes, \ - COPY := .xsd, \ - COPY_FILES := $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \ - $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java \ - $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/jaxws-tubes-default.xml, \ - ADD_JAVAC_FLAGS = -Xbootclasspath/p:$(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar)) - -$(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \ - $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin - mkdir -p $(@D) - cp $< $@ - -$(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin: \ - $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin - mkdir -p $(@D) - cp $< $@ - -# There are two META-INF services files that are needed, add these to the list of goals -BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ - $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin - -# Imitate the property cleaning mechanism in the old build. This will likely be replaced -# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build -# for now, even though it actually breaks properties containing # in the value. -# Using nawk to avoid solaris sed. -$(JAXWS_OUTPUTDIR)/jaxws_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaxws_classes/%.properties - $(MKDIR) -p $(@D) - $(RM) $@ $@.tmp - $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp - $(MV) $@.tmp $@ - -JAXWS_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaxws_classes -name "*.properties") -TARGET_PROP_FILES := $(patsubst $(JAXWS_TOPDIR)/src/share/jaxws_classes/%, \ - $(JAXWS_OUTPUTDIR)/jaxws_classes/%, $(JAXWS_SRC_PROP_FILES)) - -$(JAXWS_OUTPUTDIR)/jaf_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaf_classes/%.properties - $(MKDIR) -p $(@D) - $(RM) $@ $@.tmp - $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp - $(MV) $@.tmp $@ - -JAF_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaf_classes -name "*.properties") -TARGET_PROP_FILES += $(patsubst $(JAXWS_TOPDIR)/src/share/jaf_classes/%, \ - $(JAXWS_OUTPUTDIR)/jaf_classes/%, $(JAF_SRC_PROP_FILES)) - -$(eval $(call SetupArchive,ARCHIVE_JAXWS, $(BUILD_JAXWS) $(BUILD_JAF) $(TARGET_PROP_FILES), \ - SRCS := $(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes, \ - SUFFIXES := .class .properties .xsd .xml .java \ - com.sun.mirror.apt.AnnotationProcessorFactory \ - com.sun.tools.internal.xjc.Plugin, \ - JAR := $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar)) - -$(eval $(call SetupZipArchive,ZIP_JAXWS_SOURCES, \ - SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes $(JAXWS_TOPDIR)/src/share/jaxws_classes, \ - ZIP := $(JAXWS_OUTPUTDIR)/dist/lib/src.zip)) - -all: $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar $(JAXWS_OUTPUTDIR)/dist/lib/src.zip - -.PHONY: default all diff -r 587560c222a2 -r 1d1af4ce8eeb makefiles/Makefile --- a/makefiles/Makefile Thu Nov 07 08:16:23 2013 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -# -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# Locate this Makefile -ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), ) - makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST)) -else - makefile_path := $(lastword $(MAKEFILE_LIST)) -endif -repo_dir := $(patsubst %/makefiles/Makefile, %, $(makefile_path)) - -# What is the name of this subsystem (langtools, corba, etc)? -subsystem_name := $(notdir $(repo_dir)) - -# Try to locate top-level makefile -top_level_makefile := $(repo_dir)/../common/makefiles/Makefile -ifneq ($(wildcard $(top_level_makefile)), ) - $(info Will run $(subsystem_name) target on top-level Makefile) - $(info WARNING: This is a non-recommended way of building!) - $(info ===================================================) -else - $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?) - $(error Build from top-level Makefile instead) -endif - -all: - @$(MAKE) -f $(top_level_makefile) $(subsystem_name)