blob: 07f876ce3db80f0edc43d55799031690905c2888 [file] [log] [blame]
# Copyright (c) 2013, 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.
#
###############################################################################
#
# Tiered testing definitions
#
tier1 = \
:jdk_lang \
:jdk_util \
sun/nio/cs/ISO8859x.java \
java/nio/Buffer \
com/sun/crypto/provider/Cipher \
:jdk_math \
tools/pack200
tier2 = \
:jdk_io \
:jdk_nio \
-sun/nio/cs/ISO8859x.java \
-java/nio/Buffer \
:jdk_net \
:jdk_time \
:jdk_security \
-com/sun/crypto/provider/Cipher \
:jdk_text \
:core_tools \
-tools/pack200 \
:jdk_other
tier3 = \
:jdk_rmi \
:jdk_beans \
:jdk_imageio \
:jdk_sound \
:jdk_client_sanity
###############################################################################
#
# Other test definitions; generally smaller granularity than tiers
#
# java.lang package and VM runtime support
jdk_lang = \
java/lang \
-java/lang/management \
-java/lang/instrument \
sun/invoke \
sun/misc \
sun/reflect \
jdk/internal/reflect \
jdk/lambda \
jdk/internal/loader \
jdk/internal/misc \
jdk/internal/ref \
jdk/internal/jimage \
jdk/internal/math \
jdk/modules \
vm
# All of the java.util package
jdk_util = \
:jdk_util_other \
:jdk_collections \
:jdk_concurrent \
:jdk_stream
# All util components not part of some other util category
jdk_util_other = \
java/util \
sun/util \
jdk/internal/util \
-:jdk_collections \
-:jdk_concurrent \
-:jdk_stream
# All collections, core and concurrent
jdk_collections = \
:jdk_collections_core \
:jdk_concurrent
# java.util.concurrent
# Includes concurrent collections plus other stuff
# Maintained by JSR-166 EG (Doug Lea et al)
jdk_concurrent = \
java/util/concurrent
# Java Collections Framework core classes
jdk_collections_core = \
java/util/AbstractCollection \
java/util/AbstractList \
java/util/AbstractMap \
java/util/AbstractSequentialList \
java/util/ArrayList \
java/util/Arrays \
java/util/BitSet \
java/util/Collection \
java/util/Collections \
java/util/Comparator \
java/util/Deque \
java/util/EnumMap \
java/util/EnumSet \
java/util/HashMap \
java/util/HashSet \
java/util/Hashtable \
java/util/IdentityHashMap \
java/util/Iterator \
java/util/LinkedHashMap \
java/util/LinkedHashSet \
java/util/LinkedList \
java/util/List \
java/util/Map \
java/util/NavigableMap \
java/util/PriorityQueue \
java/util/TimSort \
java/util/TreeMap \
java/util/Vector \
java/util/WeakHashMap
# java.util.stream (JSR-335)
jdk_stream = \
java/util/Optional \
java/util/function \
java/util/stream
jdk_math = \
java/math
jdk_io = \
java/io
jdk_nio = \
java/nio \
sun/nio \
jdk/nio
jdk_net = \
java/net \
com/sun/net/httpserver \
sun/net \
jdk/net
jdk_time = \
java/time
jdk_rmi = \
java/rmi \
sun/rmi
jdk_security1 = \
java/security
jdk_security2 = \
javax/crypto \
javax/xml/crypto \
com/oracle/security/ucrypto \
com/sun/crypto
jdk_security3 = \
javax/security \
-javax/security/auth/kerberos \
com/sun/jarsigner \
com/sun/security \
-com/sun/security/jgss \
com/sun/org/apache/xml/internal/security \
jdk/security \
sun/security \
-sun/security/krb5 \
-sun/security/jgss \
javax/net \
com/sun/net/ssl \
lib/security
jdk_security4 = \
com/sun/security/jgss \
javax/security/auth/kerberos \
sun/security/krb5 \
sun/security/jgss
jdk_security = \
:jdk_security1 \
:jdk_security2 \
:jdk_security3 \
:jdk_security4
jdk_text = \
java/text \
sun/text
jdk_management = \
java/lang/management \
com/sun/management \
sun/management \
jdk/internal/agent
jdk_instrument = \
java/lang/instrument
jdk_jmx = \
javax/management \
com/sun/jmx
jdk_jdi = \
com/sun/jdi
jdk_native_sanity = \
native_sanity
# java launcher specific tests, Note: do not include this group into any groups
# that potentially could be included into a jprt test rule, as the complementary
# closed group includes awt SplashScreen and these tests may not run
# satisfactorily on all platforms and profiles thus this group must always
# be a stand-alone group
jdk_launcher = \
tools/launcher \
sun/tools
#
# Tool (and tool API) tests are split into core and svc groups
#
core_tools = \
tools \
jdk/internal/jrtfs \
sun/tools/java \
sun/tools/jrunscript
svc_tools = \
com/sun/tools/attach \
sun/tools \
-sun/tools/java \
-sun/tools/jrunscript \
sun/jvmstat
jdk_tools = \
:core_tools \
:svc_tools
#
# Catch-all for other areas with a small number of tests
#
jdk_other = \
java/sql \
javax/sql \
javax/rmi \
javax/naming \
javax/script \
javax/smartcardio \
javax/transaction \
javax/xml \
-javax/xml/crypto \
jdk/internal/jline \
com/sun/jndi \
com/sun/corba \
org/omg/CORBA \
lib/testlibrary
#
# SCTP is its own group as it is highly sensitive to kernel/network config
#
jdk_sctp = \
com/sun/nio/sctp
#
# core group to run all core area tests
#
jdk_core = \
:jdk_lang \
:jdk_util \
:jdk_math \
:jdk_io \
:jdk_nio \
:jdk_net \
:jdk_rmi \
:jdk_time \
:jdk_security \
:jdk_text \
:core_tools \
:jdk_other
#
# svc group to run all serviceability area tests
#
jdk_svc = \
:jdk_management \
:jdk_instrument \
:jdk_jmx \
:jdk_jdi \
:svc_tools
#############################
#
# Client area groups
#
jdk_awt = \
java/awt \
com/sun/awt \
com/apple/eawt \
sun/awt
jdk_2d = \
javax/print \
sun/pisces \
sun/java2d
jdk_beans = \
java/beans
jdk_swing = \
javax/accessibility \
javax/swing \
com/sun/java/swing
jdk_sound = \
javax/sound
jdk_imageio = \
javax/imageio
jdk_desktop = \
:jdk_awt \
:jdk_2d \
:jdk_beans \
:jdk_swing \
:jdk_sound \
:jdk_imageio
# SwingSet3 tests.
jdk_client_sanity = \
sanity/client/SwingSet
###############################################################################
#
# Serviceability sanity groups
#
# These groups specify a subset of Serviceability tests that are supposed to
# guard against breakage of Serviceability features by other component teams.
# They are added to the "hotspot" testset in JPRT so that they will run on all
# full-forest pushes through JPRT.
#
jdk_svc_sanity = \
:jdk_management_sanity \
:jdk_instrument_sanity \
:jdk_jmx_sanity \
:jdk_jdi_sanity \
:svc_tools_sanity
jdk_management_sanity =
jdk_instrument_sanity =
jdk_jmx_sanity =
jdk_jdi_sanity = \
com/sun/jdi/AcceptTimeout.java \
com/sun/jdi/AccessSpecifierTest.java \
com/sun/jdi/AfterThreadDeathTest.java \
com/sun/jdi/ArrayRangeTest.java \
com/sun/jdi/ConstantPoolInfo.java \
com/sun/jdi/CountFilterTest.java \
com/sun/jdi/EarlyReturnNegativeTest.java \
com/sun/jdi/EarlyReturnTest.java \
com/sun/jdi/FieldWatchpoints.java \
com/sun/jdi/FramesTest.java \
com/sun/jdi/InstanceFilter.java \
com/sun/jdi/InterfaceMethodsTest.java \
com/sun/jdi/InvokeTest.java \
com/sun/jdi/LocalVariableEqual.java \
com/sun/jdi/LocationTest.java \
com/sun/jdi/ModificationWatchpoints.java \
com/sun/jdi/MonitorEventTest.java \
com/sun/jdi/MonitorFrameInfo.java \
com/sun/jdi/NullThreadGroupNameTest.java \
com/sun/jdi/PopAndStepTest.java \
com/sun/jdi/PopAsynchronousTest.java \
com/sun/jdi/ProcessAttachTest.java \
com/sun/jdi/ReferrersTest.java \
com/sun/jdi/RequestReflectionTest.java \
com/sun/jdi/ResumeOneThreadTest.java \
com/sun/jdi/RunToExit.java \
com/sun/jdi/SourceNameFilterTest.java \
com/sun/jdi/VarargsTest.java \
com/sun/jdi/Vars.java \
com/sun/jdi/redefineMethod/RedefineTest.java \
com/sun/jdi/sde/MangleTest.java \
com/sun/jdi/sde/TemperatureTableTest.java
svc_tools_sanity =
#############################
#
# Stable test groups
#
jdk_stable = \
:jdk_core \
:jdk_svc \
:jdk_beans \
:jdk_imageio \
:jdk_sound \
:jdk_sctp \
javax/accessibility \
com/sun/java/swing \
sun/pisces \
com/sun/awt
###############################################################################
# Profile-based Test Group Definitions
#
# These groups define the tests that cover the different possible runtimes:
# - compact1, compact2, compact3, full JRE, JDK
#
# In addition they support testing of the minimal VM on compact1 and compact2.
# Essentially this defines groups based around the specified API's and VM
# services available in the runtime.
#
# The groups are defined hierarchically in two forms:
# - The need_xxx groups list all the tests that have a dependency on
# a specific profile. This is either because it tests a feature in
# that profile, or the test infrastructure uses a feature in that
# profile.
# - The primary groups are defined in terms of the other primary groups
# combined with the needs_xxx groups (including and excluding them as
# appropriate). For example the jre can run all tests from compact3, plus
# those from needs_jre, but excluding those from need_jdk.
#
# The bottom group defines all the actual tests to be considered, simply
# by listing the top-level test directories.
# Full JDK can run all tests
#
jdk = \
:jre \
:needs_jdk
# Tests that require a full JDK to execute. Either they test a feature
# only in the JDK or they use tools that are only in the JDK. The latter
# can be resolved in some cases by using tools from the compile-jdk.
#
needs_jdk = \
:jdk_jdi \
com/sun/tools \
jdk/security/jarsigner \
sun/security/tools/jarsigner \
sun/security/tools/policytool \
sun/rmi/rmic \
sun/tools \
sun/jvmstat \
tools \
com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java \
java/io/Serializable/serialver \
java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java \
java/lang/invoke/lambda/LambdaAccessControlTest.java \
java/lang/invoke/lambda/LambdaAsm.java \
java/lang/System/MacEncoding/TestFileEncoding.java \
java/net/URLClassLoader/closetest/GetResourceAsStream.java \
java/util/Collections/EmptyIterator.java \
java/util/concurrent/locks/Lock/TimedAcquireLeak.java \
java/util/jar/JarInputStream/ExtraFileInMetaInf.java \
java/util/logging/TestLoggerWeakRefLeak.java \
java/util/zip/3GBZipFiles.sh \
jdk/lambda/separate/Compiler.java \
sun/management/jmxremote/bootstrap/JvmstatCountersTest.java \
sun/management/jmxremote/bootstrap/LocalManagementTest.java \
sun/management/jmxremote/bootstrap/CustomLauncherTest.java \
sun/misc/JarIndex/metaInfFilenames/Basic.java \
sun/misc/JarIndex/JarIndexMergeForClassLoaderTest.java \
jdk/internal/reflect/CallerSensitive/CallerSensitiveFinder.java \
jdk/internal/reflect/CallerSensitive/MissingCallerSensitive.java \
sun/security/util/Resources/NewNamesFormat.java \
vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java \
javax/xml/ws/clientjar/TestWsImport.java \
javax/xml/bind/xjc/8145039/JaxbMarshallTest.java
# JRE adds further tests to compact3
#
jre = \
:compact3 \
:needs_jre \
-:needs_jdk
# Tests that require the full JRE
#
needs_jre = \
:needs_charsets \
:jdk_desktop \
com/sun/corba \
com/sun/jndi/cosnaming \
com/oracle/security/ucrypto/Test8004873.java \
com/oracle/security/ucrypto/TestAES.java \
com/oracle/security/ucrypto/TestDigest.java \
com/oracle/security/ucrypto/TestRSA.java \
sun/net/ftp \
sun/net/www/protocol/ftp \
java/net/URI/URItoURLTest.java \
java/net/URL/URIToURLTest.java \
java/net/URLConnection/HandleContentTypeWithAttrs.java \
java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh \
java/security/Security/ClassLoaderDeadlock/Deadlock.sh \
java/text/AttributedCharacterIterator/Attribute/ReadResolve.java \
java/text/AttributedString/TestAttributedStringCtor.java \
java/text/AttributedString/getRunStartLimitTest.java \
java/util/jar/Manifest/CreateManifest.java \
java/util/logging/TestMainAppContext.java \
java/util/logging/TestLoggingWithMainAppContext.java \
java/util/TimeZone/DefaultTimeZoneTest.java \
java/text/Bidi/BidiConformance.java \
java/text/Bidi/BidiEmbeddingTest.java \
java/text/Bidi/Bug7042148.java \
java/text/Bidi/Bug7051769.java \
javax/crypto/Cipher/CipherStreamClose.java \
javax/management/monitor/AttributeArbitraryDataTypeTest.java \
javax/management/mxbean/AmbiguousConstructorTest.java \
javax/management/mxbean/ExceptionDiagnosisTest.java \
javax/management/mxbean/LeakTest.java \
javax/management/mxbean/MXBeanTest.java \
javax/management/mxbean/PropertyNamesTest.java \
jdk/lambda/vm/InterfaceAccessFlagsTest.java \
sun/misc/URLClassPath/ClassnameCharTest.java
# Tests dependent on the optional charsets.jar
# These are isolated for easy exclusions
#
needs_charsets = \
java/io/OutputStreamWriter/TestWrite.java \
java/nio/charset/RemovingSunIO/SunioAlias.java \
java/nio/charset/coders/Check.java \
java/nio/charset/Charset/CharsetContainmentTest.java \
java/nio/charset/Charset/Contains.java \
java/nio/charset/Charset/NIOCharsetAvailabilityTest.java \
java/nio/charset/Charset/RegisteredCharsets.java \
java/nio/charset/CharsetEncoder/Flush.java \
java/nio/charset/coders/CheckSJISMappingProp.sh \
java/nio/charset/coders/ResetISO2022JP.java \
java/util/Locale/InternationalBAT.java \
java/util/Locale/LocaleProviders.sh \
java/util/Calendar/CldrFormatNamesTest.java \
java/util/TimeZone/CLDRDisplayNamesTest.java \
java/util/zip/ZipCoding.java \
sun/nio/cs/EucJpLinux0212.java \
sun/nio/cs/EUCJPUnderflowDecodeTest.java \
sun/nio/cs/EuroConverter.java \
sun/nio/cs/JISAutoDetectTest.java \
sun/nio/cs/OLD/TestIBMDB.java \
sun/nio/cs/SJISCanEncode.java \
sun/nio/cs/Test6254467.java \
sun/nio/cs/TestCp834_SBCS.java \
sun/nio/cs/TestEUC_TW.java \
sun/nio/cs/TestISO2022CNDecoder.java \
sun/nio/cs/TestISO2022JPEncoder.java \
sun/nio/cs/TestISO2022JPSubBytes.java \
sun/nio/cs/TestIllegalSJIS.java \
sun/nio/cs/TestJIS0208Decoder.java \
sun/nio/cs/TestJIS0212Decoder.java \
sun/nio/cs/TestMiscEUC_JP.java \
sun/nio/cs/TestSJIS0213_SM.java \
sun/nio/cs/BufferUnderflowEUCTWTest.java \
sun/nio/cs/CheckCaseInsensitiveEncAliases.java \
sun/nio/cs/CheckHistoricalNames.java \
sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java \
sun/nio/cs/HWKatakanaMS932EncodeTest.java \
sun/nio/cs/ISCIITest.java \
sun/nio/cs/LatinCharReplacementTWTest.java \
sun/nio/cs/NIOJISAutoDetectTest.java \
sun/nio/cs/StreamEncoderClose.java \
sun/nio/cs/SurrogateGB18030Test.java \
sun/nio/cs/SurrogateTestEUCTW.java \
sun/nio/cs/SurrogateTestHKSCS.java \
sun/nio/cs/TestConverterDroppedCharacters.java \
sun/nio/cs/TestCp93xSISO.java \
sun/nio/cs/TestIBM1364.java \
sun/nio/cs/TestIBMBugs.java \
sun/nio/cs/TestIllegalISO2022Esc.java \
sun/nio/cs/TestISO2022JP.java \
sun/nio/cs/TestMS5022X.java \
sun/nio/cs/TestSJIS0213.java \
sun/nio/cs/TestTrailingEscapesISO2022JP.java \
sun/nio/cs/TestUni2HKSCS.java \
sun/nio/cs/ZeroedByteArrayEUCTWTest.java
# Compact 3 adds further tests to compact2
#
compact3 = \
:compact2 \
:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact3 API's
#
needs_compact3 = \
:jdk_instrument \
:jdk_jmx \
:jdk_management \
:jdk_sctp \
com/sun/jndi \
com/sun/org/apache/xml/internal/security \
com/sun/security/auth \
com/sun/security/sasl \
com/sun/security/jgss \
java/util/prefs \
javax/naming \
javax/security \
javax/smartcardio \
javax/sql/rowset \
javax/xml/crypto \
sun/security/jgss \
sun/security/krb5 \
java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java \
java/lang/invoke/lambda/LambdaStackTrace.java \
java/lang/invoke/LFCaching/LFGarbageCollectedTest.java \
java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java \
java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java \
java/lang/System/MacEncoding/TestFileEncoding.java \
java/nio/channels/AsynchronousSocketChannel/Leaky.java \
java/security/PermissionCollection/Concurrent.java \
java/security/Principal/Implies.java \
java/security/cert/GetInstance.java \
java/util/logging/DrainFindDeadlockTest.java \
java/util/logging/LoggingMXBeanTest.java \
java/util/logging/TestLogConfigurationDeadLock.java \
java/util/logging/TestLoggerBundleSync.java \
sun/net/www/http/KeepAliveCache/B5045306.java \
sun/security/provider/PolicyFile/Alias.java \
sun/security/provider/PolicyFile/Comparator.java \
sun/security/provider/PolicyFile/SelfWildcard.java \
sun/security/ssl/SSLEngineImpl/SSLEngineDeadlock.java \
sun/security/util/Oid/OidFormat.java \
sun/security/util/Resources/Format.java \
sun/security/util/Resources/NewNamesFormat.java
# Compact 2 adds full VM tests
compact2 = \
:compact2_minimal \
:compact1 \
:needs_full_vm_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact2 API's and a full VM
#
needs_full_vm_compact2 =
# Minimal VM on Compact 2 adds in some compact2 tests
#
compact2_minimal = \
:compact1_minimal \
:needs_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact2 API's
#
needs_compact2 = \
:jdk_rmi \
:jdk_time \
com/sun/org/apache \
com/sun/net/httpserver \
java/sql \
javax/sql \
javax/xml \
jdk/lambda \
sun/net/www/http \
sun/net/www/protocol/http \
java/io/BufferedReader/Lines.java \
java/lang/reflect/DefaultStaticTest/DefaultStaticInvokeTest.java \
java/lang/IntegralPrimitiveToString.java \
java/lang/PrimitiveSumMinMaxTest.java \
java/lang/String/StringJoinTest.java \
java/lang/Thread/StopThrowable.java \
java/net/Authenticator/B4769350.java \
java/net/Authenticator/Deadlock.java \
java/net/CookieHandler/LocalHostCookie.java \
java/net/CookieHandler/CookieManagerTest.java \
java/net/CookieHandler/EmptyCookieHeader.java \
java/net/HttpCookie/IllegalCookieNameTest.java \
java/net/HttpURLConnection/UnmodifiableMaps.java \
java/net/ResponseCache/Test.java \
java/net/URLClassLoader/ClassLoad.java \
java/net/URLClassLoader/closetest/CloseTest.java \
java/net/URLPermission/URLTest.java \
java/nio/Buffer/Chars.java \
java/nio/file/Files/StreamTest.java \
java/security/BasicPermission/Wildcard.java \
java/util/Arrays/ParallelPrefix.java \
java/util/Arrays/SetAllTest.java \
java/util/BitSet/stream/BitSetStreamTest.java \
java/util/Collection/CollectionDefaults.java \
java/util/Collections/CheckedIdentityMap.java \
java/util/Collections/CheckedMapBash.java \
java/util/Collections/CheckedSetBash.java \
java/util/Collections/EmptyCollectionSerialization.java \
java/util/Collections/EmptyNavigableMap.java \
java/util/Collections/EmptyNavigableSet.java \
java/util/Collections/UnmodifiableMapEntrySet.java \
java/util/Comparator/BasicTest.java \
java/util/Comparator/TypeTest.java \
java/util/Date/TimestampTest.java \
java/util/Iterator/IteratorDefaults.java \
java/util/Iterator/PrimitiveIteratorDefaults.java \
java/util/List/ListDefaults.java \
java/util/Map/BasicSerialization.java \
java/util/Map/Defaults.java \
java/util/Map/EntryComparators.java \
java/util/Optional/Basic.java \
java/util/Optional/BasicDouble.java \
java/util/Optional/BasicInt.java \
java/util/Optional/BasicLong.java \
java/util/Random/RandomStreamTest.java \
java/util/ResourceBundle/Bug6359330.java \
java/util/Spliterator/SpliteratorCharacteristics.java \
java/util/Spliterator/SpliteratorCollisions.java \
java/util/Spliterator/SpliteratorLateBindingTest.java \
java/util/Spliterator/SpliteratorFailFastTest.java \
java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java \
java/util/StringJoiner/MergeTest.java \
java/util/StringJoiner/StringJoinerTest.java \
java/util/concurrent/atomic/AtomicReferenceTest.java \
java/util/function/BinaryOperator/BasicTest.java \
java/util/logging/LoggerSupplierAPIsTest.java \
java/util/zip/ZipFile/StreamZipEntriesTest.java \
java/util/zip/ZipFile/DeleteTempJar.java \
javax/crypto/Cipher/CipherStreamClose.java \
sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java \
sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
# Compact 1 adds full VM tests
#
compact1 = \
:compact1_minimal \
:needs_full_vm_compact1 \
-:needs_compact2 \
-:needs_full_vm_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact1 API's and a full VM
#
needs_full_vm_compact1 =
# All tests that run on the most minimal configuration: Minimal VM on Compact 1
compact1_minimal = \
com \
java \
javax \
jdk \
lib \
sun \
vm \
-:needs_full_vm_compact1 \
-:needs_full_vm_compact2 \
-:needs_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk