<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~~~~~~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~~~~~~
  -->

<featuresProcessing xmlns="http://karaf.apache.org/xmlns/features-processing/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:features="http://karaf.apache.org/xmlns/features/v1.6.0" 
	xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.6.0 http://karaf.apache.org/xmlns/features/v1.6.0
	http://karaf.apache.org/xmlns/features-processing/v1.0.0 http://karaf.apache.org/xmlns/features-processing/v1.0.0">

    <!--

        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.
    -->

    <blacklistedRepositories>
        <repository>mvn:org.apache.karaf.features/framework/4.3.0-SNAPSHOT/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/standard/4.3.0-SNAPSHOT/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/enterprise/4.3.0-SNAPSHOT/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/enterprise-legacy/4.3.0-SNAPSHOT/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/spring/4.3.0-SNAPSHOT/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/spring-legacy/4.3.0-SNAPSHOT/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/framework/4.3.0.RC1/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/standard/4.3.0.RC1/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/enterprise/4.3.0.RC1/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/enterprise-legacy/4.3.0.RC1/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/spring/4.3.0.RC1/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/spring-legacy/4.3.0.RC1/xml/features</repository>
        
        <repository>mvn:org.apache.cxf.karaf/apache-cxf/3.3.4/xml/features</repository>
        <repository>mvn:org.apache.karaf.features/spring-legacy/4.2.9/xml/features</repository>
    </blacklistedRepositories>
	
	<bundleReplacements>

		<bundle originalUri="mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.bundle/${cellar.version}" replacement="mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.bundle/${cellar.version}-ENTAXY" mode="maven" />

		<bundle originalUri="mvn:com.fasterxml.jackson.core/jackson-annotations/(0,${jackson.version})" replacement="mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}" mode="maven" />
		<bundle originalUri="mvn:com.fasterxml.jackson.core/jackson-core/(0,${jackson.version})" replacement="mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}" mode="maven" />
		<bundle originalUri="mvn:com.fasterxml.jackson.core/jackson-databind/(0,${jackson.version})" replacement="mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}" mode="maven" />
		<bundle originalUri="mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/(0,${jackson.version})" replacement="mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${jackson.version}" mode="maven" />
		<bundle originalUri="mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/(0,${jackson.version})" replacement="mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${jackson.version}" mode="maven" />
		<bundle originalUri="mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/(0,${jackson.version})" replacement="mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${jackson.version}" mode="maven" />
		<bundle originalUri="mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/(0,${jackson.version})" replacement="mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/${jackson.version}" mode="maven" />

		<bundle originalUri="mvn:org.yaml/snakeyaml/(1,${snakeyaml1.version}]" replacement="mvn:org.yaml/snakeyaml/${snakeyaml2.version}" mode="maven" />

		<bundle originalUri="mvn:org.javassist/javassist/(0,${javassist.version.clean})" replacement="mvn:org.javassist/javassist/${javassist.version}" mode="maven" />

		<bundle originalUri="mvn:org.apache.commons/commons-lang3/[3,${commons-lang3.version})" replacement="mvn:org.apache.commons/commons-lang3/${commons-lang3.version}" mode="maven" />
		<bundle originalUri="mvn:commons-codec/commons-codec/(1,1.14)" replacement="mvn:commons-codec/commons-codec/1.14" mode="maven" />

		<bundle originalUri="mvn:io.swagger/swagger-annotations/(1, ${swagger1.version})" replacement="mvn:io.swagger/swagger-annotations/${swagger1.version}" />
		<bundle originalUri="mvn:io.swagger.core.v3/swagger-annotations/[2, ${swagger.v3.version})" replacement="mvn:io.swagger.core.v3/swagger-annotations/${swagger.v3.version}" />
		<bundle originalUri="mvn:io.swagger.core.v3/swagger-core/[2, ${swagger.v3.version})" replacement="mvn:io.swagger.core.v3/swagger-core/${swagger.v3.version}" />
		<bundle originalUri="mvn:io.swagger.core.v3/swagger-models/[2, ${swagger.v3.version})" replacement="mvn:io.swagger.core.v3/swagger-models/${swagger.v3.version}" />
		<bundle originalUri="mvn:io.swagger.core.v3/swagger-integration/[2, ${swagger.v3.version})" replacement="mvn:io.swagger.core.v3/swagger-integration/${swagger.v3.version}" />
		<bundle originalUri="mvn:io.swagger.core.v3/swagger-jaxrs2/[2, ${swagger.v3.version})" replacement="mvn:io.swagger.core.v3/swagger-jaxrs2/${swagger.v3.version}" />

		<bundle originalUri="mvn:io.github.classgraph/classgraph/[1, ${classgraph.version})" replacement="mvn:io.github.classgraph/classgraph/${classgraph.version}" />

		<bundle originalUri="mvn:org.webjars/swagger-ui/(0, ${swagger-ui.version})" replacement="mvn:org.webjars/swagger-ui/${swagger-ui.version}" />

	    <bundle originalUri="mvn:io.netty/netty-common/(4,4.1.51)" replacement="mvn:io.netty/netty-common/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-buffer/(4,4.1.51)" replacement="mvn:io.netty/netty-buffer/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-resolver/(4,4.1.51)" replacement="mvn:io.netty/netty-resolver/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-transport/(4,4.1.51)" replacement="mvn:io.netty/netty-transport/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-handler/(4,4.1.51)" replacement="mvn:io.netty/netty-handler/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-codec/(4,4.1.51)" replacement="mvn:io.netty/netty-codec/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-transport-native-epoll/(4,4.1.51)" replacement="mvn:io.netty/netty-transport-native-epoll/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-transport-native-kqueue/(4,4.1.51)" replacement="mvn:io.netty/netty-transport-native-kqueue/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-codec-http/(4,4.1.51)" replacement="mvn:io.netty/netty-codec-http/4.1.51.Final" mode="maven" />
	    <bundle originalUri="mvn:io.netty/netty-transport-native-unix-common/(4,4.1.51)" replacement="mvn:io.netty/netty-transport-native-unix-common/4.1.51.Final" mode="maven" />

	    <bundle originalUri="mvn:javax.annotation/javax.annotation-api/(1,1.3.2)" replacement="mvn:javax.annotation/javax.annotation-api/1.3.2" mode="maven" />

		<bundle originalUri="mvn:javax.mail/mail/(1, 1.4.7)" replacement="mvn:javax.mail/mail/1.4.7" mode="maven" />	    
 		
 		<bundle originalUri="mvn:com.h2database/h2/(1.4, 1.5)" replacement="mvn:com.h2database/h2/1.4.199-ENTAXY" mode="maven" />
 		<!-- bundle originalUri="mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.opensaml/(3.2, 3.4)" 
 			replacement="mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.opensaml/3.4.5_2" mode="maven" / -->

		<bundle originalUri="mvn:org.apache.camel/camel-base/${camel.version}" replacement="mvn:org.apache.camel/camel-base/${camel.version}-ENTAXY" mode="maven" />
		<bundle originalUri="mvn:org.apache.camel/camel-quartz/${camel.version}" replacement="mvn:org.apache.camel/camel-quartz/${camel.version}-ENTAXY" mode="maven" />
		<bundle originalUri="mvn:org.apache.camel/camel-core-engine/${camel.version}" replacement="mvn:org.apache.camel/camel-core-engine/${camel.version}-ENTAXY" mode="maven" />
		<bundle originalUri="mvn:org.apache.camel/camel-master/${camel.version}" replacement="mvn:org.apache.camel/camel-master/${camel.version}-ENTAXY" mode="maven" />
		<bundle originalUri="mvn:org.apache.camel/camel-jms/${camel.version}" replacement="mvn:org.apache.camel/camel-jms/${camel.version}-ENTAXY" mode="maven" />
		<bundle originalUri="mvn:org.apache.camel.karaf/camel-cxf-blueprint/${camel.version}" replacement="mvn:org.apache.camel.karaf/camel-cxf-blueprint/${camel.version}-ENTAXY" mode="maven" />
		<bundle originalUri="mvn:org.apache.camel/camel-freemarker/${camel.version}" replacement="mvn:org.apache.camel/camel-freemarker/${camel.version}-ENTAXY" mode="maven" />

		<bundle originalUri="mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1"
				replacement="mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1-ENTAXY" mode="maven" />
		<bundle originalUri="mvn:org.apache.activemq/artemis-server-osgi/2.19.0"
				replacement="mvn:org.apache.activemq/artemis-server-osgi/2.19.0-ENTAXY" mode="maven" />

		<bundle originalUri="mvn:com.google.code.gson/gson/${gson.version}"
				replacement="mvn:ru.entaxy.bundles-repacked/ru.entaxy.bundles-repacked.com.google.code.gson-2.8.5.entaxy/${gson.version}-ENTAXY" mode="maven" />
				
		<bundle originalUri="mvn:org.apache.karaf.cave.repository/org.apache.karaf.cave.repository.service/${cave.version}" 
				replacement="mvn:org.apache.karaf.cave.repository/org.apache.karaf.cave.repository.service/${cave.version}-ENTAXY" mode="maven" />

		<bundle originalUri="mvn:org.eclipse.jdt.core.compiler/ecj/4.5.1" 
				replacement="mvn:org.eclipse.jdt/ecj/3.24.0" mode="maven" />		
				
		<bundle originalUri="mvn:org.apache.karaf.management/org.apache.karaf.management.server/${karaf.version}" 
				replacement="mvn:org.apache.karaf.management/org.apache.karaf.management.server/${karaf.version}-ENTAXY" mode="maven" />

		<bundle originalUri="mvn:org.apache.karaf.features/org.apache.karaf.features.core/${karaf.version}" 
				replacement="mvn:org.apache.karaf.features/org.apache.karaf.features.core/${karaf.version}-ENTAXY" mode="maven" />

		<bundle originalUri="wrap:mvn:org.dom4j/dom4j/2.1.1"
				replacement="wrap:mvn:org.dom4j/dom4j/2.1.1/&#36;Bundle-SymbolicName=dom4j.wrap&amp;Bundle-Version=2.1.1&amp;Export-Package=*;version=&quot;2.1.1&quot;" mode="maven" />
		<bundle originalUri="wrap:mvn:antlr/antlr/2.7.7"
				replacement="wrap:mvn:antlr/antlr/2.7.7/&#36;Bundle-SymbolicName=antlr.wrap&amp;Bundle-Version=2.7.7&amp;Export-Package=*;version=&quot;2.7.7&quot;" mode="maven" />
		
		<!-- to avoid refresh on bundles rewiring -->
		<bundle originalUri="mvn:javax.el/javax.el-api/[3, 4)"
				replacement="mvn:org.glassfish/jakarta.el/3.0.3" mode="maven" />
		<bundle originalUri="mvn:org.jboss.spec.javax.transaction/jboss-transaction-api_1.2_spec/1.1.1.Final"		
				replacement="mvn:javax.transaction/javax.transaction-api/1.2" mode="maven" />
		<bundle originalUri="mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1"		
				replacement="mvn:javax.transaction/javax.transaction-api/1.2" mode="maven" />

		<!-- use patched version -->				
		<bundle originalUri="mvn:com.hazelcast/hazelcast-all/${hazelcast.version}"		
				replacement="mvn:com.hazelcast/hazelcast-all/${hazelcast.version}-ENTAXY" mode="maven" />

		<!-- to avoid refresh on bundles rewiring -->
		<bundle originalUri="mvn:joda-time/joda-time/[2, 2.10.14)"
				replacement="mvn:joda-time/joda-time/2.10.14" mode="maven" />

		<bundle originalUri="mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1"		
				replacement="mvn:jakarta.jms/jakarta.jms-api/2.0.3" mode="maven" />
		
		<!-- use repacked version to exclude org.yaml/snakeyaml/1.x -->
		<bundle originalUri="mvn:org.liquibase/liquibase-core/${liquibase.version}"
				replacement="mvn:ru.entaxy.bundles-repacked/ru.entaxy.bundles-repacked.org.liquibase.core-${liquibase.version}.entaxy/${liquibase.version}-ENTAXY" mode="maven" />
		
		<bundle originalUri="mvn:org.freemarker/freemarker/(2, ${freemarker.version})" 
				replacement="mvn:org.freemarker/freemarker/${freemarker.version}" />
		
		<!-- use repacked version to enable eventadmin audit -->
		<bundle originalUri="mvn:io.hawt/hawtio-osgi/2.14.1/war" 
				replacement="mvn:ru.entaxy.bundles-repacked/ru.entaxy.bundles-repacked.io.hawt.hawtio-osgi-2.14.1.entaxy/2.14.1-ENTAXY/war" mode="maven" />
		
				
	</bundleReplacements>

	<featureReplacements>
		<replacement mode="replace">
			<feature name="cave-common" version="${cellar.version}" start-level="50">
				<features:feature prerequisite="true">http</features:feature>
				<features:feature prerequisite="true">scr</features:feature>
				<features:feature version="${cxf.version}">cxf-jaxrs</features:feature>
				<features:bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/2.10.0</features:bundle>
				<features:bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.0</features:bundle>
				<features:bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/2.10.0</features:bundle>
				<features:bundle dependency="true">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/2.10.0</features:bundle>
				<features:bundle dependency="true">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.10.0</features:bundle>
			</feature>
		</replacement>
		<replacement mode="replace">
		    <feature name="cxf-rs-description-openapi-v3" version="3.3.6">
		        <features:feature version="3.3.6">cxf-jaxrs</features:feature>
		        <features:feature version="3.3.6">cxf-jackson</features:feature>
		        <features:bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-service-description-common-openapi/3.3.6</features:bundle>
		        <features:bundle start-level="35">mvn:org.apache.cxf/cxf-rt-rs-service-description-swagger-ui/3.3.6</features:bundle>
		        <features:bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-service-description-openapi-v3/3.3.6</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.10.3</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</features:bundle>
		        <features:bundle start-level="10" dependency="true">mvn:javax.validation/validation-api/1.1.0.Final</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:org.apache.commons/commons-lang3/3.9</features:bundle>
		        <features:bundle start-level="30" dependency="true">mvn:io.github.classgraph/classgraph/4.6.32</features:bundle>
		        <features:bundle start-level="30" dependency="true">mvn:org.javassist/javassist/3.25.0-GA</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:io.swagger.core.v3/swagger-annotations/${swagger.v3.version}</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:io.swagger.core.v3/swagger-models/${swagger.v3.version}</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:io.swagger.core.v3/swagger-core/${swagger.v3.version}</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:io.swagger.core.v3/swagger-integration/${swagger.v3.version}</features:bundle>
		        <features:bundle start-level="35" dependency="true">mvn:io.swagger.core.v3/swagger-jaxrs2/${swagger.v3.version}</features:bundle>
		    </feature>			
			
		</replacement>		
	</featureReplacements>

</featuresProcessing>
