#
# Copyright (c) 2001, 2008, 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.
#

# EXCLUDE_PKGS is the list of packages to exclude from the
# Java API Specification.  Do not add these to CORE_PKGS.
# The concatenation of EXCLUDE_PKGS and CORE_PKGS
# should make up the list of all packages under the
# src/shared/classes directory of the JDK source tree.
#
EXCLUDE_PKGS =             \
  java.awt.peer            \
  java.awt.dnd.peer        \
  sun.*                    \
  sunw.*                   \
  com.sun.*                \
  org.apache.*             \
  org.jcp.*		   \
  org.w3c.dom.css          \
  org.w3c.dom.html         \
  org.w3c.dom.stylesheets  \
  org.w3c.dom.traversal    \
  org.w3c.dom.ranges       \
  org.w3c.dom.views        \
  org.omg.stub.javax.management.remote.rmi

#
# ACTIVE_JSR_PKGS are packages that are part of an active JSR process--
# one that is doing its own review. These packages are not included when
# creating diff pages for the platform's JCP process.
# 
#       (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs)
# Note:
# This is a list of regular expressions. So foo.* matches "foo" and "foo.bar".
#
ACTIVE_JSR_PKGS= \
  java.dyn \
  java.sql  \
  javax.activation  \
  javax.annotation.*  \
  javax.jws.*  \
  javax.lang.*  \
  javax.management.*  \
  javax.script  \
  javax.sql.*  \
  javax.tools  \
  javax.xml.*  \
  org.w3c.*  \
  org.xml.sax

#
# CORE_PKGS is the list of packages that form the
# Java API Specification.
#
### ***IMPORTANT NOTE***
### There is also a "REGEXP" variable in the docs/makefile that
### determines which table the packages go in on the main page.
### Currently, there is only table ("Platform Packages") and
### everything goes in it, so REGEXP is "*". But if that policy
### changes, packages added will need to be reflected in  that
### list of wildcard expressions, as well.
###
CORE_PKGS =                                      \
  java.applet                                    \
  java.awt                                       \
  java.awt.color                                 \
  java.awt.datatransfer                          \
  java.awt.dnd                                   \
  java.awt.event                                 \
  java.awt.font                                  \
  java.awt.geom                                  \
  java.awt.im                                    \
  java.awt.im.spi                                \
  java.awt.image                                 \
  java.awt.image.renderable                      \
  java.awt.print                                 \
  java.beans                                     \
  java.beans.beancontext                         \
  java.dyn                                       \
  java.io                                        \
  java.lang                                      \
  java.lang.annotation                           \
  java.lang.instrument                           \
  java.lang.management                           \
  java.lang.ref                                  \
  java.lang.reflect                              \
  java.math                                      \
  java.net                                       \
  java.nio                                       \
  java.nio.channels                              \
  java.nio.channels.spi                          \
  java.nio.charset                               \
  java.nio.charset.spi                           \
  java.nio.file					 \
  java.nio.file.attribute			 \
  java.nio.file.spi				 \
  java.rmi                                       \
  java.rmi.activation                            \
  java.rmi.dgc                                   \
  java.rmi.registry                              \
  java.rmi.server                                \
  java.security                                  \
  java.security.acl                              \
  java.security.cert                             \
  java.security.interfaces                       \
  java.security.spec                             \
  java.sql                                       \
  java.text                                      \
  java.text.spi                                  \
  java.util                                      \
  java.util.concurrent                           \
  java.util.concurrent.atomic                    \
  java.util.concurrent.locks                     \
  java.util.jar                                  \
  java.util.logging                              \
  java.util.prefs                                \
  java.util.regex                                \
  java.util.spi                                  \
  java.util.zip                                  \
  javax.accessibility                            \
  javax.activation                               \
  javax.activity                                 \
  javax.annotation                               \
  javax.annotation.processing                    \
  javax.crypto                                   \
  javax.crypto.interfaces                        \
  javax.crypto.spec                              \
  javax.imageio                                  \
  javax.imageio.event                            \
  javax.imageio.metadata                         \
  javax.imageio.plugins.jpeg                     \
  javax.imageio.plugins.bmp                      \
  javax.imageio.spi                              \
  javax.imageio.stream                           \
  javax.jws                                      \
  javax.jws.soap                                 \
  javax.lang.model                               \
  javax.lang.model.element                       \
  javax.lang.model.type                          \
  javax.lang.model.util                          \
  javax.management                               \
  javax.management.loading                       \
  javax.management.monitor                       \
  javax.management.relation                      \
  javax.management.openmbean                     \
  javax.management.timer                         \
  javax.management.modelmbean                    \
  javax.management.remote                        \
  javax.management.remote.rmi                    \
  javax.naming                                   \
  javax.naming.directory                         \
  javax.naming.event                             \
  javax.naming.ldap                              \
  javax.naming.spi                               \
  javax.net                                      \
  javax.net.ssl                                  \
  javax.print                                    \
  javax.print.attribute                          \
  javax.print.attribute.standard                 \
  javax.print.event                              \
  javax.rmi                                      \
  javax.rmi.CORBA                                \
  javax.rmi.ssl                                  \
  javax.script                                   \
  javax.security.auth                            \
  javax.security.auth.callback                   \
  javax.security.auth.kerberos                   \
  javax.security.auth.login                      \
  javax.security.auth.spi                        \
  javax.security.auth.x500                       \
  javax.security.cert                            \
  javax.security.sasl                            \
  javax.sound.sampled                            \
  javax.sound.sampled.spi                        \
  javax.sound.midi                               \
  javax.sound.midi.spi                           \
  javax.sql                                      \
  javax.sql.rowset                               \
  javax.sql.rowset.serial                        \
  javax.sql.rowset.spi                           \
  javax.swing                                    \
  javax.swing.border                             \
  javax.swing.colorchooser                       \
  javax.swing.filechooser                        \
  javax.swing.event                              \
  javax.swing.table                              \
  javax.swing.text                               \
  javax.swing.text.html                          \
  javax.swing.text.html.parser                   \
  javax.swing.text.rtf                           \
  javax.swing.tree                               \
  javax.swing.undo                               \
  javax.swing.plaf                               \
  javax.swing.plaf.basic                         \
  javax.swing.plaf.metal                         \
  javax.swing.plaf.multi                         \
  javax.swing.plaf.nimbus                        \
  javax.swing.plaf.synth                         \
  javax.tools                                    \
  javax.transaction                              \
  javax.transaction.xa                           \
  javax.xml.parsers                              \
  javax.xml.bind                                 \
  javax.xml.bind.annotation                      \
  javax.xml.bind.annotation.adapters             \
  javax.xml.bind.attachment                      \
  javax.xml.bind.helpers                         \
  javax.xml.bind.util                            \
  javax.xml.soap                                 \
  javax.xml.ws                                   \
  javax.xml.ws.handler                           \
  javax.xml.ws.handler.soap                      \
  javax.xml.ws.http                              \
  javax.xml.ws.soap                              \
  javax.xml.ws.spi                               \
  javax.xml.ws.wsaddressing                      \
  javax.xml.transform                            \
  javax.xml.transform.sax                        \
  javax.xml.transform.dom                        \
  javax.xml.transform.stax                       \
  javax.xml.transform.stream                     \
  javax.xml                                      \
  javax.xml.crypto				 \
  javax.xml.crypto.dom				 \
  javax.xml.crypto.dsig				 \
  javax.xml.crypto.dsig.dom			 \
  javax.xml.crypto.dsig.keyinfo			 \
  javax.xml.crypto.dsig.spec			 \
  javax.xml.datatype                             \
  javax.xml.validation                           \
  javax.xml.namespace                            \
  javax.xml.xpath                                \
  javax.xml.stream                               \
  javax.xml.stream.events                        \
  javax.xml.stream.util                          \
  org.ietf.jgss                                  \
  org.omg.CORBA                                  \
  org.omg.CORBA.DynAnyPackage                    \
  org.omg.CORBA.ORBPackage                       \
  org.omg.CORBA.TypeCodePackage                  \
  org.omg.stub.java.rmi                          \
  org.omg.CORBA.portable                         \
  org.omg.CORBA_2_3                              \
  org.omg.CORBA_2_3.portable                     \
  org.omg.CosNaming                              \
  org.omg.CosNaming.NamingContextExtPackage      \
  org.omg.CosNaming.NamingContextPackage         \
  org.omg.SendingContext                         \
  org.omg.PortableServer                         \
  org.omg.PortableServer.CurrentPackage          \
  org.omg.PortableServer.POAPackage              \
  org.omg.PortableServer.POAManagerPackage       \
  org.omg.PortableServer.ServantLocatorPackage   \
  org.omg.PortableServer.portable                \
  org.omg.PortableInterceptor                    \
  org.omg.PortableInterceptor.ORBInitInfoPackage \
  org.omg.Messaging                              \
  org.omg.IOP                                    \
  org.omg.IOP.CodecFactoryPackage                \
  org.omg.IOP.CodecPackage                       \
  org.omg.Dynamic                                \
  org.omg.DynamicAny                             \
  org.omg.DynamicAny.DynAnyPackage               \
  org.omg.DynamicAny.DynAnyFactoryPackage        \
  org.w3c.dom                                    \
  org.w3c.dom.events                             \
  org.w3c.dom.bootstrap                          \
  org.w3c.dom.ls                                 \
  org.xml.sax                                    \
  org.xml.sax.ext                                \
  org.xml.sax.helpers
