mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
Merge
This commit is contained in:
commit
33dc2cac3c
1583 changed files with 110393 additions and 50659 deletions
2
.hgtags
2
.hgtags
|
@ -361,3 +361,5 @@ c84d0cce090e161d736de69e941830adf8c2f87a jdk-9+114
|
||||||
84aba7335005a3a47751dcf1f37935f97df9f99a jdk-9+116
|
84aba7335005a3a47751dcf1f37935f97df9f99a jdk-9+116
|
||||||
82b8d12a553f5617737c238cec060281d52e351c jdk-9+117
|
82b8d12a553f5617737c238cec060281d52e351c jdk-9+117
|
||||||
7c04fcb12bd4a31570a238e663fa846dfa5ec3b8 jdk-9+118
|
7c04fcb12bd4a31570a238e663fa846dfa5ec3b8 jdk-9+118
|
||||||
|
caf97b37ebec84288c112d21d3a60cb628cba1e8 jdk-9+119
|
||||||
|
9330543436402b8f3bd070524846a464d8143557 jdk-9+120
|
||||||
|
|
|
@ -361,3 +361,5 @@ f900d5afd9c83a0df8f36161c27c5e4c86a66f4c jdk-9+111
|
||||||
6743a8e0cab7b5f6f4a0575f6664892f0ab740af jdk-9+116
|
6743a8e0cab7b5f6f4a0575f6664892f0ab740af jdk-9+116
|
||||||
e882bcdbdac436523f3d5681611d3118a3804ea7 jdk-9+117
|
e882bcdbdac436523f3d5681611d3118a3804ea7 jdk-9+117
|
||||||
047f95de8f918d8ff5e8cd2636a2abb5c3c8adb8 jdk-9+118
|
047f95de8f918d8ff5e8cd2636a2abb5c3c8adb8 jdk-9+118
|
||||||
|
3463a3f14f0f0e8a68f29ac6405454f2fa2f598a jdk-9+119
|
||||||
|
647e0142a5a52749db572b5e6638d561def6479e jdk-9+120
|
||||||
|
|
|
@ -484,6 +484,8 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
|
||||||
BASIC_REQUIRE_PROGS(FILE, file)
|
BASIC_REQUIRE_PROGS(FILE, file)
|
||||||
BASIC_REQUIRE_PROGS(FIND, find)
|
BASIC_REQUIRE_PROGS(FIND, find)
|
||||||
BASIC_REQUIRE_PROGS(HEAD, head)
|
BASIC_REQUIRE_PROGS(HEAD, head)
|
||||||
|
BASIC_REQUIRE_PROGS(GUNZIP, gunzip)
|
||||||
|
BASIC_REQUIRE_PROGS(GZIP, pigz gzip)
|
||||||
BASIC_REQUIRE_PROGS(LN, ln)
|
BASIC_REQUIRE_PROGS(LN, ln)
|
||||||
BASIC_REQUIRE_PROGS(LS, ls)
|
BASIC_REQUIRE_PROGS(LS, ls)
|
||||||
BASIC_REQUIRE_PROGS(MKDIR, mkdir)
|
BASIC_REQUIRE_PROGS(MKDIR, mkdir)
|
||||||
|
@ -496,7 +498,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
|
||||||
BASIC_REQUIRE_PROGS(SH, sh)
|
BASIC_REQUIRE_PROGS(SH, sh)
|
||||||
BASIC_REQUIRE_PROGS(SORT, sort)
|
BASIC_REQUIRE_PROGS(SORT, sort)
|
||||||
BASIC_REQUIRE_PROGS(TAIL, tail)
|
BASIC_REQUIRE_PROGS(TAIL, tail)
|
||||||
BASIC_REQUIRE_PROGS(TAR, tar)
|
BASIC_REQUIRE_PROGS(TAR, gtar tar)
|
||||||
BASIC_REQUIRE_PROGS(TEE, tee)
|
BASIC_REQUIRE_PROGS(TEE, tee)
|
||||||
BASIC_REQUIRE_PROGS(TOUCH, touch)
|
BASIC_REQUIRE_PROGS(TOUCH, touch)
|
||||||
BASIC_REQUIRE_PROGS(TR, tr)
|
BASIC_REQUIRE_PROGS(TR, tr)
|
||||||
|
@ -839,8 +841,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
|
||||||
|
|
||||||
# The spec.gmk file contains all variables for the make system.
|
# The spec.gmk file contains all variables for the make system.
|
||||||
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
|
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
|
||||||
# The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
|
|
||||||
AC_CONFIG_FILES([$OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in])
|
|
||||||
# The bootcycle-spec.gmk file contains support for boot cycle builds.
|
# The bootcycle-spec.gmk file contains support for boot cycle builds.
|
||||||
AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
|
AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
|
||||||
# The buildjdk-spec.gmk file contains support for building a buildjdk when cross compiling.
|
# The buildjdk-spec.gmk file contains support for building a buildjdk when cross compiling.
|
||||||
|
@ -1009,11 +1009,36 @@ AC_DEFUN([BASIC_CHECK_FIND_DELETE],
|
||||||
AC_SUBST(FIND_DELETE)
|
AC_SUBST(FIND_DELETE)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([BASIC_CHECK_TAR],
|
||||||
|
[
|
||||||
|
# Test which kind of tar was found
|
||||||
|
if test "x$($TAR --version | $GREP "GNU tar")" != "x"; then
|
||||||
|
TAR_TYPE="gnu"
|
||||||
|
elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
|
||||||
|
TAR_TYPE="bsd"
|
||||||
|
elif test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
|
||||||
|
TAR_TYPE="solaris"
|
||||||
|
fi
|
||||||
|
AC_MSG_CHECKING([what type of tar was found])
|
||||||
|
AC_MSG_RESULT([$TAR_TYPE])
|
||||||
|
|
||||||
|
if test "x$TAR_TYPE" = "xgnu"; then
|
||||||
|
TAR_INCLUDE_PARAM="T"
|
||||||
|
TAR_SUPPORTS_TRANSFORM="true"
|
||||||
|
else
|
||||||
|
TAR_INCLUDE_PARAM="I"
|
||||||
|
TAR_SUPPORTS_TRANSFORM="false"
|
||||||
|
fi
|
||||||
|
AC_SUBST(TAR_INCLUDE_PARAM)
|
||||||
|
AC_SUBST(TAR_SUPPORTS_TRANSFORM)
|
||||||
|
])
|
||||||
|
|
||||||
AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
||||||
[
|
[
|
||||||
BASIC_CHECK_GNU_MAKE
|
BASIC_CHECK_GNU_MAKE
|
||||||
|
|
||||||
BASIC_CHECK_FIND_DELETE
|
BASIC_CHECK_FIND_DELETE
|
||||||
|
BASIC_CHECK_TAR
|
||||||
|
|
||||||
# These tools might not be installed by default,
|
# These tools might not be installed by default,
|
||||||
# need hint on how to install them.
|
# need hint on how to install them.
|
||||||
|
|
|
@ -134,8 +134,9 @@ ifeq ($(JVM_INTERPRETER), cpp)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
HOTSPOT_MAKE_ARGS := product docs export_product
|
HOTSPOT_MAKE_ARGS := product docs export_product
|
||||||
# Control wether Hotspot runs Queens test after building
|
|
||||||
TEST_IN_BUILD := false
|
# Control wether Hotspot builds gtest tests
|
||||||
|
BUILD_GTEST := false
|
||||||
|
|
||||||
USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
|
USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,7 @@ export EXPR="@EXPR@"
|
||||||
export FILE="@FILE@"
|
export FILE="@FILE@"
|
||||||
export FIND="@FIND@"
|
export FIND="@FIND@"
|
||||||
export GREP="@GREP@"
|
export GREP="@GREP@"
|
||||||
|
export GUNZIP="@GUNZIP@"
|
||||||
export LDD="@LDD@"
|
export LDD="@LDD@"
|
||||||
export LN="@LN@"
|
export LN="@LN@"
|
||||||
export MKDIR="@MKDIR@"
|
export MKDIR="@MKDIR@"
|
||||||
|
@ -63,10 +64,11 @@ export SED="@SED@"
|
||||||
export SORT="@SORT@"
|
export SORT="@SORT@"
|
||||||
export STAT="@STAT@"
|
export STAT="@STAT@"
|
||||||
export STRIP="@STRIP@ @STRIPFLAGS@"
|
export STRIP="@STRIP@ @STRIPFLAGS@"
|
||||||
|
export TAR="@TAR@"
|
||||||
export TEE="@TEE@"
|
export TEE="@TEE@"
|
||||||
export UNIQ="@UNIQ@"
|
export UNIQ="@UNIQ@"
|
||||||
export UNPACK200="@FIXPATH@ @BOOT_JDK@/bin/unpack200"
|
export UNPACK200="@FIXPATH@ @BOOT_JDK@/bin/unpack200"
|
||||||
export UNARCHIVE="@UNZIP@ -q"
|
export UNARCHIVE="@UNZIP@ -q -o"
|
||||||
|
|
||||||
export SRC_ROOT="@TOPDIR@"
|
export SRC_ROOT="@TOPDIR@"
|
||||||
export OUTPUT_ROOT="@OUTPUT_ROOT@"
|
export OUTPUT_ROOT="@OUTPUT_ROOT@"
|
||||||
|
|
|
@ -207,6 +207,7 @@ JDKOPT_SETUP_CODE_COVERAGE
|
||||||
# Need toolchain to setup dtrace
|
# Need toolchain to setup dtrace
|
||||||
HOTSPOT_SETUP_DTRACE
|
HOTSPOT_SETUP_DTRACE
|
||||||
HOTSPOT_SETUP_JVM_FEATURES
|
HOTSPOT_SETUP_JVM_FEATURES
|
||||||
|
HOTSPOT_ENABLE_DISABLE_GTEST
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
|
@ -226,9 +227,9 @@ LIB_SETUP_LIBRARIES
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
HOTSPOT_SETUP_LEGACY_BUILD
|
|
||||||
JDKOPT_DETECT_INTREE_EC
|
JDKOPT_DETECT_INTREE_EC
|
||||||
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
|
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
|
||||||
|
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,158 +0,0 @@
|
||||||
#
|
|
||||||
# Copyright (c) 2011, 2016, 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
# Chaining of spec files
|
|
||||||
HOTSPOT_SPEC:=$(dir $(SPEC))hotspot-spec.gmk
|
|
||||||
override SPEC=$(HOTSPOT_SPEC)
|
|
||||||
# Now include the base spec.gmk file
|
|
||||||
include $(BASE_SPEC)
|
|
||||||
|
|
||||||
# Additional legacy variables defined for Hotspot
|
|
||||||
|
|
||||||
@SET_OPENJDK@
|
|
||||||
@HOTSPOT_SET_WARNINGS_AS_ERRORS@
|
|
||||||
|
|
||||||
# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options.
|
|
||||||
@BUILD_HEADLESS@
|
|
||||||
|
|
||||||
JVM_VARIANTS:=@JVM_VARIANTS_COMMA@
|
|
||||||
|
|
||||||
JVM_VARIANT_SERVER:=@JVM_VARIANT_SERVER@
|
|
||||||
JVM_VARIANT_CLIENT:=@JVM_VARIANT_CLIENT@
|
|
||||||
JVM_VARIANT_MINIMAL1:=@JVM_VARIANT_MINIMAL1@
|
|
||||||
JVM_VARIANT_CORE:=@JVM_VARIANT_CORE@
|
|
||||||
JVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@
|
|
||||||
JVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@
|
|
||||||
JVM_VARIANT_CUSTOM:=@JVM_VARIANT_HOTSPOT@
|
|
||||||
|
|
||||||
# Legacy setting: OPT or DBG
|
|
||||||
VARIANT:=@VARIANT@
|
|
||||||
# Legacy setting: true or false
|
|
||||||
FASTDEBUG:=@FASTDEBUG@
|
|
||||||
# Legacy setting: debugging the class files?
|
|
||||||
DEBUG_CLASSFILES:=@DEBUG_CLASSFILES@
|
|
||||||
|
|
||||||
ALT_CUPS_HEADERS_PATH:=$(patsubst -I%,%,$(filter -I%,@CUPS_CFLAGS@))
|
|
||||||
|
|
||||||
# The HOSTCC/HOSTCXX is Hotspot terminology for the BUILD_CC/BUILD_CXX, i.e. the
|
|
||||||
# compiler that produces code that can be run on the build platform.
|
|
||||||
HOSTCC:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CC@ $(BUILD_SYSROOT_CFLAGS)
|
|
||||||
HOSTCXX:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CXX@ $(BUILD_SYSROOT_CFLAGS)
|
|
||||||
|
|
||||||
####################################################
|
|
||||||
#
|
|
||||||
# Legacy Hotspot support
|
|
||||||
|
|
||||||
# If cross compiling, then define CROSS_COMPILE_ARCH:=cpu_name here.
|
|
||||||
@DEFINE_CROSS_COMPILE_ARCH@
|
|
||||||
|
|
||||||
# Old name for OPENJDK_TARGET_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc)
|
|
||||||
PLATFORM=$(OPENJDK_TARGET_OS)
|
|
||||||
# 32 or 64 bit
|
|
||||||
ARCH_DATA_MODEL=$(OPENJDK_TARGET_CPU_BITS)
|
|
||||||
|
|
||||||
ALT_BOOTDIR=$(BOOT_JDK)
|
|
||||||
# Can be /sparcv9 or /amd64 on Solaris
|
|
||||||
ISA_DIR=$(OPENJDK_TARGET_CPU_ISADIR)
|
|
||||||
# Yet another name for arch used for an extra subdir below the jvm lib.
|
|
||||||
# Uses i386 and amd64, instead of x86 and x86_64.
|
|
||||||
LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB)
|
|
||||||
# Set the cpu architecture
|
|
||||||
ARCH=$(OPENJDK_TARGET_CPU_ARCH)
|
|
||||||
# Legacy setting for building for a 64 bit machine.
|
|
||||||
# If yes then this expands to _LP64:=1
|
|
||||||
@LP64@
|
|
||||||
|
|
||||||
# Legacy settings for zero
|
|
||||||
ZERO_ENDIANNESS=$(OPENJDK_TARGET_CPU_ENDIAN)
|
|
||||||
ZERO_LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB)
|
|
||||||
ZERO_ARCHDEF=@ZERO_ARCHDEF@
|
|
||||||
ZERO_ARCHFLAG=@ZERO_ARCHFLAG@
|
|
||||||
LIBFFI_CFLAGS=@LIBFFI_CFLAGS@
|
|
||||||
LIBFFI_LIBS=@LIBFFI_LIBS@
|
|
||||||
|
|
||||||
# Legacy settings for zeroshark
|
|
||||||
LLVM_CFLAGS=@LLVM_CFLAGS@
|
|
||||||
LLVM_LIBS=@LLVM_LIBS@
|
|
||||||
LLVM_LDFLAGS=@LLVM_LDFLAGS@
|
|
||||||
|
|
||||||
ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
|
|
||||||
ALT_EXPORT_PATH=$(HOTSPOT_DIST)
|
|
||||||
|
|
||||||
ifeq ($(HOTSPOT_TARGET_CPU), zero)
|
|
||||||
CC_INTERP=true
|
|
||||||
endif
|
|
||||||
|
|
||||||
HOTSPOT_MAKE_ARGS:=@HOTSPOT_MAKE_ARGS@ @STATIC_CXX_SETTING@
|
|
||||||
# Control wether Hotspot runs Queens test after building
|
|
||||||
TEST_IN_BUILD=@TEST_IN_BUILD@
|
|
||||||
|
|
||||||
USE_CLANG := @USE_CLANG@
|
|
||||||
|
|
||||||
# For hotspot, override compiler/tools definition to not include FIXPATH prefix.
|
|
||||||
# Hotspot has its own handling on the Windows path situation.
|
|
||||||
CXX:=@CCACHE@ @ICECC@ @HOTSPOT_CXX@
|
|
||||||
LD:=@HOTSPOT_LD@
|
|
||||||
MT:=@HOTSPOT_MT@
|
|
||||||
RC:=@HOTSPOT_RC@
|
|
||||||
|
|
||||||
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ $(CFLAGS_CCACHE) $(NO_NULL_POINTER_CHECK_FLAG) \
|
|
||||||
$(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG)
|
|
||||||
EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@ $(CFLAGS_CCACHE)
|
|
||||||
EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@
|
|
||||||
|
|
||||||
USE_PRECOMPILED_HEADER=@USE_PRECOMPILED_HEADER@
|
|
||||||
|
|
||||||
# Hotspot expects the variable FULL_DEBUG_SYMBOLS=1/0 to control debug symbols
|
|
||||||
# creation.
|
|
||||||
ifeq ($(COPY_DEBUG_SYMBOLS), true)
|
|
||||||
FULL_DEBUG_SYMBOLS=1
|
|
||||||
# Ensure hotspot uses the objcopy that configure located
|
|
||||||
ALT_OBJCOPY:=$(OBJCOPY)
|
|
||||||
else
|
|
||||||
FULL_DEBUG_SYMBOLS=0
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Hotspot expects the variable ZIP_DEBUGINFO_FILES=1/0 and not true/false.
|
|
||||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
|
|
||||||
ZIP_DEBUGINFO_FILES:=1
|
|
||||||
else
|
|
||||||
ZIP_DEBUGINFO_FILES:=0
|
|
||||||
endif
|
|
||||||
|
|
||||||
DEBUG_BINARIES := @DEBUG_BINARIES@
|
|
||||||
STRIP_POLICY := @STRIP_POLICY@
|
|
||||||
|
|
||||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
|
||||||
# On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
|
|
||||||
# environment variables (in Windows path style).
|
|
||||||
export INCLUDE:=@VS_INCLUDE@
|
|
||||||
export LIB:=@VS_LIB@
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files.
|
|
||||||
# This is needed to get the LOG setting to work properly.
|
|
||||||
include $(SRC_ROOT)/make/common/MakeBase.gmk
|
|
|
@ -93,7 +93,10 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
|
||||||
# Check that the selected variants are valid
|
# Check that the selected variants are valid
|
||||||
|
|
||||||
# grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
|
# grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
|
||||||
INVALID_VARIANTS=`$GREP -Fvx "${VALID_JVM_VARIANTS// /$'\n'}" <<< "${JVM_VARIANTS// /$'\n'}"`
|
# Notice that the original variant failes on SLES 10 and 11
|
||||||
|
NEEDLE=${VALID_JVM_VARIANTS// /$'\n'}
|
||||||
|
STACK=${JVM_VARIANTS// /$'\n'}
|
||||||
|
INVALID_VARIANTS=`$GREP -Fvx "${NEEDLE}" <<< "${STACK}"`
|
||||||
if test "x$INVALID_VARIANTS" != x; then
|
if test "x$INVALID_VARIANTS" != x; then
|
||||||
AC_MSG_NOTICE([Unknown variant(s) specified: $INVALID_VARIANTS])
|
AC_MSG_NOTICE([Unknown variant(s) specified: $INVALID_VARIANTS])
|
||||||
AC_MSG_ERROR([The available JVM variants are: $VALID_JVM_VARIANTS])
|
AC_MSG_ERROR([The available JVM variants are: $VALID_JVM_VARIANTS])
|
||||||
|
@ -101,7 +104,9 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
|
||||||
|
|
||||||
# All "special" variants share the same output directory ("server")
|
# All "special" variants share the same output directory ("server")
|
||||||
VALID_MULTIPLE_JVM_VARIANTS="server client minimal"
|
VALID_MULTIPLE_JVM_VARIANTS="server client minimal"
|
||||||
INVALID_MULTIPLE_VARIANTS=`$GREP -Fvx "${VALID_MULTIPLE_JVM_VARIANTS// /$'\n'}" <<< "${JVM_VARIANTS// /$'\n'}"`
|
NEEDLE=${VALID_MULTIPLE_JVM_VARIANTS// /$'\n'}
|
||||||
|
STACK=${JVM_VARIANTS// /$'\n'}
|
||||||
|
INVALID_MULTIPLE_VARIANTS=`$GREP -Fvx "${NEEDLE}" <<< "${STACK}"`
|
||||||
if test "x$INVALID_MULTIPLE_VARIANTS" != x && test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = xtrue; then
|
if test "x$INVALID_MULTIPLE_VARIANTS" != x && test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = xtrue; then
|
||||||
AC_MSG_ERROR([You cannot build multiple variants with anything else than $VALID_MULTIPLE_JVM_VARIANTS.])
|
AC_MSG_ERROR([You cannot build multiple variants with anything else than $VALID_MULTIPLE_JVM_VARIANTS.])
|
||||||
fi
|
fi
|
||||||
|
@ -293,146 +298,51 @@ AC_DEFUN_ONCE([HOTSPOT_VALIDATE_JVM_FEATURES],
|
||||||
features_var_name=JVM_FEATURES_$variant
|
features_var_name=JVM_FEATURES_$variant
|
||||||
JVM_FEATURES_TO_TEST=${!features_var_name}
|
JVM_FEATURES_TO_TEST=${!features_var_name}
|
||||||
AC_MSG_RESULT([$JVM_FEATURES_TO_TEST])
|
AC_MSG_RESULT([$JVM_FEATURES_TO_TEST])
|
||||||
INVALID_FEATURES=`$GREP -Fvx "${VALID_JVM_FEATURES// /$'\n'}" <<< "${JVM_FEATURES_TO_TEST// /$'\n'}"`
|
NEEDLE=${VALID_JVM_FEATURES// /$'\n'}
|
||||||
|
STACK=${JVM_FEATURES_TO_TEST// /$'\n'}
|
||||||
|
INVALID_FEATURES=`$GREP -Fvx "${NEEDLE}" <<< "${STACK}"`
|
||||||
if test "x$INVALID_FEATURES" != x; then
|
if test "x$INVALID_FEATURES" != x; then
|
||||||
AC_MSG_ERROR([Invalid JVM feature(s): $INVALID_FEATURES])
|
AC_MSG_ERROR([Invalid JVM feature(s): $INVALID_FEATURES])
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
])
|
])
|
||||||
|
|
||||||
###############################################################################
|
################################################################################
|
||||||
# Support for old hotspot build. Remove once new hotspot build has proven
|
# Check if gtest should be built
|
||||||
# to work satisfactory.
|
|
||||||
#
|
#
|
||||||
AC_DEFUN_ONCE([HOTSPOT_SETUP_LEGACY_BUILD],
|
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_GTEST],
|
||||||
[
|
[
|
||||||
AC_ARG_ENABLE(new-hotspot-build, [AS_HELP_STRING([--disable-new-hotspot-build],
|
AC_ARG_ENABLE([hotspot-gtest], [AS_HELP_STRING([--disable-hotspot-gtest],
|
||||||
[disable the new hotspot build system (use the old) @<:@enabled@:>@])])
|
[Disables building of the Hotspot unit tests])])
|
||||||
|
|
||||||
if test "x$enable_new_hotspot_build" = "x" || test "x$enable_new_hotspot_build" = "xyes"; then
|
if test -e "$HOTSPOT_TOPDIR/test/native"; then
|
||||||
USE_NEW_HOTSPOT_BUILD=true
|
GTEST_DIR_EXISTS="true"
|
||||||
else
|
|
||||||
USE_NEW_HOTSPOT_BUILD=false
|
|
||||||
fi
|
|
||||||
AC_SUBST(USE_NEW_HOTSPOT_BUILD)
|
|
||||||
|
|
||||||
case $HOTSPOT_DEBUG_LEVEL in
|
|
||||||
product )
|
|
||||||
VARIANT="OPT"
|
|
||||||
FASTDEBUG="false"
|
|
||||||
DEBUG_CLASSFILES="false"
|
|
||||||
;;
|
|
||||||
fastdebug )
|
|
||||||
VARIANT="DBG"
|
|
||||||
FASTDEBUG="true"
|
|
||||||
DEBUG_CLASSFILES="true"
|
|
||||||
;;
|
|
||||||
debug )
|
|
||||||
VARIANT="DBG"
|
|
||||||
FASTDEBUG="false"
|
|
||||||
DEBUG_CLASSFILES="true"
|
|
||||||
;;
|
|
||||||
optimized )
|
|
||||||
VARIANT="OPT"
|
|
||||||
FASTDEBUG="false"
|
|
||||||
DEBUG_CLASSFILES="false"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST(VARIANT)
|
|
||||||
AC_SUBST(FASTDEBUG)
|
|
||||||
AC_SUBST(DEBUG_CLASSFILES)
|
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
|
|
||||||
MACOSX_UNIVERSAL="true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(MACOSX_UNIVERSAL)
|
|
||||||
|
|
||||||
# Make sure JVM_VARIANTS_COMMA use minimal1 for backwards compatibility
|
|
||||||
JVM_VARIANTS_COMMA=`$ECHO ,$JVM_VARIANTS_OPT, | $SED -e 's/,minimal,/,minimal1,/'`
|
|
||||||
|
|
||||||
JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS_COMMA" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
|
|
||||||
JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS_COMMA" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
|
|
||||||
JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS_COMMA" | $SED -e '/,minimal1\?,/!s/.*/false/g' -e '/,minimal1\?,/s/.*/true/g'`
|
|
||||||
JVM_VARIANT_CORE=`$ECHO "$JVM_VARIANTS_COMMA" | $SED -e '/,core,/!s/.*/false/g' -e '/,core,/s/.*/true/g'`
|
|
||||||
JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS_COMMA" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
|
|
||||||
JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS_COMMA" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
|
|
||||||
JVM_VARIANT_CUSTOM=`$ECHO "$JVM_VARIANTS_COMMA" | $SED -e '/,custom,/!s/.*/false/g' -e '/,custom,/s/.*/true/g'`
|
|
||||||
|
|
||||||
#####
|
|
||||||
# Generate the legacy makefile targets for hotspot.
|
|
||||||
HOTSPOT_TARGET=""
|
|
||||||
|
|
||||||
if test "x$JVM_VARIANT_SERVER" = xtrue; then
|
|
||||||
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} "
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
|
|
||||||
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 "
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
|
|
||||||
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}minimal1 "
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$JVM_VARIANT_ZERO" = xtrue; then
|
|
||||||
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero "
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
|
|
||||||
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$JVM_VARIANT_CORE" = xtrue; then
|
|
||||||
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}core "
|
|
||||||
fi
|
|
||||||
|
|
||||||
HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_DEBUG_LEVEL"
|
|
||||||
|
|
||||||
# On Macosx universal binaries are produced, but they only contain
|
|
||||||
# 64 bit intel. This invalidates control of which jvms are built
|
|
||||||
# from configure, but only server is valid anyway. Fix this
|
|
||||||
# when hotspot makefiles are rewritten.
|
|
||||||
if test "x$MACOSX_UNIVERSAL" = xtrue; then
|
|
||||||
HOTSPOT_TARGET=universal_${HOTSPOT_DEBUG_LEVEL}
|
|
||||||
fi
|
|
||||||
|
|
||||||
HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET"
|
|
||||||
AC_SUBST(HOTSPOT_MAKE_ARGS)
|
|
||||||
|
|
||||||
# Control wether Hotspot runs Queens test after build.
|
|
||||||
AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build],
|
|
||||||
[run the Queens test after Hotspot build @<:@disabled@:>@])],,
|
|
||||||
[enable_hotspot_test_in_build=no])
|
|
||||||
if test "x$enable_hotspot_test_in_build" = "xyes"; then
|
|
||||||
TEST_IN_BUILD=true
|
|
||||||
else
|
else
|
||||||
TEST_IN_BUILD=false
|
GTEST_DIR_EXISTS="false"
|
||||||
fi
|
|
||||||
AC_SUBST(TEST_IN_BUILD)
|
|
||||||
|
|
||||||
if test "x$USE_NEW_HOTSPOT_BUILD" = xfalse; then
|
|
||||||
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
|
|
||||||
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
|
|
||||||
AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
|
|
||||||
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
|
|
||||||
AC_MSG_ERROR([You cannot build a minimal JVM for a 64-bit machine.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "x$JVM_VARIANT_CUSTOM" = xtrue; then
|
|
||||||
AC_MSG_ERROR([You cannot build a custom JVM using the old hotspot build system.])
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(JVM_VARIANTS_COMMA)
|
AC_MSG_CHECKING([if Hotspot gtest unit tests should be built])
|
||||||
AC_SUBST(JVM_VARIANT_SERVER)
|
if test "x$enable_hotspot_gtest" = "xyes"; then
|
||||||
AC_SUBST(JVM_VARIANT_CLIENT)
|
if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
|
||||||
AC_SUBST(JVM_VARIANT_MINIMAL1)
|
AC_MSG_RESULT([yes, forced])
|
||||||
AC_SUBST(JVM_VARIANT_HOTSPOT)
|
BUILD_GTEST="true"
|
||||||
AC_SUBST(JVM_VARIANT_ZERO)
|
else
|
||||||
AC_SUBST(JVM_VARIANT_ZEROSHARK)
|
AC_MSG_ERROR([Cannot build gtest without the test source])
|
||||||
AC_SUBST(JVM_VARIANT_CORE)
|
fi
|
||||||
|
elif test "x$enable_hotspot_gtest" = "xno"; then
|
||||||
|
AC_MSG_RESULT([no, forced])
|
||||||
|
BUILD_GTEST="false"
|
||||||
|
elif test "x$enable_hotspot_gtest" = "x"; then
|
||||||
|
if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
BUILD_GTEST="true"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
BUILD_GTEST="false"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([--enable-gtest must be either yes or no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(BUILD_GTEST)
|
||||||
])
|
])
|
||||||
|
|
|
@ -209,9 +209,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||||
if test "x$OPENJDK_TARGET_OS" = xaix ; then
|
if test "x$OPENJDK_TARGET_OS" = xaix ; then
|
||||||
INCLUDE_SA=false
|
INCLUDE_SA=false
|
||||||
fi
|
fi
|
||||||
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
|
|
||||||
INCLUDE_SA=false
|
|
||||||
fi
|
|
||||||
AC_SUBST(INCLUDE_SA)
|
AC_SUBST(INCLUDE_SA)
|
||||||
|
|
||||||
# Compress jars
|
# Compress jars
|
||||||
|
@ -494,3 +491,46 @@ AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
|
||||||
|
|
||||||
AC_SUBST(BUILD_FAILURE_HANDLER)
|
AC_SUBST(BUILD_FAILURE_HANDLER)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Enable or disable generation of the classlist at build time
|
||||||
|
#
|
||||||
|
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST],
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE([generate-classlist], [AS_HELP_STRING([--disable-generate-classlist],
|
||||||
|
[forces enabling or disabling of the generation of a CDS classlist at build time.
|
||||||
|
Default is to generate it when either the server or client JVMs are built.])])
|
||||||
|
|
||||||
|
# Check if it's likely that it's possible to generate the classlist. Depending
|
||||||
|
# on exact jvm configuration it could be possible anyway.
|
||||||
|
if HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client); then
|
||||||
|
ENABLE_GENERATE_CLASSLIST_POSSIBLE="true"
|
||||||
|
else
|
||||||
|
ENABLE_GENERATE_CLASSLIST_POSSIBLE="false"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([if the CDS classlist generation should be enabled])
|
||||||
|
if test "x$enable_generate_classlist" = "xyes"; then
|
||||||
|
AC_MSG_RESULT([yes, forced])
|
||||||
|
ENABLE_GENERATE_CLASSLIST="true"
|
||||||
|
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xfalse"; then
|
||||||
|
AC_MSG_WARN([Generation of classlist might not be possible with JVM Variants $JVM_VARIANTS])
|
||||||
|
fi
|
||||||
|
elif test "x$enable_generate_classlist" = "xno"; then
|
||||||
|
AC_MSG_RESULT([no, forced])
|
||||||
|
ENABLE_GENERATE_CLASSLIST="false"
|
||||||
|
elif test "x$enable_generate_classlist" = "x"; then
|
||||||
|
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xtrue"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
ENABLE_GENERATE_CLASSLIST="true"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
ENABLE_GENERATE_CLASSLIST="false"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([Invalid value for --enable-generate-classlist: $enable_generate_classlist])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST([ENABLE_GENERATE_CLASSLIST])
|
||||||
|
])
|
||||||
|
|
|
@ -95,6 +95,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||||
LIB_SETUP_LLVM
|
LIB_SETUP_LLVM
|
||||||
LIB_SETUP_BUNDLED_LIBS
|
LIB_SETUP_BUNDLED_LIBS
|
||||||
LIB_SETUP_MISC_LIBS
|
LIB_SETUP_MISC_LIBS
|
||||||
|
LIB_SETUP_SOLARIS_STLPORT
|
||||||
])
|
])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -189,3 +190,26 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
|
||||||
LIBZIP_CAN_USE_MMAP=true
|
LIBZIP_CAN_USE_MMAP=true
|
||||||
AC_SUBST(LIBZIP_CAN_USE_MMAP)
|
AC_SUBST(LIBZIP_CAN_USE_MMAP)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# libstlport.so.1 is needed for running gtest on Solaris. Find it to
|
||||||
|
# redistribute it in the test image.
|
||||||
|
################################################################################
|
||||||
|
AC_DEFUN_ONCE([LIB_SETUP_SOLARIS_STLPORT],
|
||||||
|
[
|
||||||
|
if test "$OPENJDK_TARGET_OS" = "solaris"; then
|
||||||
|
# Find the root of the Solaris Studio installation from the compiler path
|
||||||
|
SOLARIS_STUDIO_DIR="$(dirname $CC)/.."
|
||||||
|
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4$OPENJDK_TARGET_CPU_ISADIR/libstlport.so.1"
|
||||||
|
AC_MSG_CHECKING([for libstlport.so.1])
|
||||||
|
if test -f "$STLPORT_LIB"; then
|
||||||
|
AC_MSG_RESULT([yes, $STLPORT_LIB])
|
||||||
|
BASIC_FIXUP_PATH([STLPORT_LIB])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no, not found at $STLPORT_LIB])
|
||||||
|
AC_MSG_ERROR([Failed to find libstlport.so.1, cannot build Hotspot gtests])
|
||||||
|
fi
|
||||||
|
AC_SUBST(STLPORT_LIB)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
|
@ -366,6 +366,23 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
|
||||||
fi
|
fi
|
||||||
AC_SUBST(OPENJDK_$1_OS_EXPORT_DIR)
|
AC_SUBST(OPENJDK_$1_OS_EXPORT_DIR)
|
||||||
|
|
||||||
|
# The new version string in JDK 9 also defined new naming of OS and ARCH for bundles
|
||||||
|
# Macosx is osx and x86_64 is x64
|
||||||
|
if test "x$OPENJDK_$1_OS" = xmacosx; then
|
||||||
|
OPENJDK_$1_OS_BUNDLE="osx"
|
||||||
|
else
|
||||||
|
OPENJDK_$1_OS_BUNDLE="$OPENJDK_TARGET_OS"
|
||||||
|
fi
|
||||||
|
if test "x$OPENJDK_$1_CPU" = xx86_64; then
|
||||||
|
OPENJDK_$1_CPU_BUNDLE="x64"
|
||||||
|
else
|
||||||
|
OPENJDK_$1_CPU_BUNDLE="$OPENJDK_$1_CPU"
|
||||||
|
fi
|
||||||
|
OPENJDK_$1_BUNDLE_PLATFORM="${OPENJDK_$1_OS_BUNDLE}-${OPENJDK_$1_CPU_BUNDLE}"
|
||||||
|
AC_SUBST(OPENJDK_$1_OS_BUNDLE)
|
||||||
|
AC_SUBST(OPENJDK_$1_CPU_BUNDLE)
|
||||||
|
AC_SUBST(OPENJDK_$1_BUNDLE_PLATFORM)
|
||||||
|
|
||||||
if test "x$OPENJDK_$1_CPU_BITS" = x64; then
|
if test "x$OPENJDK_$1_CPU_BITS" = x64; then
|
||||||
A_LP64="LP64:="
|
A_LP64="LP64:="
|
||||||
# -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
|
# -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
|
||||||
|
|
|
@ -89,6 +89,10 @@ HOTSPOT_TARGET_CPU := @HOTSPOT_TARGET_CPU@
|
||||||
HOTSPOT_TARGET_CPU_ARCH := @HOTSPOT_TARGET_CPU_ARCH@
|
HOTSPOT_TARGET_CPU_ARCH := @HOTSPOT_TARGET_CPU_ARCH@
|
||||||
HOTSPOT_TARGET_CPU_DEFINE := @HOTSPOT_TARGET_CPU_DEFINE@
|
HOTSPOT_TARGET_CPU_DEFINE := @HOTSPOT_TARGET_CPU_DEFINE@
|
||||||
|
|
||||||
|
OPENJDK_TARGET_CPU_BUNDLE:=@OPENJDK_TARGET_CPU_BUNDLE@
|
||||||
|
OPENJDK_TARGET_OS_BUNDLE:=@OPENJDK_TARGET_OS_BUNDLE@
|
||||||
|
OPENJDK_TARGET_BUNDLE_PLATFORM:=@OPENJDK_TARGET_BUNDLE_PLATFORM@
|
||||||
|
|
||||||
# We are building on this build system.
|
# We are building on this build system.
|
||||||
# When not cross-compiling, it is the same as the target.
|
# When not cross-compiling, it is the same as the target.
|
||||||
OPENJDK_BUILD_OS:=@OPENJDK_BUILD_OS@
|
OPENJDK_BUILD_OS:=@OPENJDK_BUILD_OS@
|
||||||
|
@ -232,6 +236,9 @@ JVM_FEATURES_custom := @JVM_FEATURES_custom@
|
||||||
VALID_JVM_FEATURES := @VALID_JVM_FEATURES@
|
VALID_JVM_FEATURES := @VALID_JVM_FEATURES@
|
||||||
VALID_JVM_VARIANTS := @VALID_JVM_VARIANTS@
|
VALID_JVM_VARIANTS := @VALID_JVM_VARIANTS@
|
||||||
|
|
||||||
|
# Control wether Hotspot builds gtest tests
|
||||||
|
BUILD_GTEST := @BUILD_GTEST@
|
||||||
|
|
||||||
# Control use of precompiled header in hotspot libjvm build
|
# Control use of precompiled header in hotspot libjvm build
|
||||||
USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
|
USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
|
||||||
|
|
||||||
|
@ -265,6 +272,7 @@ BUILDTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/buildtools
|
||||||
HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot
|
HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot
|
||||||
JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk
|
JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk
|
||||||
IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images
|
IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images
|
||||||
|
BUNDLES_OUTPUTDIR=$(BUILD_OUTPUT)/bundles
|
||||||
TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/test-make
|
TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/test-make
|
||||||
MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support
|
MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support
|
||||||
# This does not get overridden in a bootcycle build
|
# This does not get overridden in a bootcycle build
|
||||||
|
@ -277,6 +285,8 @@ BUILD_HOTSPOT=@BUILD_HOTSPOT@
|
||||||
|
|
||||||
BUILD_FAILURE_HANDLER := @BUILD_FAILURE_HANDLER@
|
BUILD_FAILURE_HANDLER := @BUILD_FAILURE_HANDLER@
|
||||||
|
|
||||||
|
ENABLE_GENERATE_CLASSLIST := @ENABLE_GENERATE_CLASSLIST@
|
||||||
|
|
||||||
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
|
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
|
||||||
# it in sync.
|
# it in sync.
|
||||||
BOOT_JDK:=@BOOT_JDK@
|
BOOT_JDK:=@BOOT_JDK@
|
||||||
|
@ -629,6 +639,7 @@ ECHO:=@ECHO@
|
||||||
EGREP:=@EGREP@
|
EGREP:=@EGREP@
|
||||||
FGREP:=@FGREP@
|
FGREP:=@FGREP@
|
||||||
GREP:=@GREP@
|
GREP:=@GREP@
|
||||||
|
GZIP:=@GZIP@
|
||||||
HEAD:=@HEAD@
|
HEAD:=@HEAD@
|
||||||
LS:=@LS@
|
LS:=@LS@
|
||||||
LN:=@LN@
|
LN:=@LN@
|
||||||
|
@ -676,6 +687,9 @@ XCODEBUILD=@XCODEBUILD@
|
||||||
DTRACE := @DTRACE@
|
DTRACE := @DTRACE@
|
||||||
FIXPATH:=@FIXPATH@
|
FIXPATH:=@FIXPATH@
|
||||||
|
|
||||||
|
TAR_INCLUDE_PARAM:=@TAR_INCLUDE_PARAM@
|
||||||
|
TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@
|
||||||
|
|
||||||
# Build setup
|
# Build setup
|
||||||
ENABLE_JFR=@ENABLE_JFR@
|
ENABLE_JFR=@ENABLE_JFR@
|
||||||
ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
|
ENABLE_INTREE_EC=@ENABLE_INTREE_EC@
|
||||||
|
@ -685,6 +699,7 @@ USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
|
||||||
LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
|
LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
|
||||||
MSVCR_DLL:=@MSVCR_DLL@
|
MSVCR_DLL:=@MSVCR_DLL@
|
||||||
MSVCP_DLL:=@MSVCP_DLL@
|
MSVCP_DLL:=@MSVCP_DLL@
|
||||||
|
STLPORT_LIB:=@STLPORT_LIB@
|
||||||
|
|
||||||
####################################################
|
####################################################
|
||||||
#
|
#
|
||||||
|
@ -781,11 +796,46 @@ SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR)
|
||||||
# Interim image
|
# Interim image
|
||||||
INTERIM_IMAGE_DIR := $(SUPPORT_OUTPUTDIR)/interim-image
|
INTERIM_IMAGE_DIR := $(SUPPORT_OUTPUTDIR)/interim-image
|
||||||
|
|
||||||
|
# Docs image
|
||||||
|
DOCS_IMAGE_SUBDIR := docs
|
||||||
|
DOCS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(DOCS_IMAGE_SUBDIR)
|
||||||
|
|
||||||
# Macosx bundles directory definitions
|
# Macosx bundles directory definitions
|
||||||
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk-$(VERSION_NUMBER).jdk/Contents
|
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
|
||||||
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre-$(VERSION_NUMBER).jre/Contents
|
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle
|
||||||
JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
|
JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
|
||||||
JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
|
JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
|
||||||
|
JDK_MACOSX_CONTENTS_SUBDIR=jdk-$(VERSION_NUMBER).jdk/Contents
|
||||||
|
JRE_MACOSX_CONTENTS_SUBDIR=jre-$(VERSION_NUMBER).jre/Contents
|
||||||
|
JDK_MACOSX_CONTENTS_DIR=$(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
|
||||||
|
JRE_MACOSX_CONTENTS_DIR=$(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)
|
||||||
|
|
||||||
|
# Bundle names
|
||||||
|
BASE_NAME := $(VERSION_SHORT)+$(VERSION_BUILD)_$(OPENJDK_TARGET_BUNDLE_PLATFORM)
|
||||||
|
ifeq ($(DEBUG_LEVEL), fastdebug)
|
||||||
|
DEBUG_PART := -debug
|
||||||
|
else ifneq ($(DEBUG_LEVEL), release)
|
||||||
|
DEBUG_PART := -$(DEBUG_LEVEL)
|
||||||
|
endif
|
||||||
|
JDK_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz
|
||||||
|
JRE_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz
|
||||||
|
JDK_SYMBOLS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
|
||||||
|
JRE_SYMBOLS_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
|
||||||
|
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||||
|
DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_demo$(DEBUG_PART).zip
|
||||||
|
else
|
||||||
|
DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_demo$(DEBUG_PART).tar.gz
|
||||||
|
endif
|
||||||
|
TEST_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
|
||||||
|
DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
|
||||||
|
|
||||||
|
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
|
||||||
|
JRE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)
|
||||||
|
JDK_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_SYMBOLS_BUNDLE_NAME)
|
||||||
|
JRE_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_SYMBOLS_BUNDLE_NAME)
|
||||||
|
DEMOS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DEMOS_BUNDLE_NAME)
|
||||||
|
TEST_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
|
||||||
|
DOCS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_BUNDLE_NAME)
|
||||||
|
|
||||||
# This macro is called to allow inclusion of closed source counterparts.
|
# This macro is called to allow inclusion of closed source counterparts.
|
||||||
# Unless overridden in closed sources, it expands to nothing.
|
# Unless overridden in closed sources, it expands to nothing.
|
||||||
|
|
|
@ -274,14 +274,19 @@ compare_file_types() {
|
||||||
|
|
||||||
$MKDIR -p $WORK_DIR
|
$MKDIR -p $WORK_DIR
|
||||||
|
|
||||||
|
FILE_TYPES_FILTER="$SED \
|
||||||
|
-e 's/BuildID[^,]*//' \
|
||||||
|
-e 's/last modified: .*//' \
|
||||||
|
"
|
||||||
|
|
||||||
echo -n File types...
|
echo -n File types...
|
||||||
found=""
|
found=""
|
||||||
for f in `cd $OTHER_DIR && $FIND . ! -type d`
|
for f in `cd $OTHER_DIR && $FIND . ! -type d`
|
||||||
do
|
do
|
||||||
if [ ! -f ${OTHER_DIR}/$f ]; then continue; fi
|
if [ ! -f ${OTHER_DIR}/$f ]; then continue; fi
|
||||||
if [ ! -f ${THIS_DIR}/$f ]; then continue; fi
|
if [ ! -f ${THIS_DIR}/$f ]; then continue; fi
|
||||||
OF=`cd ${OTHER_DIR} && $FILE -h $f | $SED 's/BuildID[^,]*//g'`
|
OF=$(cd ${OTHER_DIR} && $FILE -h $f | eval $FILE_TYPES_FILTER)
|
||||||
TF=`cd ${THIS_DIR} && $FILE -h $f | $SED 's/BuildID[^,]*//g'`
|
TF=$(cd ${THIS_DIR} && $FILE -h $f | eval $FILE_TYPES_FILTER)
|
||||||
if [ "$OF" != "$TF" ]
|
if [ "$OF" != "$TF" ]
|
||||||
then
|
then
|
||||||
if [ "`echo $OF | $GREP -c 'Zip archive data'`" -gt 0 ] \
|
if [ "`echo $OF | $GREP -c 'Zip archive data'`" -gt 0 ] \
|
||||||
|
@ -320,7 +325,7 @@ compare_general_files() {
|
||||||
! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \
|
! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \
|
||||||
! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \
|
! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \
|
||||||
! -name "jspawnhelper" ! -name "JavawsLauncher" ! -name "*.a" \
|
! -name "jspawnhelper" ! -name "JavawsLauncher" ! -name "*.a" \
|
||||||
! -name "finish_installation" ! -name "Sparkle" \
|
! -name "finish_installation" ! -name "Sparkle" ! -name "*.tar.gz" \
|
||||||
| $GREP -v "./bin/" | $SORT | $FILTER)
|
| $GREP -v "./bin/" | $SORT | $FILTER)
|
||||||
|
|
||||||
echo Other files with binary differences...
|
echo Other files with binary differences...
|
||||||
|
@ -423,6 +428,10 @@ compare_zip_file() {
|
||||||
then
|
then
|
||||||
(cd $THIS_UNZIPDIR && $UNARCHIVE $THIS_ZIP)
|
(cd $THIS_UNZIPDIR && $UNARCHIVE $THIS_ZIP)
|
||||||
(cd $OTHER_UNZIPDIR && $UNARCHIVE $OTHER_ZIP)
|
(cd $OTHER_UNZIPDIR && $UNARCHIVE $OTHER_ZIP)
|
||||||
|
elif [ "$TYPE" = "gz" ]
|
||||||
|
then
|
||||||
|
(cd $THIS_UNZIPDIR && $GUNZIP -c $THIS_ZIP | $TAR xf -)
|
||||||
|
(cd $OTHER_UNZIPDIR && $GUNZIP -c $OTHER_ZIP | $TAR xf -)
|
||||||
else
|
else
|
||||||
(cd $THIS_UNZIPDIR && $JIMAGE extract $THIS_ZIP)
|
(cd $THIS_UNZIPDIR && $JIMAGE extract $THIS_ZIP)
|
||||||
(cd $OTHER_UNZIPDIR && $JIMAGE extract $OTHER_ZIP)
|
(cd $OTHER_UNZIPDIR && $JIMAGE extract $OTHER_ZIP)
|
||||||
|
@ -526,10 +535,11 @@ compare_all_zip_files() {
|
||||||
OTHER_DIR=$2
|
OTHER_DIR=$2
|
||||||
WORK_DIR=$3
|
WORK_DIR=$3
|
||||||
|
|
||||||
ZIPS=$(cd $THIS_DIR && $FIND . -type f -name "*.zip" | $SORT | $FILTER )
|
ZIPS=$(cd $THIS_DIR && $FIND . -type f -name "*.zip" -o -name "*.tar.gz" \
|
||||||
|
| $SORT | $FILTER )
|
||||||
|
|
||||||
if [ -n "$ZIPS" ]; then
|
if [ -n "$ZIPS" ]; then
|
||||||
echo Zip files...
|
echo Zip/tar.gz files...
|
||||||
|
|
||||||
return_value=0
|
return_value=0
|
||||||
for f in $ZIPS; do
|
for f in $ZIPS; do
|
||||||
|
@ -913,7 +923,7 @@ compare_bin_file() {
|
||||||
FULLDUMP_MSG=" "
|
FULLDUMP_MSG=" "
|
||||||
DIFF_FULLDUMP=
|
DIFF_FULLDUMP=
|
||||||
if [[ "$KNOWN_FULLDUMP_DIFF $ACCEPTED_FULLDUMP_DIFF" = *"$BIN_FILE"* ]]; then
|
if [[ "$KNOWN_FULLDUMP_DIFF $ACCEPTED_FULLDUMP_DIFF" = *"$BIN_FILE"* ]]; then
|
||||||
FULLDUMP_MSG=" ! "
|
FULLDUMP_MSG=" ! "
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -155,6 +155,14 @@ addBuildDir() {
|
||||||
printf "%s\n" "$mn" >> $IDEA_ANT
|
printf "%s\n" "$mn" >> $IDEA_ANT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JTREG_HOME=" <property name=\"jtreg.home\" value=\"####\" />"
|
||||||
|
|
||||||
|
addJtregHome() {
|
||||||
|
DIR=`dirname $SPEC`
|
||||||
|
mn="`echo "$JTREG_HOME" | sed -e s@"\(.*\)####\(.*\)"@"\1$JT_HOME\2"@`"
|
||||||
|
printf "%s\n" "$mn" >> $IDEA_ANT
|
||||||
|
}
|
||||||
|
|
||||||
### Generate ant.xml
|
### Generate ant.xml
|
||||||
|
|
||||||
rm -f $IDEA_ANT
|
rm -f $IDEA_ANT
|
||||||
|
@ -162,6 +170,8 @@ while IFS= read -r line
|
||||||
do
|
do
|
||||||
if echo "$line" | egrep "^ .* <property name=\"module.name\"" > /dev/null ; then
|
if echo "$line" | egrep "^ .* <property name=\"module.name\"" > /dev/null ; then
|
||||||
addModuleName
|
addModuleName
|
||||||
|
elif echo "$line" | egrep "^ .* <property name=\"jtreg.home\"" > /dev/null ; then
|
||||||
|
addJtregHome
|
||||||
elif echo "$line" | egrep "^ .* <property name=\"build.target.dir\"" > /dev/null ; then
|
elif echo "$line" | egrep "^ .* <property name=\"build.target.dir\"" > /dev/null ; then
|
||||||
addBuildDir
|
addBuildDir
|
||||||
else
|
else
|
||||||
|
|
|
@ -215,11 +215,11 @@ var getJibProfilesCommon = function (input) {
|
||||||
var common = {};
|
var common = {};
|
||||||
|
|
||||||
common.dependencies = ["boot_jdk", "gnumake", "jtreg"],
|
common.dependencies = ["boot_jdk", "gnumake", "jtreg"],
|
||||||
common.default_make_targets = ["product-images", "test-image"],
|
common.default_make_targets = ["product-bundles", "test-bundles"],
|
||||||
common.default_make_targets_debug = common.default_make_targets;
|
common.default_make_targets_debug = common.default_make_targets;
|
||||||
common.default_make_targets_slowdebug = common.default_make_targets;
|
common.default_make_targets_slowdebug = common.default_make_targets;
|
||||||
common.configure_args = ["--enable-jtreg-failure-handler"],
|
common.configure_args = ["--enable-jtreg-failure-handler"],
|
||||||
common.configure_args_32bit = ["--with-target-bits=32", "--with-jvm-variants=client,server"],
|
common.configure_args_32bit = ["--with-target-bits=32"],
|
||||||
common.configure_args_debug = ["--enable-debug"],
|
common.configure_args_debug = ["--enable-debug"],
|
||||||
common.configure_args_slowdebug = ["--with-debug-level=slowdebug"],
|
common.configure_args_slowdebug = ["--with-debug-level=slowdebug"],
|
||||||
common.organization = "jpg.infra.builddeps"
|
common.organization = "jpg.infra.builddeps"
|
||||||
|
@ -245,7 +245,7 @@ var getJibProfilesProfiles = function (input, common) {
|
||||||
target_cpu: "x64",
|
target_cpu: "x64",
|
||||||
dependencies: concat(common.dependencies, "devkit"),
|
dependencies: concat(common.dependencies, "devkit"),
|
||||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||||
default_make_targets: concat(common.default_make_targets, "docs-image")
|
default_make_targets: concat(common.default_make_targets, "docs-bundles")
|
||||||
},
|
},
|
||||||
|
|
||||||
"linux-x86": {
|
"linux-x86": {
|
||||||
|
@ -254,7 +254,7 @@ var getJibProfilesProfiles = function (input, common) {
|
||||||
build_cpu: "x64",
|
build_cpu: "x64",
|
||||||
dependencies: concat(common.dependencies, "devkit"),
|
dependencies: concat(common.dependencies, "devkit"),
|
||||||
configure_args: concat(common.configure_args, common.configure_args_32bit,
|
configure_args: concat(common.configure_args, common.configure_args_32bit,
|
||||||
"--with-zlib=system"),
|
"--with-jvm-variants=minimal,client,server", "--with-zlib=system"),
|
||||||
default_make_targets: common.default_make_targets
|
default_make_targets: common.default_make_targets
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -295,7 +295,8 @@ var getJibProfilesProfiles = function (input, common) {
|
||||||
target_cpu: "x86",
|
target_cpu: "x86",
|
||||||
build_cpu: "x64",
|
build_cpu: "x64",
|
||||||
dependencies: concat(common.dependencies, "devkit", "freetype"),
|
dependencies: concat(common.dependencies, "devkit", "freetype"),
|
||||||
configure_args: concat(common.configure_args, common.configure_args_32bit),
|
configure_args: concat(common.configure_args,
|
||||||
|
"--with-jvm-variants=client,server", common.configure_args_32bit),
|
||||||
default_make_targets: common.default_make_targets
|
default_make_targets: common.default_make_targets
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -361,3 +361,5 @@ cc30faa2da498c478e89ab062ff160653ca1b170 jdk-9+113
|
||||||
7dfa7377a5e601b8f740741a9a80e04c72dd04d6 jdk-9+116
|
7dfa7377a5e601b8f740741a9a80e04c72dd04d6 jdk-9+116
|
||||||
7a1b36bf2fe55a9a7732489ccdd326c910329a7e jdk-9+117
|
7a1b36bf2fe55a9a7732489ccdd326c910329a7e jdk-9+117
|
||||||
8c2c2d17f7ce92a31c9ccb44a122ec62f5a85ace jdk-9+118
|
8c2c2d17f7ce92a31c9ccb44a122ec62f5a85ace jdk-9+118
|
||||||
|
daf533920b1266603b5cbdab31908d2a931c5361 jdk-9+119
|
||||||
|
5943b791e131e79b969d4cea053aecda34801723 jdk-9+120
|
||||||
|
|
|
@ -522,3 +522,4 @@ b64432bae5271735fd53300b2005b713e98ef411 jdk-9+114
|
||||||
88170d3642905b9e6cac03e8efcc976885a7e6da jdk-9+117
|
88170d3642905b9e6cac03e8efcc976885a7e6da jdk-9+117
|
||||||
9b1075cac08dc836ec32e7b368415cbe3aceaf8c jdk-9+118
|
9b1075cac08dc836ec32e7b368415cbe3aceaf8c jdk-9+118
|
||||||
15f3fe264872766bcb205696198f0c1502420e17 jdk-9+119
|
15f3fe264872766bcb205696198f0c1502420e17 jdk-9+119
|
||||||
|
0be6f4f5d18671184e62583668cb1d783dffa128 jdk-9+120
|
||||||
|
|
|
@ -306,7 +306,10 @@ ifdef TESTDIRS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONCURRENCY
|
ifdef CONCURRENCY
|
||||||
EXTRA_JTREG_OPTIONS += -concurrency:$(CONCURRENCY)
|
JTREG_BASIC_OPTIONS += -concurrency:$(CONCURRENCY)
|
||||||
|
endif
|
||||||
|
ifdef EXTRA_JTREG_OPTIONS
|
||||||
|
JTREG_BASIC_OPTIONS += $(EXTRA_JTREG_OPTIONS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Default JTREG to run
|
# Default JTREG to run
|
||||||
|
@ -326,8 +329,6 @@ JTREG_BASIC_OPTIONS += $(JTREG_IGNORE_OPTION)
|
||||||
# Multiply by 4 the timeout factor
|
# Multiply by 4 the timeout factor
|
||||||
JTREG_TIMEOUT_OPTION = -timeoutFactor:4
|
JTREG_TIMEOUT_OPTION = -timeoutFactor:4
|
||||||
JTREG_BASIC_OPTIONS += $(JTREG_TIMEOUT_OPTION)
|
JTREG_BASIC_OPTIONS += $(JTREG_TIMEOUT_OPTION)
|
||||||
# Add any extra options
|
|
||||||
JTREG_BASIC_OPTIONS += $(EXTRA_JTREG_OPTIONS)
|
|
||||||
# Set other vm and test options
|
# Set other vm and test options
|
||||||
JTREG_TEST_OPTIONS = $(JAVA_ARGS:%=-javaoptions:%) $(JAVA_OPTIONS:%=-vmoption:%) $(JAVA_VM_ARGS:%=-vmoption:%)
|
JTREG_TEST_OPTIONS = $(JAVA_ARGS:%=-javaoptions:%) $(JAVA_OPTIONS:%=-vmoption:%) $(JAVA_VM_ARGS:%=-vmoption:%)
|
||||||
|
|
||||||
|
|
85
hotspot/test/native/GTestWrapper.java
Normal file
85
hotspot/test/native/GTestWrapper.java
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2016, 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.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* @test
|
||||||
|
* @summary a jtreg wrapper for gtest tests
|
||||||
|
* @library /test/lib/share/classes
|
||||||
|
* @modules java.base/jdk.internal.misc
|
||||||
|
* @run main/native GTestWrapper
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
import jdk.test.lib.Platform;
|
||||||
|
import jdk.test.lib.Utils;
|
||||||
|
import jdk.test.lib.process.ProcessTools;
|
||||||
|
import jdk.test.lib.process.OutputAnalyzer;
|
||||||
|
|
||||||
|
public class GTestWrapper {
|
||||||
|
public static void main(String[] args) throws Throwable {
|
||||||
|
// gtestLauncher is located in <test_image>/hotspot/gtest/<vm_variant>/
|
||||||
|
// nativePath points either to <test_image>/hotspot/jtreg/native or to <test_image>/hotspot/gtest
|
||||||
|
Path nativePath = Paths.get(System.getProperty("test.nativepath"));
|
||||||
|
String jvmVariantDir = getJVMVariantSubDir();
|
||||||
|
// let's assume it's <test_image>/hotspot/gtest
|
||||||
|
Path path = nativePath.resolve(jvmVariantDir);
|
||||||
|
if (!path.toFile().exists()) {
|
||||||
|
// maybe it is <test_image>/hotspot/jtreg/native
|
||||||
|
path = nativePath.getParent()
|
||||||
|
.getParent()
|
||||||
|
.resolve("gtest")
|
||||||
|
.resolve(jvmVariantDir);
|
||||||
|
}
|
||||||
|
if (!path.toFile().exists()) {
|
||||||
|
throw new Error("TESTBUG: the library has not been found in " + nativePath);
|
||||||
|
}
|
||||||
|
path = path.resolve("gtestLauncher" + (Platform.isWindows() ? ".exe" : ""));
|
||||||
|
Stream<String> launcherArgs = Stream.of(path.toString(), "-jdk",
|
||||||
|
System.getProperty("test.jdk"));
|
||||||
|
// JVM accepts only -X and -D flags
|
||||||
|
Stream<String> vmFLags = Arrays.stream(Utils.getTestJavaOpts())
|
||||||
|
.filter(s -> s.startsWith("-X") || s.startsWith("-D"));
|
||||||
|
String[] cmds = Stream.concat(launcherArgs, vmFLags)
|
||||||
|
.toArray(String[]::new);
|
||||||
|
ProcessTools.executeCommand(cmds).shouldHaveExitValue(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getJVMVariantSubDir() {
|
||||||
|
if (Platform.isServer()) {
|
||||||
|
return "server";
|
||||||
|
} else if (Platform.isClient()) {
|
||||||
|
return "client";
|
||||||
|
} else if (Platform.isMinimal()) {
|
||||||
|
return "minimal";
|
||||||
|
} else {
|
||||||
|
throw new Error("TESTBUG: unsuppported vm variant");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -103,7 +103,7 @@ public class CheckRead {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -103,7 +103,7 @@ public class DiffCL_CheckRead {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -105,7 +105,7 @@ public class DiffCL_ExpQualOther {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class DiffCL_ExpQualToM1 {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class DiffCL_ExpUnqual {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class DiffCL_PkgNotExp {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class DiffCL_Umod {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
||||||
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
||||||
|
@ -141,7 +141,7 @@ public class DiffCL_Umod {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
||||||
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
||||||
|
@ -190,7 +190,7 @@ public class DiffCL_Umod {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
||||||
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
||||||
|
|
|
@ -87,7 +87,7 @@ public class DiffCL_UmodUpkg {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
||||||
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
||||||
|
@ -136,7 +136,7 @@ public class DiffCL_UmodUpkg {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader1 = new MyDiffClassLoader();
|
||||||
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
MyDiffClassLoader.loader2 = new MyDiffClassLoader();
|
||||||
|
|
|
@ -105,7 +105,7 @@ public class ExpQualOther {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class ExpQualToM1 {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to the same class loader for this test
|
// map each module to the same class loader for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class ExpUnqual {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to the same class loader for this test
|
// map each module to the same class loader for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -93,7 +93,7 @@ public class ExportAllUnnamed {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class PkgNotExp {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to the same class loader for this test
|
// map each module to the same class loader for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class Umod {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map module m1 to class loader.
|
// map module m1 to class loader.
|
||||||
// class c2 will be loaded in an unnamed module/loader.
|
// class c2 will be loaded in an unnamed module/loader.
|
||||||
|
@ -138,7 +138,7 @@ public class Umod {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MySameClassLoader loader = new MySameClassLoader();
|
MySameClassLoader loader = new MySameClassLoader();
|
||||||
// map module m1 to class loader.
|
// map module m1 to class loader.
|
||||||
|
@ -184,7 +184,7 @@ public class Umod {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MySameClassLoader loader = new MySameClassLoader();
|
MySameClassLoader loader = new MySameClassLoader();
|
||||||
// map module m1 to class loader.
|
// map module m1 to class loader.
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class UmodDiffCL_ExpQualOther {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class UmodDiffCL_ExpUnqual {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class UmodDiffCL_PkgNotExp {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -87,7 +87,7 @@ public class UmodUPkg {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map module m1 to class loader.
|
// map module m1 to class loader.
|
||||||
// class c4 will be loaded in an unnamed module/loader.
|
// class c4 will be loaded in an unnamed module/loader.
|
||||||
|
@ -133,7 +133,7 @@ public class UmodUPkg {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
MySameClassLoader loader = new MySameClassLoader();
|
MySameClassLoader loader = new MySameClassLoader();
|
||||||
// map module m1 to class loader.
|
// map module m1 to class loader.
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class UmodUpkgDiffCL_ExpQualOther {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class UmodUpkgDiffCL_NotExp {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class UmodUpkg_ExpQualOther {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -89,7 +89,7 @@ public class UmodUpkg_NotExp {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to the same class loader for this test
|
// map each module to the same class loader for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class Umod_ExpQualOther {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class Umod_ExpUnqual {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to differing class loaders for this test
|
// map each module to differing class loaders for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -89,7 +89,7 @@ public class Umod_PkgNotExp {
|
||||||
// Resolves "m1"
|
// Resolves "m1"
|
||||||
Configuration cf = Layer.boot()
|
Configuration cf = Layer.boot()
|
||||||
.configuration()
|
.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of("m1"));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of("m1"));
|
||||||
|
|
||||||
// map each module to the same class loader for this test
|
// map each module to the same class loader for this test
|
||||||
Map<String, ClassLoader> map = new HashMap<>();
|
Map<String, ClassLoader> map = new HashMap<>();
|
||||||
|
|
|
@ -361,3 +361,5 @@ bdbf2342b21bd8ecad1b4e6499a0dfb314952bd7 jdk-9+103
|
||||||
9d71d20e614777cd23c1a43b38b5c08a9094d27a jdk-9+116
|
9d71d20e614777cd23c1a43b38b5c08a9094d27a jdk-9+116
|
||||||
46b57560cd06ebcdd21489250628ff5f9d9d8916 jdk-9+117
|
46b57560cd06ebcdd21489250628ff5f9d9d8916 jdk-9+117
|
||||||
a8aa25fc6c5fda0ed7a93b8ffee62da326a752fc jdk-9+118
|
a8aa25fc6c5fda0ed7a93b8ffee62da326a752fc jdk-9+118
|
||||||
|
f92e8518bb34a9628b11e662bf7308561a55eb3b jdk-9+119
|
||||||
|
ecbe72546137cd29cb73d4dcc81cc099e847d543 jdk-9+120
|
||||||
|
|
|
@ -427,7 +427,7 @@ public final class TemplatesImpl implements Templates, Serializable {
|
||||||
Layer bootLayer = Layer.boot();
|
Layer bootLayer = Layer.boot();
|
||||||
|
|
||||||
Configuration cf = bootLayer.configuration()
|
Configuration cf = bootLayer.configuration()
|
||||||
.resolveRequires(finder, ModuleFinder.empty(), Set.of(mn));
|
.resolveRequires(finder, ModuleFinder.of(), Set.of(mn));
|
||||||
|
|
||||||
PrivilegedAction<Layer> pa = () -> bootLayer.defineModules(cf, name -> loader);
|
PrivilegedAction<Layer> pa = () -> bootLayer.defineModules(cf, name -> loader);
|
||||||
Layer layer = AccessController.doPrivileged(pa);
|
Layer layer = AccessController.doPrivileged(pa);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -56,7 +56,7 @@ final class CatalogResolverImpl implements CatalogResolver {
|
||||||
publicId = Normalizer.normalizePublicId(Normalizer.decodeURN(Util.getNotNullOrEmpty(publicId)));
|
publicId = Normalizer.normalizePublicId(Normalizer.decodeURN(Util.getNotNullOrEmpty(publicId)));
|
||||||
|
|
||||||
//check whether systemId is an urn
|
//check whether systemId is an urn
|
||||||
if (systemId != null && systemId.startsWith("urn:publicid:")) {
|
if (systemId != null && systemId.startsWith(Util.URN)) {
|
||||||
systemId = Normalizer.decodeURN(systemId);
|
systemId = Normalizer.decodeURN(systemId);
|
||||||
if (publicId != null && !publicId.equals(systemId)) {
|
if (publicId != null && !publicId.equals(systemId)) {
|
||||||
systemId = null;
|
systemId = null;
|
||||||
|
@ -67,7 +67,7 @@ final class CatalogResolverImpl implements CatalogResolver {
|
||||||
}
|
}
|
||||||
|
|
||||||
CatalogImpl c = (CatalogImpl)catalog;
|
CatalogImpl c = (CatalogImpl)catalog;
|
||||||
String resolvedSystemId = resolve(c, publicId, systemId);
|
String resolvedSystemId = Util.resolve(c, publicId, systemId);
|
||||||
|
|
||||||
if (resolvedSystemId != null) {
|
if (resolvedSystemId != null) {
|
||||||
return new InputSource(resolvedSystemId);
|
return new InputSource(resolvedSystemId);
|
||||||
|
@ -86,55 +86,4 @@ final class CatalogResolverImpl implements CatalogResolver {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Resolves the publicId or systemId using public or system entries in the catalog.
|
|
||||||
*
|
|
||||||
* The resolution follows the following rules determined by the prefer setting:
|
|
||||||
*
|
|
||||||
* prefer "system": attempts to resolve with a system entry;
|
|
||||||
* attempts to resolve with a public entry when only
|
|
||||||
* publicId is specified.
|
|
||||||
*
|
|
||||||
* prefer "public": attempts to resolve with a system entry;
|
|
||||||
* attempts to resolve with a public entry if no matching
|
|
||||||
* system entry is found.
|
|
||||||
* @param catalog the catalog
|
|
||||||
* @param publicId the publicId
|
|
||||||
* @param systemId the systemId
|
|
||||||
* @return the resolved systemId if a match is found, null otherwise
|
|
||||||
*/
|
|
||||||
String resolve(CatalogImpl catalog, String publicId, String systemId) {
|
|
||||||
String resolvedSystemId = null;
|
|
||||||
|
|
||||||
//search the current catalog
|
|
||||||
catalog.reset();
|
|
||||||
if (systemId != null) {
|
|
||||||
/*
|
|
||||||
If a system identifier is specified, it is used no matter how
|
|
||||||
prefer is set.
|
|
||||||
*/
|
|
||||||
resolvedSystemId = catalog.matchSystem(systemId);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (resolvedSystemId == null && publicId != null) {
|
|
||||||
resolvedSystemId = catalog.matchPublic(publicId);
|
|
||||||
}
|
|
||||||
|
|
||||||
//mark the catalog as having been searched before trying alternatives
|
|
||||||
catalog.markAsSearched();
|
|
||||||
|
|
||||||
//search alternative catalogs
|
|
||||||
if (resolvedSystemId == null) {
|
|
||||||
Iterator<Catalog> iter = catalog.catalogs().iterator();
|
|
||||||
while (iter.hasNext()) {
|
|
||||||
resolvedSystemId = resolve((CatalogImpl)iter.next(), publicId, systemId);
|
|
||||||
if (resolvedSystemId != null) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return resolvedSystemId;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -65,18 +65,30 @@ final class CatalogUriResolverImpl implements CatalogUriResolver {
|
||||||
|
|
||||||
if (href == null) return null;
|
if (href == null) return null;
|
||||||
|
|
||||||
|
String result = null;
|
||||||
CatalogImpl c = (CatalogImpl)catalog;
|
CatalogImpl c = (CatalogImpl)catalog;
|
||||||
String uri = Normalizer.normalizeURI(href);
|
String uri = Normalizer.normalizeURI(href);
|
||||||
String result;
|
//check whether uri is an urn
|
||||||
|
if (uri != null && uri.startsWith(Util.URN)) {
|
||||||
//remove fragment if any.
|
String publicId = Normalizer.decodeURN(uri);
|
||||||
int hashPos = uri.indexOf("#");
|
if (publicId != null) {
|
||||||
if (hashPos >= 0) {
|
result = Util.resolve(c, publicId, null);
|
||||||
uri = uri.substring(0, hashPos);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//search the current catalog
|
//if no match with a public id, continue search for an URI
|
||||||
result = resolve(c, uri);
|
if (result == null) {
|
||||||
|
//remove fragment if any.
|
||||||
|
int hashPos = uri.indexOf("#");
|
||||||
|
if (hashPos >= 0) {
|
||||||
|
uri = uri.substring(0, hashPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
//search the current catalog
|
||||||
|
result = resolve(c, uri);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Report error or return the URI as is when no match is found
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
GroupEntry.ResolveType resolveType = c.getResolve();
|
GroupEntry.ResolveType resolveType = c.getResolve();
|
||||||
switch (resolveType) {
|
switch (resolveType) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -298,6 +298,9 @@ class GroupEntry extends BaseEntry {
|
||||||
case PUBLIC:
|
case PUBLIC:
|
||||||
match = ((PublicEntry) entry).match(publicId);
|
match = ((PublicEntry) entry).match(publicId);
|
||||||
break;
|
break;
|
||||||
|
case URI:
|
||||||
|
match = ((UriEntry) entry).match(publicId);
|
||||||
|
break;
|
||||||
case GROUP:
|
case GROUP:
|
||||||
match = ((GroupEntry) entry).matchPublic(publicId);
|
match = ((GroupEntry) entry).matchPublic(publicId);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -100,7 +100,7 @@ class Normalizer {
|
||||||
} catch (UnsupportedEncodingException ex) {
|
} catch (UnsupportedEncodingException ex) {
|
||||||
CatalogMessages.reportRunTimeError(CatalogMessages.ERR_OTHER, ex);
|
CatalogMessages.reportRunTimeError(CatalogMessages.ERR_OTHER, ex);
|
||||||
}
|
}
|
||||||
return "urn:publicid:" + urn;
|
return Util.URN + urn;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -114,7 +114,7 @@ class Normalizer {
|
||||||
static String decodeURN(String urn) {
|
static String decodeURN(String urn) {
|
||||||
String publicId;
|
String publicId;
|
||||||
|
|
||||||
if (urn != null && urn.startsWith("urn:publicid:")) {
|
if (urn != null && urn.startsWith(Util.URN)) {
|
||||||
publicId = urn.substring(13);
|
publicId = urn.substring(13);
|
||||||
} else {
|
} else {
|
||||||
return urn;
|
return urn;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -52,7 +52,11 @@ final class UriEntry extends BaseEntry {
|
||||||
*/
|
*/
|
||||||
public void setName(String name) {
|
public void setName(String name) {
|
||||||
CatalogMessages.reportNPEOnNull("name", name);
|
CatalogMessages.reportNPEOnNull("name", name);
|
||||||
this.name = Normalizer.normalizeURI(name);
|
if (name.startsWith(Util.PUBLICID_PREFIX) || name.startsWith(Util.PUBLICID_PREFIX_ALT)) {
|
||||||
|
this.name = Normalizer.normalizePublicId(name);
|
||||||
|
} else {
|
||||||
|
this.name = Normalizer.normalizeURI(name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -72,6 +76,7 @@ final class UriEntry extends BaseEntry {
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the uri attribute.
|
* Get the uri attribute.
|
||||||
* @return The uri attribute value.
|
* @return The uri attribute value.
|
||||||
|
|
|
@ -31,6 +31,7 @@ import java.net.URISyntaxException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Iterator;
|
||||||
import jdk.xml.internal.SecuritySupport;
|
import jdk.xml.internal.SecuritySupport;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,6 +39,61 @@ import jdk.xml.internal.SecuritySupport;
|
||||||
* @since 9
|
* @since 9
|
||||||
*/
|
*/
|
||||||
class Util {
|
class Util {
|
||||||
|
final static String URN = "urn:publicid:";
|
||||||
|
final static String PUBLICID_PREFIX = "-//";
|
||||||
|
final static String PUBLICID_PREFIX_ALT = "+//";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds an entry in the catalog that matches with the publicId or systemId.
|
||||||
|
*
|
||||||
|
* The resolution follows the following rules determined by the prefer setting:
|
||||||
|
*
|
||||||
|
* prefer "system": attempts to resolve with a system entry;
|
||||||
|
* attempts to resolve with a public entry when only
|
||||||
|
* publicId is specified.
|
||||||
|
*
|
||||||
|
* prefer "public": attempts to resolve with a system entry;
|
||||||
|
* attempts to resolve with a public entry if no matching
|
||||||
|
* system entry is found.
|
||||||
|
* @param catalog the catalog
|
||||||
|
* @param publicId the publicId
|
||||||
|
* @param systemId the systemId
|
||||||
|
* @return the resolved systemId if a match is found, null otherwise
|
||||||
|
*/
|
||||||
|
static String resolve(CatalogImpl catalog, String publicId, String systemId) {
|
||||||
|
String resolvedSystemId = null;
|
||||||
|
|
||||||
|
//search the current catalog
|
||||||
|
catalog.reset();
|
||||||
|
if (systemId != null) {
|
||||||
|
/*
|
||||||
|
If a system identifier is specified, it is used no matter how
|
||||||
|
prefer is set.
|
||||||
|
*/
|
||||||
|
resolvedSystemId = catalog.matchSystem(systemId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (resolvedSystemId == null && publicId != null) {
|
||||||
|
resolvedSystemId = catalog.matchPublic(publicId);
|
||||||
|
}
|
||||||
|
|
||||||
|
//mark the catalog as having been searched before trying alternatives
|
||||||
|
catalog.markAsSearched();
|
||||||
|
|
||||||
|
//search alternative catalogs
|
||||||
|
if (resolvedSystemId == null) {
|
||||||
|
Iterator<Catalog> iter = catalog.catalogs().iterator();
|
||||||
|
while (iter.hasNext()) {
|
||||||
|
resolvedSystemId = resolve((CatalogImpl)iter.next(), publicId, systemId);
|
||||||
|
if (resolvedSystemId != null) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return resolvedSystemId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolves the specified file path to an absolute systemId. If it is
|
* Resolves the specified file path to an absolute systemId. If it is
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white">
|
<body bgcolor="white">
|
||||||
Provides the interfaces for the Document Object Model (DOM). Supports the
|
Provides the interfaces for the Document Object Model (DOM). Supports the
|
||||||
<a href="http://www.w3.org/TR/DOM-Level-2-Core/">Document Object Model Level 2 Core APIi</a>,
|
<a href="http://www.w3.org/TR/DOM-Level-2-Core/">Document Object Model (DOM) Level 2 Core Specification</a>,
|
||||||
<a href="http://www.w3.org/TR/DOM-Level-3-Core">Document Object Model (DOM) Level 3 Core</a>,
|
<a href="http://www.w3.org/TR/DOM-Level-3-Core">Document Object Model (DOM) Level 3 Core Specification</a>,
|
||||||
and <a href="http://www.w3.org/TR/DOM-Level-3-LS">Document Object Model (DOM) Level 3 Load and Save</a>.
|
and <a href="http://www.w3.org/TR/DOM-Level-3-LS">Document Object Model (DOM) Level 3 Load and Save Specification</a>.
|
||||||
|
|
||||||
@since 1.4
|
@since 1.4
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -92,7 +92,7 @@ import org.w3c.dom.DOMException;
|
||||||
* property with a value of "menu", querying for the values of the component
|
* property with a value of "menu", querying for the values of the component
|
||||||
* longhand properties should return the empty string.
|
* longhand properties should return the empty string.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSS2Properties {
|
public interface CSS2Properties {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -59,7 +59,7 @@ import org.w3c.dom.DOMException;
|
||||||
* header, has priority (see CSS document representation) but this is not
|
* header, has priority (see CSS document representation) but this is not
|
||||||
* reflected in the <code>CSSCharsetRule</code>.
|
* reflected in the <code>CSSCharsetRule</code>.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSCharsetRule extends CSSRule {
|
public interface CSSCharsetRule extends CSSRule {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -46,7 +46,7 @@ package org.w3c.dom.css;
|
||||||
* a CSS style sheet. The <code>@font-face</code> rule is used to hold a set
|
* a CSS style sheet. The <code>@font-face</code> rule is used to hold a set
|
||||||
* of font descriptions.
|
* of font descriptions.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSFontFaceRule extends CSSRule {
|
public interface CSSFontFaceRule extends CSSRule {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -48,7 +48,7 @@ import org.w3c.dom.stylesheets.MediaList;
|
||||||
* a CSS style sheet. The <code>@import</code> rule is used to import style
|
* a CSS style sheet. The <code>@import</code> rule is used to import style
|
||||||
* rules from other style sheets.
|
* rules from other style sheets.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSImportRule extends CSSRule {
|
public interface CSSImportRule extends CSSRule {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -49,7 +49,7 @@ import org.w3c.dom.stylesheets.MediaList;
|
||||||
* style sheet. A <code>@media</code> rule can be used to delimit style
|
* style sheet. A <code>@media</code> rule can be used to delimit style
|
||||||
* rules for specific media types.
|
* rules for specific media types.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSMediaRule extends CSSRule {
|
public interface CSSMediaRule extends CSSRule {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -48,7 +48,7 @@ import org.w3c.dom.DOMException;
|
||||||
* CSS style sheet. The <code>@page</code> rule is used to specify the
|
* CSS style sheet. The <code>@page</code> rule is used to specify the
|
||||||
* dimensions, orientation, margins, etc. of a page box for paged media.
|
* dimensions, orientation, margins, etc. of a page box for paged media.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSPageRule extends CSSRule {
|
public interface CSSPageRule extends CSSRule {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -61,7 +61,7 @@ import org.w3c.dom.DOMException;
|
||||||
* the range 0-255, a color percentage value can be converted to a number;
|
* the range 0-255, a color percentage value can be converted to a number;
|
||||||
* (see also the <code>RGBColor</code> interface).
|
* (see also the <code>RGBColor</code> interface).
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSPrimitiveValue extends CSSValue {
|
public interface CSSPrimitiveValue extends CSSValue {
|
||||||
// UnitTypes
|
// UnitTypes
|
||||||
|
|
|
@ -50,7 +50,7 @@ import org.w3c.dom.DOMException;
|
||||||
* sheet, even if the rule is not recognized by the parser. Unrecognized
|
* sheet, even if the rule is not recognized by the parser. Unrecognized
|
||||||
* rules are represented using the <code>CSSUnknownRule</code> interface.
|
* rules are represented using the <code>CSSUnknownRule</code> interface.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSRule {
|
public interface CSSRule {
|
||||||
// RuleType
|
// RuleType
|
||||||
|
|
|
@ -47,7 +47,7 @@ package org.w3c.dom.css;
|
||||||
* <p> The items in the <code>CSSRuleList</code> are accessible via an
|
* <p> The items in the <code>CSSRuleList</code> are accessible via an
|
||||||
* integral index, starting from 0.
|
* integral index, starting from 0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSRuleList {
|
public interface CSSRuleList {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -60,7 +60,7 @@ import org.w3c.dom.DOMException;
|
||||||
* interface. The CSS Object Model doesn't provide an access to the
|
* interface. The CSS Object Model doesn't provide an access to the
|
||||||
* specified or actual values of the CSS cascade.
|
* specified or actual values of the CSS cascade.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSStyleDeclaration {
|
public interface CSSStyleDeclaration {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,7 +47,7 @@ import org.w3c.dom.DOMException;
|
||||||
* The <code>CSSStyleRule</code> interface represents a single rule set in a
|
* The <code>CSSStyleRule</code> interface represents a single rule set in a
|
||||||
* CSS style sheet.
|
* CSS style sheet.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSStyleRule extends CSSRule {
|
public interface CSSStyleRule extends CSSRule {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -49,7 +49,7 @@ import org.w3c.dom.stylesheets.StyleSheet;
|
||||||
* represent a CSS style sheet i.e., a style sheet whose content type is
|
* represent a CSS style sheet i.e., a style sheet whose content type is
|
||||||
* "text/css".
|
* "text/css".
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSStyleSheet extends StyleSheet {
|
public interface CSSStyleSheet extends StyleSheet {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,7 +45,7 @@ package org.w3c.dom.css;
|
||||||
* The <code>CSSUnknownRule</code> interface represents an at-rule not
|
* The <code>CSSUnknownRule</code> interface represents an at-rule not
|
||||||
* supported by this user agent.
|
* supported by this user agent.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSUnknownRule extends CSSRule {
|
public interface CSSUnknownRule extends CSSRule {
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ import org.w3c.dom.DOMException;
|
||||||
* value. A <code>CSSValue</code> object only occurs in a context of a CSS
|
* value. A <code>CSSValue</code> object only occurs in a context of a CSS
|
||||||
* property.
|
* property.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSValue {
|
public interface CSSValue {
|
||||||
// UnitTypes
|
// UnitTypes
|
||||||
|
|
|
@ -50,7 +50,7 @@ package org.w3c.dom.css;
|
||||||
* <p> The items in the <code>CSSValueList</code> are accessible via an
|
* <p> The items in the <code>CSSValueList</code> are accessible via an
|
||||||
* integral index, starting from 0.
|
* integral index, starting from 0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface CSSValueList extends CSSValue {
|
public interface CSSValueList extends CSSValue {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -46,7 +46,7 @@ package org.w3c.dom.css;
|
||||||
* counters function value. This interface reflects the values in the
|
* counters function value. This interface reflects the values in the
|
||||||
* underlying style property.
|
* underlying style property.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface Counter {
|
public interface Counter {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -49,7 +49,7 @@ import org.w3c.dom.DOMException;
|
||||||
* outside the context of a document. There is no way to associate the new
|
* outside the context of a document. There is no way to associate the new
|
||||||
* <code>CSSStyleSheet</code> with a document in DOM Level 2.
|
* <code>CSSStyleSheet</code> with a document in DOM Level 2.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface DOMImplementationCSS extends DOMImplementation {
|
public interface DOMImplementationCSS extends DOMImplementation {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -62,7 +62,7 @@ import org.w3c.dom.stylesheets.DocumentStyle;
|
||||||
* interface can be obtained by using binding-specific casting methods on an
|
* interface can be obtained by using binding-specific casting methods on an
|
||||||
* instance of the <code>Document</code> interface.
|
* instance of the <code>Document</code> interface.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface DocumentCSS extends DocumentStyle {
|
public interface DocumentCSS extends DocumentStyle {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -50,7 +50,7 @@ package org.w3c.dom.css;
|
||||||
* binding-specific casting methods on an instance of the Element interface
|
* binding-specific casting methods on an instance of the Element interface
|
||||||
* when the element supports inline CSS style informations.
|
* when the element supports inline CSS style informations.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface ElementCSSInlineStyle {
|
public interface ElementCSSInlineStyle {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -55,7 +55,7 @@ package org.w3c.dom.css;
|
||||||
* <p> A color percentage value can always be converted to a number and vice
|
* <p> A color percentage value can always be converted to a number and vice
|
||||||
* versa.
|
* versa.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface RGBColor {
|
public interface RGBColor {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,7 +47,7 @@ package org.w3c.dom.css;
|
||||||
* modifications made to the <code>CSSPrimitiveValue</code> objects modify
|
* modifications made to the <code>CSSPrimitiveValue</code> objects modify
|
||||||
* the style property.
|
* the style property.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface Rect {
|
public interface Rect {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -55,7 +55,7 @@ import org.w3c.dom.views.AbstractView;
|
||||||
* <code>CSSStyleDeclaration</code> and <code>CSSValue</code> related to
|
* <code>CSSStyleDeclaration</code> and <code>CSSValue</code> related to
|
||||||
* this declaration are no longer valid.
|
* this declaration are no longer valid.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface ViewCSS extends AbstractView {
|
public interface ViewCSS extends AbstractView {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* The anchor element. See the A element definition in HTML 4.0.
|
* The anchor element. See the A element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLAnchorElement extends HTMLElement {
|
public interface HTMLAnchorElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,6 +45,8 @@ package org.w3c.dom.html;
|
||||||
* An embedded Java applet. See the APPLET element definition in HTML 4.0.
|
* An embedded Java applet. See the APPLET element definition in HTML 4.0.
|
||||||
* This element is deprecated in HTML 4.0.
|
* This element is deprecated in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLAppletElement extends HTMLElement {
|
public interface HTMLAppletElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,6 +45,8 @@ package org.w3c.dom.html;
|
||||||
* Client-side image map area definition. See the AREA element definition in
|
* Client-side image map area definition. See the AREA element definition in
|
||||||
* HTML 4.0.
|
* HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLAreaElement extends HTMLElement {
|
public interface HTMLAreaElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Force a line break. See the BR element definition in HTML 4.0.
|
* Force a line break. See the BR element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLBRElement extends HTMLElement {
|
public interface HTMLBRElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Document base URI. See the BASE element definition in HTML 4.0.
|
* Document base URI. See the BASE element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLBaseElement extends HTMLElement {
|
public interface HTMLBaseElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,6 +45,8 @@ package org.w3c.dom.html;
|
||||||
* Base font. See the BASEFONT element definition in HTML 4.0. This element
|
* Base font. See the BASEFONT element definition in HTML 4.0. This element
|
||||||
* is deprecated in HTML 4.0.
|
* is deprecated in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLBaseFontElement extends HTMLElement {
|
public interface HTMLBaseFontElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -46,6 +46,8 @@ package org.w3c.dom.html;
|
||||||
* even if the tags are not present in the source document. See the BODY
|
* even if the tags are not present in the source document. See the BODY
|
||||||
* element definition in HTML 4.0.
|
* element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLBodyElement extends HTMLElement {
|
public interface HTMLBodyElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Push button. See the BUTTON element definition in HTML 4.0.
|
* Push button. See the BUTTON element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLButtonElement extends HTMLElement {
|
public interface HTMLButtonElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -50,6 +50,8 @@ import org.w3c.dom.Node;
|
||||||
* to be live meaning that they are automatically updated when the
|
* to be live meaning that they are automatically updated when the
|
||||||
* underlying document is changed.
|
* underlying document is changed.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLCollection {
|
public interface HTMLCollection {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Definition list. See the DL element definition in HTML 4.0.
|
* Definition list. See the DL element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLDListElement extends HTMLElement {
|
public interface HTMLDListElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,7 +47,8 @@ import org.w3c.dom.DOMImplementation;
|
||||||
* The <code>HTMLDOMImplementation</code> interface extends the
|
* The <code>HTMLDOMImplementation</code> interface extends the
|
||||||
* <code>DOMImplementation</code> interface with a method for creating an
|
* <code>DOMImplementation</code> interface with a method for creating an
|
||||||
* HTML document instance.
|
* HTML document instance.
|
||||||
* @since DOM Level 2
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLDOMImplementation extends DOMImplementation {
|
public interface HTMLDOMImplementation extends DOMImplementation {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,6 +45,8 @@ package org.w3c.dom.html;
|
||||||
* Directory list. See the DIR element definition in HTML 4.0. This element
|
* Directory list. See the DIR element definition in HTML 4.0. This element
|
||||||
* is deprecated in HTML 4.0.
|
* is deprecated in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLDirectoryElement extends HTMLElement {
|
public interface HTMLDirectoryElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Generic block container. See the DIV element definition in HTML 4.0.
|
* Generic block container. See the DIV element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLDivElement extends HTMLElement {
|
public interface HTMLDivElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -55,6 +55,8 @@ import org.w3c.dom.NodeList;
|
||||||
* <code>getElementById</code> is inherited from the <code>Document</code>
|
* <code>getElementById</code> is inherited from the <code>Document</code>
|
||||||
* interface where it was moved.
|
* interface where it was moved.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLDocument extends Document {
|
public interface HTMLDocument extends Document {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -53,6 +53,8 @@ import org.w3c.dom.Element;
|
||||||
* of an HTML element is accessible through the
|
* of an HTML element is accessible through the
|
||||||
* <code>ElementCSSInlineStyle</code> interface which is defined in the .
|
* <code>ElementCSSInlineStyle</code> interface which is defined in the .
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLElement extends Element {
|
public interface HTMLElement extends Element {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,6 +45,8 @@ package org.w3c.dom.html;
|
||||||
* Organizes form controls into logical groups. See the FIELDSET element
|
* Organizes form controls into logical groups. See the FIELDSET element
|
||||||
* definition in HTML 4.0.
|
* definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLFieldSetElement extends HTMLElement {
|
public interface HTMLFieldSetElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,6 +45,8 @@ package org.w3c.dom.html;
|
||||||
* Local change to font. See the FONT element definition in HTML 4.0. This
|
* Local change to font. See the FONT element definition in HTML 4.0. This
|
||||||
* element is deprecated in HTML 4.0.
|
* element is deprecated in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLFontElement extends HTMLElement {
|
public interface HTMLFontElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,6 +47,8 @@ package org.w3c.dom.html;
|
||||||
* as well as the attributes of the form element. See the FORM element
|
* as well as the attributes of the form element. See the FORM element
|
||||||
* definition in HTML 4.0.
|
* definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLFormElement extends HTMLElement {
|
public interface HTMLFormElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -46,6 +46,8 @@ import org.w3c.dom.Document;
|
||||||
/**
|
/**
|
||||||
* Create a frame. See the FRAME element definition in HTML 4.0.
|
* Create a frame. See the FRAME element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLFrameElement extends HTMLElement {
|
public interface HTMLFrameElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
@ -107,7 +109,7 @@ public interface HTMLFrameElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
* The document this frame contains, if there is any and it is available,
|
* The document this frame contains, if there is any and it is available,
|
||||||
* or <code>null</code> otherwise.
|
* or <code>null</code> otherwise.
|
||||||
* @since DOM Level 2
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public Document getContentDocument();
|
public Document getContentDocument();
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Create a grid of frames. See the FRAMESET element definition in HTML 4.0.
|
* Create a grid of frames. See the FRAMESET element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLFrameSetElement extends HTMLElement {
|
public interface HTMLFrameSetElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Create a horizontal rule. See the HR element definition in HTML 4.0.
|
* Create a horizontal rule. See the HR element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLHRElement extends HTMLElement {
|
public interface HTMLHRElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Document head information. See the HEAD element definition in HTML 4.0.
|
* Document head information. See the HEAD element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLHeadElement extends HTMLElement {
|
public interface HTMLHeadElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -45,6 +45,8 @@ package org.w3c.dom.html;
|
||||||
* For the <code>H1</code> to <code>H6</code> elements. See the H1 element
|
* For the <code>H1</code> to <code>H6</code> elements. See the H1 element
|
||||||
* definition in HTML 4.0.
|
* definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLHeadingElement extends HTMLElement {
|
public interface HTMLHeadingElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,6 +44,8 @@ package org.w3c.dom.html;
|
||||||
/**
|
/**
|
||||||
* Root of an HTML document. See the HTML element definition in HTML 4.0.
|
* Root of an HTML document. See the HTML element definition in HTML 4.0.
|
||||||
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
* <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
|
||||||
|
*
|
||||||
|
* @since 1.4, DOM Level 2
|
||||||
*/
|
*/
|
||||||
public interface HTMLHtmlElement extends HTMLElement {
|
public interface HTMLHtmlElement extends HTMLElement {
|
||||||
/**
|
/**
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue