# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

#
# Framework config properties.
#

# New-style generic execution environment capabilities.
org.osgi.framework.system.capabilities= \
 ${dollar}{felix.service.caps} ${dollar}{eecap-${dollar}{felix.detect.java.specification.version}} ${dollar}{eecap-${dollar}{felix.detect.jpms}}
 
# Native Processor Aliases.  Format is felix.native.processor.alias.<normalized Processor Name>=alias1,alias2
felix.native.processor.alias.68k=
felix.native.processor.alias.arm=
felix.native.processor.alias.arm_le=
felix.native.processor.alias.arm_be=
felix.native.processor.alias.alpha=
felix.native.processor.alias.ignite=psc1k
felix.native.processor.alias.mips=
felix.native.processor.alias.parisc=
felix.native.processor.alias.powerpc=power,ppc
felix.native.processor.alias.x86=pentium,i386,i486,i586,i686
felix.native.processor.alias.x86-64=amd64,em64t,x86_64
felix.native.processor.alias.sparc=

# Native Operating System Name Aliases.  Format is felix.native.osname.alias.<normalized OS Name>=alias1,alias2
felix.native.osname.alias.aix=
felix.native.osname.alias.digitalunix=
felix.native.osname.alias.epoc32=symbianos
felix.native.osname.alias.hpux=hp-ux
felix.native.osname.alias.irix=
felix.native.osname.alias.linux=
felix.native.osname.alias.macos=mac os
felix.native.osname.alias.macosx=mac os x
felix.native.osname.alias.netbsd=
felix.native.osname.alias.netware=
felix.native.osname.alias.openbsd=
felix.native.osname.alias.os2=os/2
felix.native.osname.alias.qnx=procnto
felix.native.osname.alias.solaris=
felix.native.osname.alias.sunos=
felix.native.osname.alias.vxworks=
felix.native.osname.alias.windows95=win95,windows 95,win32
felix.native.osname.alias.windows98=win98,windows 98,win32
felix.native.osname.alias.windowsnt=winnt,windows nt,win32
felix.native.osname.alias.windowsce=wince,windows ce
felix.native.osname.alias.windows2000=win2000,windows 2000,win32
felix.native.osname.alias.windows2003=win2003,windows 2003,win32,windows server 2003
felix.native.osname.alias.windowsxp=winxp,windows xp,win32
felix.native.osname.alias.windowsvista=winvista,windows vista,win32
felix.native.osname.alias.windows7=windows 7,win32
felix.native.osname.alias.windows8=windows 8,win32
felix.native.osname.alias.windows9=windows 9,win32
felix.native.osname.alias.windows10=windows 10,win32
felix.native.osname.alias.windowsserver2008=windows server 2008,win32
felix.native.osname.alias.windowsserver2012=windows server 2012,win32
felix.native.osname.alias.windowsserver2016=windows server 2016,win32
felix.native.osname.alias.windowsserver2019=windows server 2019,win32
felix.native.osname.alias.win32=

felix.service.caps=osgi.service; objectClass:List<String>=org.osgi.service.resolver.Resolver; uses:=org.osgi.service.resolver, \
 osgi.service; objectClass:List<String>=org.osgi.service.startlevel.StartLevel; uses:=org.osgi.service.startlevel, \
 osgi.service; objectClass:List<String>=org.osgi.service.packageadmin.PackageAdmin; uses:=org.osgi.service.packageadmin

eecap-1.8=, osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
 osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8", \
 osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8", \
 osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8", \
 osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8"
eecap-1.7=, osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
 osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7"
eecap-1.6=, osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
 osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6"

# Deprecated old-style execution environment properties.
org.osgi.framework.executionenvironment= \
 ${dollar}{ee-${dollar}{felix.detect.java.specification.version}} ${dollar}{ee-${dollar}{felix.detect.jpms}}

ee-1.8=JavaSE-1.8,JavaSE-1.7,JavaSE-1.6,J2SE-1.5,J2SE-1.4,J2SE-1.3, \
 J2SE-1.2,JRE-1.1,JRE-1.0,OSGi/Minimum-1.2,OSGi/Minimum-1.1, \
 OSGi/Minimum-1.0
ee-1.7=JavaSE-1.7,JavaSE-1.6,J2SE-1.5,J2SE-1.4,J2SE-1.3, \
 J2SE-1.2,JRE-1.1,JRE-1.0,OSGi/Minimum-1.2,OSGi/Minimum-1.1, \
 OSGi/Minimum-1.0
ee-1.6=JavaSE-1.6,J2SE-1.5,J2SE-1.4,J2SE-1.3,J2SE-1.2, \
 JRE-1.1,JRE-1.0,OSGi/Minimum-1.2,OSGi/Minimum-1.1,OSGi/Minimum-1.0

# Default packages exported by system bundle.
org.osgi.framework.system.packages=\
 ${dollar}{osgi-exports} \
 ${dollar}{jre-${dollar}{felix.detect.java.specification.version}} \
 ${dollar}{jre-${dollar}{felix.detect.jpms}}

osgi-exports= \
 org.osgi.framework;version="1.10", \
 org.osgi.framework.connect;version="1.0.0", \
 org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto", \
 org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework", \
 org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring", \
 org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework", \
 org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring", \
 org.osgi.framework.launch;version="1.2";uses:="org.osgi.framework", \
 org.osgi.framework.namespace;version="1.2";uses:="org.osgi.resource", \
 org.osgi.framework.startlevel;version="1.0";uses:="org.osgi.framework", \
 org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto", \
 org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource", \
 org.osgi.framework.wiring.dto;version="1.3";uses:="org.osgi.dto,org.osgi.resource.dto", \
 org.osgi.resource;version="1.0.1", \
 org.osgi.resource.dto;version="1.0.1";uses:="org.osgi.dto", \
 org.osgi.service.packageadmin;version="1.2.1";uses:="org.osgi.framework", \
 org.osgi.service.startlevel;version="1.1.1";uses:="org.osgi.framework", \
 org.osgi.service.url;version="1.0.1", \
 org.osgi.service.resolver;version="1.1.1";uses:="org.osgi.resource", \
 org.osgi.util.tracker;version="1.5.3";uses:="org.osgi.framework", \
 org.osgi.dto;version="1.1.1", \
 org.osgi.service.condition;version="1.0"

#
# Java platform package export properties.
#
jre-base=, \
 java.applet;version="${dollar}{felix.detect.java.version}", \
 java.awt;version="${dollar}{felix.detect.java.version}", \
 java.awt.color;version="${dollar}{felix.detect.java.version}", \
 java.awt.datatransfer;version="${dollar}{felix.detect.java.version}", \
 java.awt.dnd;version="${dollar}{felix.detect.java.version}", \
 java.awt.event;version="${dollar}{felix.detect.java.version}", \
 java.awt.font;version="${dollar}{felix.detect.java.version}", \
 java.awt.geom;version="${dollar}{felix.detect.java.version}", \
 java.awt.im;version="${dollar}{felix.detect.java.version}", \
 java.awt.im.spi;version="${dollar}{felix.detect.java.version}", \
 java.awt.image;version="${dollar}{felix.detect.java.version}", \
 java.awt.image.renderable;version="${dollar}{felix.detect.java.version}", \
 java.awt.print;version="${dollar}{felix.detect.java.version}", \
 java.beans;version="${dollar}{felix.detect.java.version}", \
 java.beans.beancontext;version="${dollar}{felix.detect.java.version}", \
 java.io;version="${dollar}{felix.detect.java.version}", \
 java.lang;version="${dollar}{felix.detect.java.version}", \
 java.lang.annotation;version="${dollar}{felix.detect.java.version}", \
 java.lang.instrument;version="${dollar}{felix.detect.java.version}", \
 java.lang.management;version="${dollar}{felix.detect.java.version}", \
 java.lang.ref;version="${dollar}{felix.detect.java.version}", \
 java.lang.reflect;version="${dollar}{felix.detect.java.version}", \
 java.math;version="${dollar}{felix.detect.java.version}", \
 java.net;version="${dollar}{felix.detect.java.version}", \
 java.nio;version="${dollar}{felix.detect.java.version}", \
 java.nio.channels;version="${dollar}{felix.detect.java.version}", \
 java.nio.channels.spi;version="${dollar}{felix.detect.java.version}", \
 java.nio.charset;version="${dollar}{felix.detect.java.version}", \
 java.nio.charset.spi;version="${dollar}{felix.detect.java.version}", \
 java.rmi;version="${dollar}{felix.detect.java.version}", \
 java.rmi.activation;version="${dollar}{felix.detect.java.version}", \
 java.rmi.dgc;version="${dollar}{felix.detect.java.version}", \
 java.rmi.registry;version="${dollar}{felix.detect.java.version}", \
 java.rmi.server;version="${dollar}{felix.detect.java.version}", \
 java.security;version="${dollar}{felix.detect.java.version}", \
 java.security.acl;version="${dollar}{felix.detect.java.version}", \
 java.security.cert;version="${dollar}{felix.detect.java.version}", \
 java.security.interfaces;version="${dollar}{felix.detect.java.version}", \
 java.security.spec;version="${dollar}{felix.detect.java.version}", \
 java.sql;version="${dollar}{felix.detect.java.version}", \
 java.text;version="${dollar}{felix.detect.java.version}", \
 java.text.spi;version="${dollar}{felix.detect.java.version}", \
 java.util;version="${dollar}{felix.detect.java.version}", \
 java.util.concurrent;version="${dollar}{felix.detect.java.version}", \
 java.util.concurrent.atomic;version="${dollar}{felix.detect.java.version}", \
 java.util.concurrent.locks;version="${dollar}{felix.detect.java.version}", \
 java.util.jar;version="${dollar}{felix.detect.java.version}", \
 java.util.logging;version="${dollar}{felix.detect.java.version}", \
 java.util.prefs;version="${dollar}{felix.detect.java.version}", \
 java.util.regex;version="${dollar}{felix.detect.java.version}", \
 java.util.spi;version="${dollar}{felix.detect.java.version}", \
 java.util.zip;version="${dollar}{felix.detect.java.version}", \
 javax.accessibility;uses:="javax.swing.text";version="${dollar}{felix.detect.java.version}", \
 javax.activation;version="${dollar}{felix.detect.java.version}", \
 javax.activity;version="${dollar}{felix.detect.java.version}", \
 javax.annotation;version="${dollar}{felix.detect.java.version}", \
 javax.annotation.processing;uses:="javax.lang.model,javax.lang.model.element,javax.lang.model.util,javax.tools";version="${dollar}{felix.detect.java.version}", \
 javax.crypto.interfaces;uses:="javax.crypto,javax.crypto.spec";version="${dollar}{felix.detect.java.version}", \
 javax.crypto.spec;uses:="javax.crypto";version="${dollar}{felix.detect.java.version}", \
 javax.imageio;uses:="javax.imageio.event,javax.imageio.metadata,javax.imageio.spi,javax.imageio.stream";version="${dollar}{felix.detect.java.version}", \
 javax.imageio.event;uses:="javax.imageio";version="${dollar}{felix.detect.java.version}", \
 javax.imageio.metadata;uses:="javax.imageio,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.imageio.plugins.bmp;uses:="javax.imageio";version="${dollar}{felix.detect.java.version}", \
 javax.imageio.plugins.jpeg;uses:="javax.imageio";version="${dollar}{felix.detect.java.version}", \
 javax.imageio.spi;uses:="javax.imageio,javax.imageio.metadata,javax.imageio.stream";version="${dollar}{felix.detect.java.version}", \
 javax.imageio.stream;uses:="javax.imageio";version="${dollar}{felix.detect.java.version}", \
 javax.jws;version="${dollar}{felix.detect.java.version}", \
 javax.jws.soap;version="${dollar}{felix.detect.java.version}", \
 javax.lang.model.util;uses:="javax.annotation.processing,javax.lang.model,javax.lang.model.element,javax.lang.model.type";version="${dollar}{felix.detect.java.version}", \
 javax.management;uses:="javax.management.loading,javax.management.openmbean";version="${dollar}{felix.detect.java.version}", \
 javax.management.loading;uses:="javax.management";version="${dollar}{felix.detect.java.version}", \
 javax.management.modelmbean;uses:="javax.management,javax.management.loading";version="${dollar}{felix.detect.java.version}", \
 javax.management.openmbean;uses:="javax.management";version="${dollar}{felix.detect.java.version}", \
 javax.management.relation;uses:="javax.management";version="${dollar}{felix.detect.java.version}", \
 javax.management.remote;uses:="javax.management,javax.security.auth";version="${dollar}{felix.detect.java.version}", \
 javax.management.remote.rmi;uses:="javax.management,javax.management.loading,javax.management.remote,javax.naming,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.security.auth,org.omg.CORBA,org.omg.CORBA.portable,org.omg.CORBA_2_3.portable";version="${dollar}{felix.detect.java.version}", \
 javax.management.timer;uses:="javax.management";version="${dollar}{felix.detect.java.version}", \
 javax.naming;uses:="javax.naming.spi";version="${dollar}{felix.detect.java.version}", \
 javax.naming.directory;uses:="javax.naming";version="${dollar}{felix.detect.java.version}", \
 javax.naming.event;uses:="javax.naming,javax.naming.directory";version="${dollar}{felix.detect.java.version}", \
 javax.naming.ldap;uses:="javax.naming,javax.naming.directory,javax.naming.event,javax.net.ssl";version="${dollar}{felix.detect.java.version}", \
 javax.naming.spi;uses:="javax.naming,javax.naming.directory";version="${dollar}{felix.detect.java.version}", \
 javax.net;version="${dollar}{felix.detect.java.version}", \
 javax.net.ssl;uses:="javax.net,javax.security.auth.x500,javax.security.cert";version="${dollar}{felix.detect.java.version}", \
 javax.print;uses:="javax.print.attribute,javax.print.attribute.standard,javax.print.event";version="${dollar}{felix.detect.java.version}", \
 javax.print.attribute;version="${dollar}{felix.detect.java.version}", \
 javax.print.attribute.standard;uses:="javax.print.attribute";version="${dollar}{felix.detect.java.version}", \
 javax.print.event;uses:="javax.print,javax.print.attribute";version="${dollar}{felix.detect.java.version}", \
 javax.rmi;uses:="javax.rmi.CORBA,org.omg.CORBA";version="${dollar}{felix.detect.java.version}", \
 javax.rmi.CORBA;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.CORBA_2_3.portable,org.omg.SendingContext";version="${dollar}{felix.detect.java.version}", \
 javax.rmi.ssl;uses:="javax.net,javax.net.ssl";version="${dollar}{felix.detect.java.version}", \
 javax.script;version="${dollar}{felix.detect.java.version}", \
 javax.security.auth;version="${dollar}{felix.detect.java.version}", \
 javax.security.auth.callback;version="${dollar}{felix.detect.java.version}", \
 javax.security.auth.kerberos;uses:="javax.crypto,javax.security.auth";version="${dollar}{felix.detect.java.version}", \
 javax.security.auth.login;uses:="javax.security.auth,javax.security.auth.callback";version="${dollar}{felix.detect.java.version}", \
 javax.security.auth.spi;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login";version="${dollar}{felix.detect.java.version}", \
 javax.security.auth.x500;uses:="javax.security.auth";version="${dollar}{felix.detect.java.version}", \
 javax.security.cert;version="${dollar}{felix.detect.java.version}", \
 javax.security.sasl;uses:="javax.security.auth.callback";version="${dollar}{felix.detect.java.version}", \
 javax.sound.midi;uses:="javax.sound.midi.spi";version="${dollar}{felix.detect.java.version}", \
 javax.sound.midi.spi;uses:="javax.sound.midi";version="${dollar}{felix.detect.java.version}", \
 javax.sound.sampled;uses:="javax.sound.sampled.spi";version="${dollar}{felix.detect.java.version}", \
 javax.sound.sampled.spi;uses:="javax.sound.sampled";version="${dollar}{felix.detect.java.version}", \
 javax.sql;uses:="javax.transaction.xa";version="${dollar}{felix.detect.java.version}", \
 javax.sql.rowset;uses:="javax.sql,javax.sql.rowset.serial,javax.sql.rowset.spi";version="${dollar}{felix.detect.java.version}", \
 javax.sql.rowset.serial;uses:="javax.sql.rowset";version="${dollar}{felix.detect.java.version}", \
 javax.sql.rowset.spi;uses:="javax.naming,javax.sql,javax.sql.rowset";version="${dollar}{felix.detect.java.version}", \
 javax.swing;uses:="javax.accessibility,javax.print,javax.print.attribute,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.table,javax.swing.text,javax.swing.text.html,javax.swing.tree";version="${dollar}{felix.detect.java.version}", \
 javax.swing.border;uses:="javax.swing";version="${dollar}{felix.detect.java.version}", \
 javax.swing.event;uses:="javax.swing,javax.swing.table,javax.swing.text,javax.swing.tree,javax.swing.undo";version="${dollar}{felix.detect.java.version}", \
 javax.swing.filechooser;uses:="javax.swing";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf;uses:="javax.accessibility,javax.swing,javax.swing.border,javax.swing.filechooser,javax.swing.text,javax.swing.tree";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf.metal;uses:="javax.swing,javax.swing.border,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.text,javax.swing.tree";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf.multi;uses:="javax.accessibility,javax.swing,javax.swing.filechooser,javax.swing.plaf,javax.swing.text,javax.swing.tree";version="${dollar}{felix.detect.java.version}", \
 javax.swing.table;uses:="javax.accessibility,javax.swing,javax.swing.border,javax.swing.event,javax.swing.plaf";version="${dollar}{felix.detect.java.version}", \
 javax.swing.text;uses:="javax.accessibility,javax.print,javax.print.attribute,javax.swing,javax.swing.event,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.text.html,javax.swing.tree,javax.swing.undo";version="${dollar}{felix.detect.java.version}", \
 javax.swing.text.html;uses:="javax.accessibility,javax.swing,javax.swing.border,javax.swing.event,javax.swing.plaf,javax.swing.text,javax.swing.undo";version="${dollar}{felix.detect.java.version}", \
 javax.swing.text.html.parser;uses:="javax.swing.text,javax.swing.text.html";version="${dollar}{felix.detect.java.version}", \
 javax.swing.text.rtf;uses:="javax.swing.text";version="${dollar}{felix.detect.java.version}", \
 javax.swing.tree;uses:="javax.swing,javax.swing.border,javax.swing.event,javax.swing.plaf,javax.swing.plaf.basic";version="${dollar}{felix.detect.java.version}", \
 javax.swing.undo;uses:="javax.swing,javax.swing.event";version="${dollar}{felix.detect.java.version}", \
 javax.tools;uses:="javax.annotation.processing,javax.lang.model,javax.lang.model.element";version="${dollar}{felix.detect.java.version}", \
 javax.transaction;version="${dollar}{felix.detect.java.version}", \
 javax.transaction.xa;version="${dollar}{felix.detect.java.version}", \
 javax.xml;version="${dollar}{felix.detect.java.version}", \
 javax.xml.bind;uses:="javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.datatype,javax.xml.namespace,javax.xml.stream,javax.xml.transform,javax.xml.transform.stream,javax.xml.validation,org.w3c.dom,org.xml.sax";version="${dollar}{felix.detect.java.version}", \
 javax.xml.bind.annotation;uses:="javax.xml.bind,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.bind.annotation.adapters;uses:="javax.xml.bind";version="${dollar}{felix.detect.java.version}", \
 javax.xml.bind.attachment;uses:="javax.activation";version="${dollar}{felix.detect.java.version}", \
 javax.xml.bind.helpers;uses:="javax.xml.bind,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.parsers,javax.xml.stream,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.xml.validation,org.w3c.dom,org.xml.sax";version="${dollar}{felix.detect.java.version}", \
 javax.xml.bind.util;uses:="javax.xml.bind,javax.xml.transform.sax,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers";version="${dollar}{felix.detect.java.version}", \
 javax.xml.crypto;uses:="javax.xml.crypto.dsig.keyinfo";version="${dollar}{felix.detect.java.version}", \
 javax.xml.crypto.dom;uses:="javax.xml.crypto,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.crypto.dsig;uses:="javax.xml.crypto,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec";version="${dollar}{felix.detect.java.version}", \
 javax.xml.crypto.dsig.dom;uses:="javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.crypto.dsig.keyinfo;uses:="javax.xml.crypto";version="${dollar}{felix.detect.java.version}", \
 javax.xml.crypto.dsig.spec;uses:="javax.xml.crypto";version="${dollar}{felix.detect.java.version}", \
 javax.xml.datatype;uses:="javax.xml.namespace";version="${dollar}{felix.detect.java.version}", \
 javax.xml.namespace;version="${dollar}{felix.detect.java.version}", \
 javax.xml.parsers;uses:="javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers";version="${dollar}{felix.detect.java.version}", \
 javax.xml.soap;uses:="javax.activation,javax.xml.namespace,javax.xml.transform,javax.xml.transform.dom,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.stream;uses:="javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform";version="${dollar}{felix.detect.java.version}", \
 javax.xml.stream.events;uses:="javax.xml.namespace,javax.xml.stream";version="${dollar}{felix.detect.java.version}", \
 javax.xml.stream.util;uses:="javax.xml.namespace,javax.xml.stream,javax.xml.stream.events";version="${dollar}{felix.detect.java.version}", \
 javax.xml.transform;version="${dollar}{felix.detect.java.version}", \
 javax.xml.transform.dom;uses:="javax.xml.transform,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.transform.sax;uses:="javax.xml.transform,javax.xml.transform.stream,org.xml.sax,org.xml.sax.ext";version="${dollar}{felix.detect.java.version}", \
 javax.xml.transform.stax;uses:="javax.xml.stream,javax.xml.stream.events,javax.xml.transform";version="${dollar}{felix.detect.java.version}", \
 javax.xml.transform.stream;uses:="javax.xml.transform";version="${dollar}{felix.detect.java.version}", \
 javax.xml.validation;uses:="javax.xml.transform,javax.xml.transform.stream,org.w3c.dom,org.w3c.dom.ls,org.xml.sax";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws.handler;uses:="javax.xml.namespace,javax.xml.ws";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws.handler.soap;uses:="javax.xml.bind,javax.xml.namespace,javax.xml.soap,javax.xml.ws.handler";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws.http;uses:="javax.xml.ws";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws.soap;uses:="javax.xml.soap,javax.xml.ws,javax.xml.ws.spi";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws.spi;uses:="javax.xml.bind,javax.xml.namespace,javax.xml.transform,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.wsaddressing,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws.wsaddressing;uses:="javax.xml.bind,javax.xml.bind.annotation,javax.xml.namespace,javax.xml.transform,javax.xml.ws,javax.xml.ws.spi,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.xpath;uses:="javax.xml.namespace,org.xml.sax";version="${dollar}{felix.detect.java.version}", \
 org.ietf.jgss;version="${dollar}{felix.detect.java.version}", \
 org.omg.CORBA;uses:="org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.TypeCodePackage,org.omg.CORBA.portable,org.omg.CORBA_2_3.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.CORBA.DynAnyPackage;uses:="org.omg.CORBA";version="${dollar}{felix.detect.java.version}", \
 org.omg.CORBA.ORBPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.CORBA.TypeCodePackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.CORBA.portable;uses:="org.omg.CORBA,org.omg.CORBA_2_3.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.CORBA_2_3;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.CORBA_2_3.portable;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.CosNaming;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.PortableServer";version="${dollar}{felix.detect.java.version}", \
 org.omg.CosNaming.NamingContextExtPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.CosNaming.NamingContextPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.CosNaming";version="${dollar}{felix.detect.java.version}", \
 org.omg.Dynamic;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.DynamicAny;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage";version="${dollar}{felix.detect.java.version}", \
 org.omg.DynamicAny.DynAnyFactoryPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.DynamicAny.DynAnyPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.IOP;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage";version="${dollar}{felix.detect.java.version}", \
 org.omg.IOP.CodecFactoryPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.IOP.CodecPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.Messaging;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableInterceptor;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.CORBA_2_3.portable,org.omg.Dynamic,org.omg.IOP,org.omg.PortableInterceptor.ORBInitInfoPackage";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableInterceptor.ORBInitInfoPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableServer;uses:="org.omg.CORBA,org.omg.CORBA.portable,org.omg.CORBA_2_3,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.ServantLocatorPackage,org.omg.PortableServer.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableServer.CurrentPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableServer.POAManagerPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableServer.POAPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableServer.ServantLocatorPackage;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.PortableServer.portable;uses:="org.omg.CORBA,org.omg.PortableServer";version="${dollar}{felix.detect.java.version}", \
 org.omg.SendingContext;uses:="org.omg.CORBA,org.omg.CORBA.portable";version="${dollar}{felix.detect.java.version}", \
 org.omg.stub.java.rmi;uses:="javax.rmi.CORBA";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom;version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.bootstrap;uses:="org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.ls;uses:="org.w3c.dom,org.w3c.dom.events";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.events;uses:="org.w3c.dom,org.w3c.dom.views";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.views;version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.traversal;uses:="org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.ranges;uses:="org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.css;uses:="org.w3c.dom,org.w3c.dom.stylesheets,org.w3c.dom.views";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.html;uses:="org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.stylesheets;uses:="org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 org.w3c.dom.xpath;uses:="org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 org.xml.sax;version="${dollar}{felix.detect.java.version}", \
 org.xml.sax.ext;uses:="org.xml.sax,org.xml.sax.helpers";version="${dollar}{felix.detect.java.version}", \
 org.xml.sax.helpers;uses:="org.xml.sax";version="${dollar}{felix.detect.java.version}"

jre-base-1.6= \
 ${jre-base}, \
 javax.crypto;uses:="javax.crypto.spec";version="${dollar}{felix.detect.java.version}", \
 javax.lang.model;version="${dollar}{felix.detect.java.version}"

jre-1.6= \
 ${jre-base-1.6}, \
 javax.lang.model.element;uses:="javax.lang.model.type";version="${dollar}{felix.detect.java.version}", \
 javax.lang.model.type;uses:="javax.lang.model.element";version="${dollar}{felix.detect.java.version}", \
 javax.management.monitor;uses:="javax.management,javax.management.openmbean";version="${dollar}{felix.detect.java.version}", \
 javax.swing.colorchooser;uses:="javax.swing,javax.swing.border,javax.swing.event";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf.basic;uses:="javax.accessibility,javax.sound.sampled,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.tree";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf.synth;uses:="javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.table,javax.swing.text,javax.swing.tree,javax.xml.parsers,org.xml.sax";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws;uses:="javax.xml.bind,javax.xml.bind.annotation,javax.xml.namespace,javax.xml.transform,javax.xml.transform.stream,javax.xml.ws.handler,javax.xml.ws.spi,org.w3c.dom";version="${dollar}{felix.detect.java.version}"

jre-base-1.7=, \
 java.lang.invoke;version="${dollar}{felix.detect.java.version}", \
 java.nio.file;version="${dollar}{felix.detect.java.version}", \
 java.nio.file.attribute;version="${dollar}{felix.detect.java.version}", \
 java.nio.file.spi;version="${dollar}{felix.detect.java.version}", \
 javax.lang.model.element;uses:="javax.lang.model,javax.lang.model.type";version="${dollar}{felix.detect.java.version}", \
 javax.lang.model.type;uses:="javax.lang.model,javax.lang.model.element";version="${dollar}{felix.detect.java.version}", \
 javax.management.monitor;uses:="javax.management";version="${dollar}{felix.detect.java.version}", \
 javax.swing.colorchooser;uses:="javax.accessibility,javax.swing,javax.swing.border,javax.swing.event,javax.swing.text";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf.basic;uses:="javax.accessibility,javax.sound.sampled,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.tree";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf.nimbus;uses:="javax.swing,javax.swing.border,javax.swing.plaf,javax.swing.plaf.synth";version="${dollar}{felix.detect.java.version}", \
 javax.swing.plaf.synth;uses:="javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.table,javax.swing.text,javax.swing.tree,javax.xml.parsers,org.xml.sax,org.xml.sax.helpers";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws;uses:="javax.xml.bind,javax.xml.bind.annotation,javax.xml.namespace,javax.xml.transform,javax.xml.transform.stream,javax.xml.ws.handler,javax.xml.ws.spi,javax.xml.ws.spi.http,org.w3c.dom";version="${dollar}{felix.detect.java.version}", \
 javax.xml.ws.spi.http;version="${dollar}{felix.detect.java.version}"

jre-1.7= \
 ${jre-base-1.6} \
 ${jre-base-1.7}

jre-1.8= \
 ${jre-base} \
 ${jre-base-1.7}, \
 java.time;version="${dollar}{felix.detect.java.version}", \
 java.time.chrono;version="${dollar}{felix.detect.java.version}", \
 java.time.format;version="${dollar}{felix.detect.java.version}", \
 java.time.temporal;version="${dollar}{felix.detect.java.version}", \
 java.time.zone;version="${dollar}{felix.detect.java.version}", \
 java.util.function;version="${dollar}{felix.detect.java.version}", \
 java.util.stream;version="${dollar}{felix.detect.java.version}", \
 javax.crypto;uses:="javax.crypto.spec,javax.security.auth";version="${dollar}{felix.detect.java.version}", \
 javax.lang.model;uses:="javax.lang.model.element";version="${dollar}{felix.detect.java.version}"
