###############################################################################
# Copyright (c) 2019 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution,\and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
# NOTE: This profile only has JavaSE-14's VM packages
org.osgi.framework.system.packages = \
 com.sun.jarsigner,\
 com.sun.java.accessibility.util,\
 com.sun.jdi,\
 com.sun.jdi.connect,\
 com.sun.jdi.connect.spi,\
 com.sun.jdi.event,\
 com.sun.jdi.request,\
 com.sun.management,\
 com.sun.net.httpserver,\
 com.sun.net.httpserver.spi,\
 com.sun.nio.file,\
 com.sun.nio.sctp,\
 com.sun.security.auth,\
 com.sun.security.auth.callback,\
 com.sun.security.auth.login,\
 com.sun.security.auth.module,\
 com.sun.security.jgss,\
 com.sun.source.doctree,\
 com.sun.source.tree,\
 com.sun.source.util,\
 com.sun.tools.attach,\
 com.sun.tools.attach.spi,\
 com.sun.tools.javac,\
 com.sun.tools.jconsole,\
 javax.accessibility,\
 javax.annotation.processing,\
 javax.crypto,\
 javax.crypto.interfaces,\
 javax.crypto.spec,\
 javax.imageio,\
 javax.imageio.event,\
 javax.imageio.metadata,\
 javax.imageio.plugins.bmp,\
 javax.imageio.plugins.jpeg,\
 javax.imageio.plugins.tiff,\
 javax.imageio.spi,\
 javax.imageio.stream,\
 javax.lang.model,\
 javax.lang.model.element,\
 javax.lang.model.type,\
 javax.lang.model.util,\
 javax.management,\
 javax.management.loading,\
 javax.management.modelmbean,\
 javax.management.monitor,\
 javax.management.openmbean,\
 javax.management.relation,\
 javax.management.remote,\
 javax.management.remote.rmi,\
 javax.management.timer,\
 javax.naming,\
 javax.naming.directory,\
 javax.naming.event,\
 javax.naming.ldap,\
 javax.naming.ldap.spi,\
 javax.naming.spi,\
 javax.net,\
 javax.net.ssl,\
 javax.print,\
 javax.print.attribute,\
 javax.print.attribute.standard,\
 javax.print.event,\
 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.smartcardio,\
 javax.sound.midi,\
 javax.sound.midi.spi,\
 javax.sound.sampled,\
 javax.sound.sampled.spi,\
 javax.sql,\
 javax.sql.rowset,\
 javax.sql.rowset.serial,\
 javax.sql.rowset.spi,\
 javax.swing,\
 javax.swing.border,\
 javax.swing.colorchooser,\
 javax.swing.event,\
 javax.swing.filechooser,\
 javax.swing.plaf,\
 javax.swing.plaf.basic,\
 javax.swing.plaf.metal,\
 javax.swing.plaf.multi,\
 javax.swing.plaf.nimbus,\
 javax.swing.plaf.synth,\
 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.tools,\
 javax.transaction.xa,\
 javax.xml,\
 javax.xml.catalog,\
 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.namespace,\
 javax.xml.parsers,\
 javax.xml.stream,\
 javax.xml.stream.events,\
 javax.xml.stream.util,\
 javax.xml.transform,\
 javax.xml.transform.dom,\
 javax.xml.transform.sax,\
 javax.xml.transform.stax,\
 javax.xml.transform.stream,\
 javax.xml.validation,\
 javax.xml.xpath,\
 jdk.dynalink,\
 jdk.dynalink.beans,\
 jdk.dynalink.linker,\
 jdk.dynalink.linker.support,\
 jdk.dynalink.support,\
 jdk.incubator.foreign,\
 jdk.javadoc.doclet,\
 jdk.jfr,\
 jdk.jfr.consumer,\
 jdk.jshell,\
 jdk.jshell.execution,\
 jdk.jshell.spi,\
 jdk.jshell.tool,\
 jdk.management.jfr,\
 jdk.nashorn.api.scripting,\
 jdk.nashorn.api.tree,\
 jdk.net,\
 jdk.nio,\
 jdk.nio.mapmode,\
 jdk.security.jarsigner,\
 jdk.swing.interop,\
 netscape.javascript,\
 org.ietf.jgss,\
 org.w3c.dom,\
 org.w3c.dom.bootstrap,\
 org.w3c.dom.css,\
 org.w3c.dom.events,\
 org.w3c.dom.html,\
 org.w3c.dom.ls,\
 org.w3c.dom.ranges,\
 org.w3c.dom.stylesheets,\
 org.w3c.dom.traversal,\
 org.w3c.dom.views,\
 org.w3c.dom.xpath,\
 org.xml.sax,\
 org.xml.sax.ext,\
 org.xml.sax.helpers,\
 sun.misc,\
 sun.reflect