###
# ~~~~~~licensing~~~~~~
# entaxy-underlying-configuration
# ==========
# Copyright (C) 2020 - 2024 EmDev LLC
# ==========
# You may not use this file except in accordance with the License Terms of the Copyright
# Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
# rights to the Software and any copies are the property of the Copyright Holder. Unless
# it is explicitly allowed the Copyright Holder, the User is prohibited from using the
# Software for commercial purposes to provide services to third parties.
# 
# The Copyright Holder hereby declares that the Software is provided on an "AS IS".
# Under no circumstances does the Copyright Holder guarantee or promise that the
# Software provided by him will be suitable or not suitable for the specific purposes
# of the User, that the Software will meet all commercial and personal subjective
# expectations of the User, that the Software will work properly, without technical
# errors, quickly and uninterruptedly.
# 
# Under no circumstances shall the Copyright Holder or its Affiliates is not liable
# to the User for any direct or indirect losses of the User, his expenses or actual
# damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
# or damage to data, property, etc.
# ~~~~~~/licensing~~~~~~
###

#
# This file lists Karaf default settings for this particular version of Karaf.
# For easier maintenance when upgrading Karaf and to better document which
# default values have changed, it is recommended to place any changes to
# these values in a custom.properties entaxy.properties file in the same folder as this file.
# Each value specified in custom.properties entaxy.properties will override the default value
# here.
#

#
# Properties file inclusions (as a space separated list of relative paths)
# Included files will override the values specified in this file
# NB: ${includes} properties files are mandatory, it means that Karaf will not start
# if the include file is not found
#
${includes} = jre.properties custom.properties entaxy.properties

#
# Properties file inclusions (as a space separated list of relative paths)
# Included files will override the values specified in this file
# NB: ${optionals} properties files are optionals, it means that Karaf will just
# display a warning message but the bootstrap will be performed
#
# ${optionals} = my.properties

#
# Framework selection properties
#
karaf.framework=felix

#
# Location of the OSGi frameworks
#
karaf.framework.equinox=mvn\:org.eclipse.platform/org.eclipse.osgi/3.12.100
karaf.framework.felix=mvn\:org.apache.felix/org.apache.felix.framework/5.6.12-ENTAXY

#
# Framework config properties.
#
org.osgi.framework.system.packages= \
 org.osgi.dto;version="1.0",\
 org.osgi.resource;version="1.0",\
 org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",\
 org.osgi.framework;version="1.8",\
 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.1";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.2";uses:="org.osgi.dto,org.osgi.resource.dto",\
 org.osgi.service.condpermadmin;version="1.1.1";uses:="org.osgi.framework,org.osgi.service.permissionadmin",\
 org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework",org.osgi.service.permissionadmin;version="1.2",\
 org.osgi.service.resolver;version="1.0";uses:="org.osgi.resource",\
 org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework",\
 org.osgi.service.url;version="1.0",\
 org.osgi.util.tracker;version="1.5.1";uses:="org.osgi.framework",\
 org.apache.karaf.version;version="4.2.9",\
 org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="4.2.9",\
 org.apache.karaf.jaas.boot;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework";version="4.2.9",\
 org.apache.karaf.info;version="4.2.9",\
 ${jre-${java.specification.version}}

#
# Extra packages appended after standard packages
#
org.osgi.framework.system.packages.extra = \
    org.apache.karaf.branding, \
    sun.misc, \
    com.sun.jmx.remote.protocol, \
    com.sun.jmx.remote.protocol.jmxmp, \
    org.apache.karaf.diagnostic.core;uses:=org.osgi.framework;version=4.2.9, \
    org.apache.karaf.diagnostic.core.common;uses:=org.apache.karaf.diagnostic.core;version=4.2.9, \
    org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version=4.2.9, \
    org.apache.karaf.jaas.boot;uses:=\"javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework\";version=4.2.9

org.osgi.framework.system.capabilities= \
 ${eecap-${java.specification.version}}, \
 ${${karaf.framework}-capabilities}, \
 ${karaf-capabilities}

karaf-capabilities= \
 osgi.service;objectClass:List<String>=org.apache.karaf.info.ServerInfo

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

equinox-capabilities= \
 osgi.service;objectClass:List<String>=java.lang.ClassLoader;equinox.classloader.type=contextClassLoader, \
 osgi.service;objectClass:List<String>=javax.xml.parsers.DocumentBuilderFactory, \
 osgi.service;objectClass:List<String>=javax.xml.parsers.SAXParserFactory, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.framework.log.FrameworkLog, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.framework.log.FrameworkLog;performance=true, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=eclipse.home.location, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.configuration.area, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.install.area, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.instance.area, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.user.area, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.debug.DebugOptions, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.environment.EnvironmentInfo, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.localization.BundleLocalization, \
 osgi.service;objectClass:List<String>="org.osgi.service.log.LogReaderService,org.eclipse.equinox.log.ExtendedLogReaderService", \
 osgi.service;objectClass:List<String>="org.osgi.service.log.LogService,org.eclipse.equinox.log.ExtendedLogService", \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.security.TrustEngine;osgi.signedcontent.trust.engine=org.eclipse.osgi, \
 osgi.service;objectClass:List<String>=org.eclipse.osgi.service.urlconversion.URLConverter;protocol:List<String>="bundleentry,bundleresource"

eecap-11= 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,9.0,10.0,11.0", \
 osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \
 osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0,10.0,11.0", \
 osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0", \
 osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0"
eecap-10= 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,9.0,10.0", \
 osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \
 osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0,10.0", \
 osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0", \
 osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0"
eecap-9= 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,9.0", \
 osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \
 osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0", \
 osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0", \
 osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0"
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="JRE"; version:List<Version>="1.0,1.1", \
 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"

#
# javax.transaction is needed to avoid class loader constraint violation when using javax.sql
#
org.osgi.framework.bootdelegation = \
    com.sun.*, \
    javax.transaction, \
    javax.transaction.*, \
    javax.xml.crypto, \
    javax.xml.crypto.*, \
    jdk.nashorn.*, \
    sun.*, \
    jdk.internal.reflect, \
    jdk.internal.reflect.*, \
    org.apache.karaf.jaas.boot.principal, \
    org.apache.karaf.jaas.boot

# jVisualVM support
# in order to use Karaf with jvisualvm, the org.osgi.framework.bootdelegation property has to contain the org.netbeans.lib.profiler.server package
# and, so, it should look like:
#
# org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,org.netbeans.lib.profiler.server
#
# YourKit support
# in order to use Karaf with YourKit, the org.osgi.framework.bootdelegation property has to contain the com.yourkit.* packages
# and, so, it should look like:
#
# org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,com.yourkit.*
#

#
# Set the parent classloader for the bundle to the classloader that loads the Framework (i.e. everything in lib/*.jar)
#
org.osgi.framework.bundle.parent=framework

#
# Definition of the default bundle start level
#
org.osgi.framework.startlevel.beginning=200
karaf.startlevel.bundle=80

#
# The location of the Karaf shutdown port file used to stop instance
#
karaf.shutdown.port.file=${karaf.data}/port

#
# The location of the Karaf pid file
#
karaf.pid.file=${karaf.base}/karaf.pid

#
# Configuration FileMonitor properties
#
felix.fileinstall.enableConfigSave = true
felix.fileinstall.dir    = ${karaf.etc}
felix.fileinstall.filter = .*\\.(cfg|config)
felix.fileinstall.poll   = 1000
felix.fileinstall.noInitialDelay = true
felix.fileinstall.log.level = 3
felix.fileinstall.log.default = jul

felix.fileinstall.subdir.mode = recurse

# Use cached urls for bundle CodeSource to avoid
# problems with JCE cached informations, see KARAF-3974
felix.bundlecodesource.usecachedurls = true

#
# Delay for writing the framework state to disk in equinox
# must be  >= 1000 and <= 1800000
#
eclipse.stateSaveDelayInterval = 1000

#
# OBR Repository list
# This property will be modified by the obr:addUrl and obr:removeUrl commands. 
#
obr.repository.url = 

#
# Start blueprint bundles synchronously when possible
#
org.apache.aries.blueprint.synchronous=true

#
# Do not weave all any classes by default
#
org.apache.aries.proxy.weaving.enabled=

#
# mvn url handler requires config instance configuration
#
org.ops4j.pax.url.mvn.requireConfigAdminConfig=true

#
# Don't delay the console startup. Set to true if you want the console to start after all other bundles
#
karaf.delay.console=false

#
# Generated command shutdown
#
karaf.shutdown.command = c8d2adea-042a-4eec-af16-30691a05992a

#
# Enable native Karaf support for systemd's watchdog.
#
# In addition to setting the flag to true, the JNA library needs to be made
# available to the main classloader by adding the two following libraries
# to the lib/boot directory
#   mvn:net.java.dev.jna/jna/${jna.version}
#   mvn:net.java.dev.jna/jna-platform/${jna.version}
# or by building a custom distribution and adding the following lines for the
# karaf maven plugin configuration:
#    <library>mvn:net.java.dev.jna/jna/${jna.version};type:=boot;export:=false</library>
#    <library>mvn:net.java.dev.jna/jna-platform/${jna.version};type:=boot;export:=false</library>
#
#karaf.systemd.enabled=true
