This is an automated email from the ASF dual-hosted git repository.

mmuzaf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new a29080856a1 IGNITE-13570 Move OSGi to the Ignite Extensions project 
(#10146)
a29080856a1 is described below

commit a29080856a1b45a28885d671976e4ba00e6d022e
Author: Maxim Muzafarov <maxmu...@gmail.com>
AuthorDate: Fri Jul 8 17:26:43 2022 +0300

    IGNITE-13570 Move OSGi to the Ignite Extensions project (#10146)
---
 assembly/dependencies-apache-ignite-slim.xml       |   3 -
 assembly/libs/README.txt                           |   3 -
 docs/_docs/setup.adoc                              |  17 +-
 modules/calcite/pom.xml                            |   5 -
 modules/core/pom.xml                               |  22 --
 modules/jcl/pom.xml                                |   6 -
 modules/log4j/pom.xml                              |   6 -
 modules/log4j2/pom.xml                             |   6 -
 modules/osgi-karaf/README.txt                      |  18 --
 modules/osgi-karaf/licenses/apache-2.0.txt         | 202 ---------------
 modules/osgi-karaf/pom.xml                         |  91 -------
 modules/osgi-karaf/src/main/resources/features.xml | 284 ---------------------
 modules/osgi-paxlogging/README.txt                 |  12 -
 modules/osgi-paxlogging/licenses/apache-2.0.txt    | 202 ---------------
 modules/osgi-paxlogging/pom.xml                    |  75 ------
 modules/osgi/README.txt                            |  35 ---
 modules/osgi/licenses/apache-2.0.txt               | 202 ---------------
 modules/osgi/pom.xml                               | 180 -------------
 .../osgi/IgniteAbstractOsgiContextActivator.java   | 239 -----------------
 .../org/apache/ignite/osgi/IgniteOsgiUtils.java    |  69 -----
 .../classloaders/BundleDelegatingClassLoader.java  | 134 ----------
 .../classloaders/ContainerSweepClassLoader.java    | 134 ----------
 .../classloaders/OsgiClassLoadingStrategyType.java |  29 ---
 .../ignite/osgi/classloaders/package-info.java     |  21 --
 .../java/org/apache/ignite/osgi/package-info.java  |  21 --
 .../ignite/osgi/AbstractIgniteKarafTest.java       | 107 --------
 .../osgi/IgniteKarafFeaturesInstallationTest.java  | 102 --------
 .../apache/ignite/osgi/IgniteOsgiServiceTest.java  | 132 ----------
 .../apache/ignite/osgi/IgniteOsgiTestSuite.java    |  32 ---
 .../osgi/activators/BasicIgniteTestActivator.java  |  76 ------
 .../ignite/osgi/activators/TestOsgiFlags.java      |  53 ----
 .../ignite/osgi/activators/TestOsgiFlagsImpl.java  |  83 ------
 modules/rest-http/pom.xml                          |   6 -
 modules/schedule/pom.xml                           |  19 --
 modules/slf4j/pom.xml                              |   6 -
 modules/urideploy/pom.xml                          |   6 -
 modules/web/pom.xml                                |   6 -
 modules/zookeeper/pom.xml                          |   6 -
 parent-internal/pom.xml                            |   4 -
 parent/pom.xml                                     |  19 +-
 pom.xml                                            |   3 -
 41 files changed, 13 insertions(+), 2663 deletions(-)

diff --git a/assembly/dependencies-apache-ignite-slim.xml 
b/assembly/dependencies-apache-ignite-slim.xml
index bcc75548f01..2e1faefd414 100644
--- a/assembly/dependencies-apache-ignite-slim.xml
+++ b/assembly/dependencies-apache-ignite-slim.xml
@@ -148,9 +148,6 @@
                 
<exclude>${project.groupId}:ignite-ml-spark-model-parser</exclude>
                 
<exclude>${project.groupId}:ignite-ml-xgboost-model-parser</exclude>
                 
<exclude>${project.groupId}:ignite-ml-catboost-model-parser</exclude>
-                <exclude>${project.groupId}:ignite-osgi</exclude>
-                <exclude>${project.groupId}:ignite-osgi-karaf</exclude>
-                <exclude>${project.groupId}:ignite-osgi-paxlogging</exclude>
                 <exclude>${project.groupId}:ignite-ssh</exclude>
                 <exclude>${project.groupId}:ignite-web</exclude>
                 <exclude>${project.groupId}:ignite-zookeeper</exclude>
diff --git a/assembly/libs/README.txt b/assembly/libs/README.txt
index 743c1f03c7f..cdfd223787e 100644
--- a/assembly/libs/README.txt
+++ b/assembly/libs/README.txt
@@ -77,9 +77,6 @@ The following modules are available:
 - ignite-jta (for XA integration)
 - ignite-logj4 (for Log4j logging)
 - ignite-log4j2 (for Log4j 2 logging)
-- ignite-osgi (to allow Ignite run seemlessly in OSGI containers)
-- ignite-osgi-karaf (to seemlessly intall ignite into Apache Karaf container)
-- ignite-osgi-paxlogging (to expose PAX Logging API to Log4j if needed)
 - ignite-rest-http (for HTTP REST messages)
 - ignite-schedule (for Cron-based task scheduling)
 - ignite-sl4j (for SL4J logging)
diff --git a/docs/_docs/setup.adoc b/docs/_docs/setup.adoc
index 7e352e1ffc5..fcbc2adfb8b 100644
--- a/docs/_docs/setup.adoc
+++ b/docs/_docs/setup.adoc
@@ -222,19 +222,6 @@ The following modules are available:
 |ignite-ml | Ignite ML Grid provides machine learning features and relevant 
data structures and methods of linear algebra, including on heap and off heap, 
dense and sparse, local and distributed implementations.
 Refer to the link:machine-learning/ml[Machine Learning] documentation for 
details.
 
-|ignite-osgi | This module provides bridging components to make Ignite run 
seamlessly inside an OSGi container such as Apache Karaf.
-
-|ignite-osgi-karaf | This module contains a feature repository to facilitate 
installing Ignite into an Apache Karaf container.
-
-|ignite-osgi-paxlogging a|
-This module is an OSGi fragment that exposes the following packages from the 
Pax Logging API bundle:
-
-- org.apache.log4j.varia
-- org.apache.log4j.xml
-
-These packages are required when installing the ignite-log4j bundle, and are 
not exposed by default
-by the Pax Logging API - the logging framework used by Apache Karaf.
-
 |ignite-rest-http | Ignite REST-HTTP starts a Jetty-based server within a node 
that can be used to execute tasks and/or cache commands in grid using 
HTTP-based link:restapi[RESTful APIs].
 
 |ignite-schedule | This  module provides functionality for scheduling jobs 
locally using UNIX cron-based syntax.
@@ -268,6 +255,10 @@ The following extensions are available:
 
 |ignite-cloud-ext | Ignite Cloud provides Apache jclouds implementations of 
the IP finder for TCP discovery.
 
+|ignite-osgi-ext | This module provides bridging components to make Ignite run 
seamlessly inside an OSGi container such as Apache Karaf.
+
+|ignite-osgi-karaf-ext | This module contains a feature repository to 
facilitate installing Ignite into an Apache Karaf container.
+
 |ignite-gce-ext | Ignite GCE provides Google Cloud Storage based 
implementations of IP finder for TCP discovery.
 
 |ignite-spark-ext | This module provides an implementation of Spark RDD 
abstraction that enables easy access to Ignite caches.
diff --git a/modules/calcite/pom.xml b/modules/calcite/pom.xml
index 14a5582b389..acaaee4bb3b 100644
--- a/modules/calcite/pom.xml
+++ b/modules/calcite/pom.xml
@@ -216,11 +216,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 58504b244eb..4d4f28f443a 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -34,22 +34,6 @@
 
     <properties>
         
<ignite.update.notifier.product>apache-ignite</ignite.update.notifier.product>
-
-        <!-- Imports:
-                - com.sun.jmx.mbeanserver => only used from 
TCKMBeanServerBuilder which has no usages within Ignite's
-                  runtime codebase. Therefore, it's likely that code will not 
be hit during normal operation and we exclude it.
-                - javax.enterprise.util is optional.
-        -->
-        <osgi.import.package>
-            javax.enterprise.util;resolution:=optional,
-            !com.sun.jmx.mbeanserver,
-            *
-        </osgi.import.package>
-        <osgi.export.package>
-            org.apache.ignite.*,
-            org.jsr166.*;version=1.0.0;
-            {local-packages}
-        </osgi.export.package>
     </properties>
 
     <dependencies>
@@ -292,12 +276,6 @@
                 </executions>
             </plugin>
 
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/jcl/pom.xml b/modules/jcl/pom.xml
index f81cb46b424..f948eecade0 100644
--- a/modules/jcl/pom.xml
+++ b/modules/jcl/pom.xml
@@ -62,12 +62,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/log4j/pom.xml b/modules/log4j/pom.xml
index dff3c32168d..0379cc4f311 100644
--- a/modules/log4j/pom.xml
+++ b/modules/log4j/pom.xml
@@ -61,12 +61,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/log4j2/pom.xml b/modules/log4j2/pom.xml
index 896dc28c7b9..fb9faae7143 100644
--- a/modules/log4j2/pom.xml
+++ b/modules/log4j2/pom.xml
@@ -68,12 +68,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/osgi-karaf/README.txt b/modules/osgi-karaf/README.txt
deleted file mode 100644
index 6bd155524b9..00000000000
--- a/modules/osgi-karaf/README.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Apache Ignite OSGi Karaf Integration Module
--------------------------------------------
-
-This module contains a feature repository to facilitate installing Apache 
Ignite into an Apache Karaf container.
-
-Use the following Karaf command:
-
-    karaf@root()> feature:repo-add 
mvn:org.apache.ignite/ignite-osgi-karaf/${ignite.version}/xml/features
-
-Replacing ${ignite.version} with the Apache Ignite version you woudl like to 
install.
-
-You may now list the Ignite features that are available for installation:
-
-    karaf@root()> feature:list | grep ignite
-
-Each feature installs the corresponding ignite module + its dependencies.
-
-We include an global feature with name 'ignite-all' that collectively installs 
all Ignite features at once.
diff --git a/modules/osgi-karaf/licenses/apache-2.0.txt 
b/modules/osgi-karaf/licenses/apache-2.0.txt
deleted file mode 100644
index d6456956733..00000000000
--- a/modules/osgi-karaf/licenses/apache-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/modules/osgi-karaf/pom.xml b/modules/osgi-karaf/pom.xml
deleted file mode 100644
index 5ff6843f49d..00000000000
--- a/modules/osgi-karaf/pom.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<!--
-    POM file.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.ignite</groupId>
-        <artifactId>ignite-parent-internal</artifactId>
-        <version>${revision}</version>
-        <relativePath>../../parent-internal/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>ignite-osgi-karaf</artifactId>
-
-    <packaging>pom</packaging>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>filter</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>resources</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>attach-artifacts</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>attach-artifact</goal>
-                        </goals>
-                        <configuration>
-                            <artifacts>
-                                <artifact>
-                                    <file>target/classes/features.xml</file>
-                                    <type>xml</type>
-                                    <classifier>features</classifier>
-                                </artifact>
-                            </artifacts>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <version>2.8.2</version>
-                <configuration>
-                    <skip>false</skip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/modules/osgi-karaf/src/main/resources/features.xml 
b/modules/osgi-karaf/src/main/resources/features.xml
deleted file mode 100644
index 6cc0d31bf77..00000000000
--- a/modules/osgi-karaf/src/main/resources/features.xml
+++ /dev/null
@@ -1,284 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<features name="ignite" xmlns="http://karaf.apache.org/xmlns/features/v1.3.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-    xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 
http://karaf.apache.org/xmlns/features/v1.3.0";>
-
-    <feature name="ignite-all" version="${project.version}" 
description="Apache Ignite :: All">
-        <details>
-            <![CDATA[Aggregate feature for installing all Apache Ignite module 
+ their dependencies.
-            
-            NOTE #1: Due to a bug in Apache Karaf (KARAF-4129), you must 
install the ignite-log4j feature explicitly and then either:
-            - manually refresh the pax-logging-api framework bundle  - or - 
-            - restart the Apache Karaf container.
-            You may safely ignore the 'Resource has no uri' exception if you 
follow this method.
-
-            NOTE #2: This feature *does not* include components that depend on 
LGPL software.]]>
-        </details>
-        <feature>ignite-core</feature>
-        <feature>ignite-camel-ext</feature>
-        <feature>ignite-flume-ext</feature>
-        <feature>ignite-indexing</feature>
-        <feature>ignite-jcl</feature>
-        <feature>ignite-jms11-ext</feature>
-        <feature>ignite-jta</feature>
-        <feature>ignite-kafka-ext</feature>
-        <feature>ignite-mqtt-ext</feature>
-        <!-- KARAF-4129 Karaf feature containing a fragment that attaches to 
pax-logging-api cannot be installed
-        <feature>ignite-log4j</feature>-->
-        <feature>ignite-rest-http</feature>
-        <feature>ignite-schedule</feature>
-        <feature>ignite-slf4j</feature>
-        <feature>ignite-spring</feature>
-        <feature>ignite-ssh</feature>
-        <feature>ignite-twitter-ext</feature>
-        <feature>ignite-urideploy</feature>
-        <feature>ignite-web</feature>
-        <feature>ignite-zookeeper</feature>
-    </feature>
-
-    <feature name="ignite-core" version="${project.version}" 
description="Apache Ignite :: Core">
-        <details><![CDATA[The Apache Ignite core module. This feature also 
installs the JCache 1.0 specification API.]]></details>
-        <bundle start="true" 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-cache-api/${javax.cache.bundle.version}</bundle>
-        <bundle 
dependency="true">mvn:org.apache.ignite/ignite-osgi/${project.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-core/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-camel-ext" version="${ignite-camel-ext.version}" 
description="Apache Ignite :: Camel">
-        <details>
-            <![CDATA[The Apache Ignite Camel module.
-
-            Make sure to install the Apache Camel feature repository before 
installing this feature.
-
-                
mvn:org.apache.camel.karaf/apache-camel/\${camel.version}/xml/features
-            
-            Installing this feature will trigger the installation of the 
'camel-core' feature from the Camel repository.]]>
-        </details>
-        <feature>camel-core</feature>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-camel-ext/${ignite-camel-ext.version}</bundle>
-    </feature>
-
-    <feature name="ignite-flume-ext" version="${ignite-flume-ext.version}" 
description="Apache Ignite :: Flume">
-        <details>
-            <![CDATA[The Apache Ignite Flume module + dependencies.]]>
-        </details>
-        <feature prerequisite="true">wrap</feature>
-        <bundle start="true" 
dependency="true">wrap:mvn:org.apache.flume/flume-ng-core/${flume.ng.version}$Bundle-SymbolicName=flume-ng-core&amp;Bundle-Version=${flume.ng.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-flume-ext/${ignite-flume-ext.version}</bundle>
-    </feature>
-
-    <feature name="ignite-indexing" version="${project.version}" 
description="Apache Ignite :: Indexing">
-        <details>
-            <![CDATA[The Apache Ignite Indexing module + dependencies. This 
module is a fragment of ignite-core. 
-            
-            Be sure to refresh ignite-core manually in case it is not 
refreshed automatically.]]>
-        </details>
-        <feature prerequisite="true">wrap</feature>
-        <bundle start="true" 
dependency="true">mvn:org.osgi/org.osgi.enterprise/${osgi.enterprise.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene/${lucene.bundle.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:com.h2database/h2/${h2.version}$overwrite=merge&amp;Export-Package=*;version=&quot;${h2.version}&quot;</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:org.apache.lucene/lucene-analyzers-common/${lucene.version}$Bundle-SymbolicName=lucene-analyzers-common&amp;Bundle-Version=${lucene.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:org.apache.lucene/lucene-queryparser/${lucene.version}$Bundle-SymbolicName=lucene-queryparser&amp;Bundle-Version=${lucene.version}</bundle>
-        <bundle 
start="false">mvn:org.apache.ignite/ignite-indexing/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-jcl" version="${project.version}" 
description="Apache Ignite :: JCL">
-        <details>
-            <![CDATA[The Apache Ignite JCL integration module. In Apache 
Karaf, this module will integrate with Pax Logging.]]>
-        </details>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-jcl/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-jms11-ext" version="${ignite-jms11-ext.version}" 
description="Apache Ignite :: JMS 1.1">
-        <details>
-            <![CDATA[The Apache Ignite JMS 1.1 module. Make sure to install 
your broker's JMS client bundle as well.]]>
-        </details>
-        <bundle start="true" 
dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${jms.spec.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-jms11-ext/${ignite-jms11-ext.version}</bundle>
-    </feature>
-
-    <feature name="ignite-jta" version="${project.version}" 
description="Apache Ignite :: JTA">
-        <details>
-            <![CDATA[The Apache Ignite JTA module + dependencies. This module 
is a fragment of ignite-core. 
-            
-            Be sure to refresh ignite-core manually in case it is not 
refreshed automatically.
-            
-            Installing this feature will trigger the installation of the 
'transaction' feature from the Apache Karaf distribution.]]>
-        </details>
-        <feature dependency="true">transaction</feature>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-jta/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-kafka-ext" version="${ignite-kafka-ext.version}" 
description="Apache Ignite :: Kafka">
-        <details>
-            <![CDATA[The Apache Ignite Kafka module + dependencies. This 
module installs the Scala 2.11 library bundle.]]>
-        </details>
-        <feature prerequisite="true">wrap</feature>
-        <bundle start="true" 
dependency="true">mvn:org.scala-lang/scala-library/${scala.library.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:com.yammer.metrics/metrics-core/${yammer.metrics.core.version}$Bundle-SymbolicName=yammer-metrics-core&amp;Bundle-Version=2.2.0&amp;Export-Package=*;-noimport:=true;version=${yammer.metrics.core.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:com.yammer.metrics/metrics-annotation/${yammer.metrics.annotation.version}$Bundle-SymbolicName=yammer-metrics-annotation&amp;Bundle-Version=2.2.0&amp;Export-Package=*;-noimport:=true;version=${yammer.metrics.annotation.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:org.apache.kafka/connect-api/${kafka.version}$Bundle-SymbolicName=connect-api&amp;Bundle-Version=${kafka.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:org.apache.kafka/kafka_2.11/${kafka.version}$Bundle-SymbolicName=kafka_2.11&amp;Bundle-Version=${kafka.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:org.apache.kafka/kafka-clients/${kafka.version}$Bundle-SymbolicName=kafka-clients&amp;Bundle-Version=${kafka.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-kafka-ext/${ignite-kafka-ext.version}</bundle>
-    </feature>
-
-    <feature name="ignite-log4j" version="${project.version}" 
description="Apache Ignite :: log4j">
-        <details>
-            <![CDATA[The Apache Ignite log4j module + dependencies. 
-            
-            This module installs an OSGi fragment that exposes extra packages 
from the Pax Logging bundle required by Ignite. 
-            
-            Be sure to refresh the Pax Logging bundles manually in case this 
does not happen automatically.]]>
-        </details>
-        <bundle dependency="true" 
start-level="8">mvn:org.apache.ignite/ignite-osgi-paxlogging/${project.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-log4j/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-mqtt-ext" version="${ignite-mqtt-ext.version}" 
description="Apache Ignite :: MQTT">
-        <details>
-            <![CDATA[The Apache Ignite MQTT module + dependencies.]]>
-        </details>
-        <feature prerequisite="true">wrap</feature>
-        <bundle start="true" 
dependency="true">mvn:com.google.guava/guava/${guava.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:org.eclipse.paho/org.eclipse.paho.client.mqttv3/${paho.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:com.github.rholder/guava-retrying/${guava.retrying.version}$Bundle-SymbolicName=guava-retrying&amp;Bundle-SymbolicName=guava-retrying&amp;Bundle-Version=${guava.retrying.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-mqtt-ext/${ignite-mqtt-ext.version}</bundle>
-    </feature>   
-
-    <feature name="ignite-rest-http" version="${project.version}" 
description="Apache Ignite :: REST HTTP">
-         <!-- NOTICE: XOM cannot be included by default due to an incompatible 
license;
-                      please review its license model and install the 
dependency manually if you agree. -->
-        <details>
-            <![CDATA[The Apache Ignite REST HTTP module + dependencies.
-
-            Installing this feature will trigger the installation of the 
'http' feature from the Apache Karaf distribution.
-
-            NOTE: Before using this feature you must review the license of the 
XOM bundle and install it manually if you accept it:
-            install -s mvn:xom/xom/1.2.5]]>
-        </details>
-        <feature dependency="true">http</feature>
-        <bundle start="true" 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:commons-lang/commons-lang/${commons.lang.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:commons-collections/commons-collections/${commons.collections.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-rest-http/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-schedule" version="${project.version}" 
description="Apache Ignite :: Schedule">
-        <details>
-            <![CDATA[The Apache Ignite Schedule module + dependencies. This 
module is a fragment of ignite-core.]]>
-        </details>
-        <feature prerequisite="true">wrap</feature>
-        <bundle start="true" 
dependency="true">wrap:mvn:it.sauronsoftware.cron4j/cron4j/${cron4j.version}$Bundle-SymbolicName=cron4j&amp;Bundle-Version=${cron4j.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-schedule/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-slf4j" version="${project.version}" 
description="Apache Ignite :: slf4j">
-        <details>
-            <![CDATA[The Apache Ignite slf4j module.]]>
-        </details>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-slf4j/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-spring" version="${project.version}" 
description="Apache Ignite :: Spring Support">
-        <details>
-            <![CDATA[The Apache Ignite Spring integration module + 
dependencies. This module is a fragment of ignite-core. 
-            
-            Be sure to refresh ignite-core in case it is not refreshed 
automatically.
-            
-            This feature installs the following features from the Apache Karaf 
distribution:
-              - spring
-              - spring-aspects
-              - spring-tx
-              - spring-jdbc
-              
-            With version range: [${spring41.osgi.feature.version},4.2).]]>
-        </details>
-        <feature dependency="true" 
version="[${spring41.osgi.feature.version},4.2)">spring</feature>
-        <feature dependency="true" 
version="[${spring41.osgi.feature.version},4.2)">spring-aspects</feature>
-        <feature dependency="true" 
version="[${spring41.osgi.feature.version},4.2)">spring-tx</feature>
-        <feature dependency="true" 
version="[${spring41.osgi.feature.version},4.2)">spring-jdbc</feature>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-spring/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-ssh" version="${project.version}" 
description="Apache Ignite :: SSH">
-        <details>
-            <![CDATA[The Apache Ignite SSH module + dependencies.]]>
-        </details>
-        <bundle start="true" 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch.bundle.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-ssh/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-twitter-ext" version="${ignite-twitter-ext.version}" 
description="Apache Ignite :: Twitter">
-        <details>
-            <![CDATA[The Apache Ignite Twitter module + dependencies.]]>
-        </details>
-        <feature prerequisite="true">wrap</feature>
-        <bundle start="true" 
dependency="true">mvn:com.google.guava/guava/${guava14.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:com.twitter/hbc-core/${twitter.hbc.version}$Bundle-SymbolicName=Hosebird
 Client Core&amp;Bundle-Version=${twitter.hbc.version}</bundle>
-        <bundle start="true" 
dependency="true">wrap:mvn:com.twitter/hbc-twitter4j/${twitter.hbc.version}$Bundle-SymbolicName=Hosebird
 Client Twitter4J&amp;Bundle-Version=${twitter.hbc.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-twitter-ext/${ignite-twitter-ext.version}</bundle>
-    </feature>
-
-    <feature name="ignite-urideploy" version="${project.version}" 
description="Apache Ignite :: URI Deploy">
-        <details>
-            <![CDATA[The Apache Ignite URI Deploy module + dependencies.
-            
-            This feature installs the following features from the Apache Karaf 
distribution:
-              - spring
-              - spring-aspects
-              - spring-tx
-              
-            With version range: [${spring41.osgi.feature.version},4.2).]]>
-        </details>
-        <feature prerequisite="true">wrap</feature>
-        <feature dependency="true" 
version="[${spring41.osgi.feature.version},4.2)">spring</feature>
-        <feature dependency="true" 
version="[${spring41.osgi.feature.version},4.2)">spring-aspects</feature>
-        <feature dependency="true" 
version="[${spring41.osgi.feature.version},4.2)">spring-tx</feature>
-        <bundle start="true" 
dependency="true">wrap:mvn:net.sf.jtidy/jtidy/${jtidy.version}$Bundle-SymbolicName=JTidy&amp;Bundle-Version=938</bundle>
-        <bundle start="true" 
dependency="true">mvn:commons-codec/commons-codec/${commons.codec.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-urideploy/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-web" version="${project.version}" 
description="Apache Ignite :: Web">
-        <details>
-            <![CDATA[The Apache Ignite Web module + dependencies.
-            
-            This feature installs the 'http' feature from the Apache Karaf 
distribution.]]>
-        </details>
-        <feature dependency="true">http</feature>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-web/${project.version}</bundle>
-    </feature>
-
-    <feature name="ignite-zookeeper" version="${project.version}" 
description="Apache Ignite :: ZooKeeper">
-        <details>
-            <![CDATA[The Apache Ignite ZooKeeper module + dependencies.]]>
-        </details>
-        <bundle start="true" 
dependency="true">mvn:org.apache.zookeeper/zookeeper/${zookeeper.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:com.google.guava/guava/${guava16.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:org.apache.curator/curator-client/${curator.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:org.apache.curator/curator-framework/${curator.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:org.apache.curator/curator-recipes/${curator.version}</bundle>
-        <bundle start="true" 
dependency="true">mvn:org.apache.curator/curator-x-discovery/${curator.version}</bundle>
-        <bundle 
start="true">mvn:org.apache.ignite/ignite-zookeeper/${project.version}</bundle>
-    </feature>
-
-</features>
diff --git a/modules/osgi-paxlogging/README.txt 
b/modules/osgi-paxlogging/README.txt
deleted file mode 100644
index f6346f10133..00000000000
--- a/modules/osgi-paxlogging/README.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-Apache Ignite OSGi Pax Logging Fragment Module
-----------------------------------------------
-
-This module is an OSGi fragment that exposes the following packages from the 
Pax Logging API bundle:
-
-  - org.apache.log4j.varia
-  - org.apache.log4j.xml
-
-These packages are required when installing the ignite-log4j bundle, and are 
not exposed by default
-by the Pax Logging API - the logging framework used by Apache Karaf.
-
-This fragment exposes them.
diff --git a/modules/osgi-paxlogging/licenses/apache-2.0.txt 
b/modules/osgi-paxlogging/licenses/apache-2.0.txt
deleted file mode 100644
index d6456956733..00000000000
--- a/modules/osgi-paxlogging/licenses/apache-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/modules/osgi-paxlogging/pom.xml b/modules/osgi-paxlogging/pom.xml
deleted file mode 100644
index 09a9bf7a1d2..00000000000
--- a/modules/osgi-paxlogging/pom.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<!--
-    POM file.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.ignite</groupId>
-        <artifactId>ignite-parent-internal</artifactId>
-        <version>${revision}</version>
-        <relativePath>../../parent-internal/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>ignite-osgi-paxlogging</artifactId>
-
-    <packaging>jar</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>${maven.bundle.plugin.version}</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        
<Fragment-Host>org.ops4j.pax.logging.pax-logging-api</Fragment-Host>
-                        <Export-Package>
-                            org.apache.log4j.varia;-noimport:=true,
-                            org.apache.log4j.xml;-noimport:=true
-                        </Export-Package>
-                        <Import-Package>!*</Import-Package>
-                        <_invalidfilenames />
-                        <_nodefaultversion>true</_nodefaultversion>
-                    </instructions>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <version>2.8.2</version>
-                <configuration>
-                    <skip>false</skip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/modules/osgi/README.txt b/modules/osgi/README.txt
deleted file mode 100644
index 439c450fb01..00000000000
--- a/modules/osgi/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-Apache Ignite OSGi Integration Module
--------------------------------------
-
-This module provides the bridging components to make Apache Ignite run 
seamlessly inside an OSGi container
-like Apache Karaf. It provides a Bundle Activator to initialize Ignite, along 
with different classloaders
-facilitate class resolution within an OSGi environment.
-
-If using Ignite within Apache Karaf, please refer to the osgi-karaf and 
osgi-paxlogging modules too:
-
-  - osgi-karaf contains a feature repository to facilitate installing Ignite 
into a Karaf container.
-  - osgi-paxlogging contains an OSGi fragment required to make pax-logging-api 
expose certain log4j packages
-    required by ignite-log4j
-
-Importing the ignite-osgi module in a Maven project
----------------------------------------------------
-
-If you are using Maven to manage dependencies of your project, you can add the 
ignite-osgi module
-dependency like this (replace '${ignite.version}' with actual Ignite version 
you are interested in):
-
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                        http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    ...
-    <dependencies>
-        ...
-        <dependency>
-            <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-osgi</artifactId>
-            <version>${ignite.version}</version>
-        </dependency>
-        ...
-    </dependencies>
-    ...
-</project>
diff --git a/modules/osgi/licenses/apache-2.0.txt 
b/modules/osgi/licenses/apache-2.0.txt
deleted file mode 100644
index d6456956733..00000000000
--- a/modules/osgi/licenses/apache-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/modules/osgi/pom.xml b/modules/osgi/pom.xml
deleted file mode 100644
index b72aaf31680..00000000000
--- a/modules/osgi/pom.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<!--
-    POM file.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.ignite</groupId>
-        <artifactId>ignite-parent-internal</artifactId>
-        <version>${revision}</version>
-        <relativePath>../../parent-internal/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>ignite-osgi</artifactId>
-
-    <url>http://ignite.apache.org</url>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-core</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>${osgi.core.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam</artifactId>
-            <version>4.6.0</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-junit4</artifactId>
-            <version>4.6.0</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-container-karaf</artifactId>
-            <version>4.6.0</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.karaf</groupId>
-            <artifactId>apache-karaf</artifactId>
-            <version>${karaf.version}</version>
-            <type>tar.gz</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>javax.inject</groupId>
-            <artifactId>javax.inject</artifactId>
-            <version>1</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.ops4j.pax.url</groupId>
-            <artifactId>pax-url-aether</artifactId>
-            <version>2.4.3</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-tools</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>test-jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <!-- Generate the OSGi MANIFEST.MF for this bundle.
-                 This bundle is a fragment attached to the ignite-core bundle, 
as it contains and exports classes in
-                 the org.apache.ignite.internal.processors.query.h2.opt, thus 
leading to a split package situation in OSGi.
-                 It also contains an internal processor.
-            -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        
<Fragment-Host>${project.groupId}.ignite-core</Fragment-Host>
-                    </instructions>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.servicemix.tooling</groupId>
-                <artifactId>depends-maven-plugin</artifactId>
-                <version>1.3.1</version>
-                <executions>
-                    <execution>
-                        <id>generate-depends-file</id>
-                        <goals>
-                            <goal>generate-depends-file</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <systemProperties>
-                        <property>
-                            <name>karafVersion</name>
-                            <value>${karaf.version}</value>
-                        </property>
-                        <property>
-                            <name>projectVersion</name>
-                            <value>${project.version}</value>
-                        </property>
-                        <property>
-                            <name>camelVersion</name>
-                            <value>${camel.version}</value>
-                        </property>
-                    </systemProperties>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <version>2.8.2</version>
-                <configuration>
-                    <skip>false</skip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteAbstractOsgiContextActivator.java
 
b/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteAbstractOsgiContextActivator.java
deleted file mode 100644
index 289d86f2672..00000000000
--- 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteAbstractOsgiContextActivator.java
+++ /dev/null
@@ -1,239 +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.
- */
-
-package org.apache.ignite.osgi;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.util.typedef.internal.A;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.osgi.classloaders.BundleDelegatingClassLoader;
-import org.apache.ignite.osgi.classloaders.ContainerSweepClassLoader;
-import org.apache.ignite.osgi.classloaders.OsgiClassLoadingStrategyType;
-import org.jetbrains.annotations.Nullable;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * This {@link BundleActivator} starts Apache Ignite inside the OSGi container 
when the bundle is started.
- * <p>
- * Create an implementation of this class and set the {@code Bundle-Activator} 
OSGi Manifest header to the FQN of
- * your class.
- * <p>
- * You must provide the {@link IgniteConfiguration} to start by implementing 
the {@link #igniteConfiguration()}
- * abstract method. The return value of this method cannot be {@code null}. 
For example, if your implementation is
- * called {@code org.myorg.osgi.IgniteActivator}, your bundle must provide the 
following header:
- * <pre>
- * Bundle-Activator: org.myorg.osgi.IgniteActivator
- * </pre>
- * You may use the
- * <a 
href="https://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html";>Maven
- * Bundle Plugin</a> to generate your bundle (or bundle manifest), including 
the required header.
- * <p>
- * This activator also exports the Ignite instance as an OSGi service, with 
the property {@code ignite.name} set
- * to the value of {@link Ignite#name()}, if and only if the name is not null.
- * <p>
- * Currently, Ignite only allows a single instance per container. We may 
remove this limitation if enough demand
- * builds up in the community.
- *
- * @see <a href="http://wiki.osgi.org/wiki/Bundle-Activator";>Bundle-Activator 
OSGi Manifest header</a>
- *
- */
-public abstract class IgniteAbstractOsgiContextActivator implements 
BundleActivator {
-    /** OSGI service property name. */
-    public static final String OSGI_SERVICE_PROP_IGNITE_NAME = "ignite.name";
-
-    /** The instance of Ignite started by this Activator. */
-    protected Ignite ignite;
-
-    /** Our bundle context. */
-    private BundleContext bundleCtx;
-
-    /** Ignite logger. */
-    private IgniteLogger log;
-
-    /**
-     * Method invoked by OSGi to start the bundle. It starts the specified 
Ignite configuration.
-     *
-     * @param ctx Bundle context.
-     * @throws Exception
-     */
-    @Override public final void start(BundleContext ctx) throws Exception {
-        // Ensure that no other instances are running.
-        if (IgniteOsgiUtils.gridCount() > 0) {
-            throw new IgniteException("Failed to start Ignite instance 
(another instance is already running " +
-                "and ignite-osgi is currently limited to a single instance per 
container).");
-        }
-
-        bundleCtx = ctx;
-
-        // Start the Ignite configuration specified by the user.
-        IgniteConfiguration cfg = igniteConfiguration();
-
-        A.notNull(cfg, "Ignite configuration");
-
-        // Override the classloader with the classloading strategy chosen by 
the user.
-        ClassLoader clsLdr;
-
-        if (classLoadingStrategy() == 
OsgiClassLoadingStrategyType.BUNDLE_DELEGATING)
-            clsLdr = new BundleDelegatingClassLoader(bundleCtx.getBundle(), 
Ignite.class.getClassLoader());
-        else
-            clsLdr = new ContainerSweepClassLoader(bundleCtx.getBundle(), 
Ignite.class.getClassLoader());
-
-        cfg.setClassLoader(clsLdr);
-
-        onBeforeStart(ctx);
-
-        // Start Ignite.
-        try {
-            ignite = Ignition.start(cfg);
-        }
-        catch (Throwable t) {
-            U.error(log, "Failed to start Ignite via OSGi Activator [errMsg=" 
+ t.getMessage() + ']', t);
-
-            onAfterStart(ctx, t);
-
-            return;
-        }
-
-        log = ignite.log();
-
-        if (log.isInfoEnabled())
-            log.info("Started Ignite from OSGi Activator [name=" + 
ignite.name() + ']');
-
-        // Add into Ignite's OSGi registry.
-        IgniteOsgiUtils.classloaders().put(ignite, clsLdr);
-
-        // Export Ignite as a service.
-        exportOsgiService(ignite);
-
-        onAfterStart(ctx, null);
-    }
-
-    /**
-     * Stops Ignite when the bundle is stopping.
-     *
-     * @param ctx Bundle context.
-     * @throws Exception If failed.
-     */
-    @Override public final void stop(BundleContext ctx) throws Exception {
-        onBeforeStop(ctx);
-
-        try {
-            ignite.close();
-        }
-        catch (Throwable t) {
-            U.error(log, "Failed to stop Ignite via OSGi Activator [errMsg=" + 
t.getMessage() + ']', t);
-
-            onAfterStop(ctx, t);
-
-            return;
-        }
-
-        if (log.isInfoEnabled())
-            log.info("Stopped Ignite from OSGi Activator [name=" + 
ignite.name() + ']');
-
-        IgniteOsgiUtils.classloaders().remove(ignite);
-
-        onAfterStop(ctx, null);
-    }
-
-    /**
-     * This method is called before Ignite initialises.
-     * <p>
-     * The default implementation is empty. Override it to introduce custom 
logic.
-     *
-     * @param ctx The {@link BundleContext}.
-     */
-    protected void onBeforeStart(BundleContext ctx) {
-        // No-op.
-    }
-
-    /**
-     * This method is called after Ignite initialises, only if initialization 
succeeded.
-     * <p>
-     * The default implementation is empty. Override it to introduce custom 
logic.
-     *
-     * @param ctx The {@link BundleContext}.
-     * @param t Throwable in case an error occurred when starting. {@code 
null} otherwise.
-     */
-    protected void onAfterStart(BundleContext ctx, @Nullable Throwable t) {
-        // No-op.
-    }
-
-    /**
-     * This method is called before Ignite stops.
-     * <p>
-     * The default implementation is empty. Override it to introduce custom 
logic.
-     *
-     * @param ctx The {@link BundleContext}.
-     */
-    protected void onBeforeStop(BundleContext ctx) {
-        // No-op.
-    }
-
-    /**
-     * This method is called after Ignite stops, only if the operation 
succeeded.
-     * <p>
-     * The default implementation is empty. Override it to introduce custom 
logic.
-     *
-     * @param ctx The {@link BundleContext}.
-     * @param t Throwable in case an error occurred when stopping. {@code 
null} otherwise.
-     */
-    protected void onAfterStop(BundleContext ctx, @Nullable Throwable t) {
-        // No-op.
-    }
-
-    /**
-     * Override this method to provide the Ignite configuration this bundle 
will start.
-     *
-     * @return The Ignite configuration.
-     */
-    public abstract IgniteConfiguration igniteConfiguration();
-
-    /**
-     * Override this method to indicate which classloading strategy to use.
-     *
-     * @return The strategy.
-     */
-    public OsgiClassLoadingStrategyType classLoadingStrategy() {
-        return OsgiClassLoadingStrategyType.BUNDLE_DELEGATING;
-    }
-
-    /**
-     * Exports the Ignite instance onto the OSGi Service Registry.
-     *
-     * @param ignite Ignite.
-     */
-    private void exportOsgiService(Ignite ignite) {
-        Dictionary<String, String> dict = new Hashtable<>();
-
-        // Only add the service property if the Ignite instance name != null.
-        if (ignite.name() != null)
-            dict.put(OSGI_SERVICE_PROP_IGNITE_NAME, ignite.name());
-
-        bundleCtx.registerService(Ignite.class, ignite, dict);
-
-        if (log.isInfoEnabled())
-            log.info("Exported OSGi service for Ignite with properties: " + 
dict);
-    }
-}
diff --git 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java 
b/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java
deleted file mode 100644
index 7cf112f022b..00000000000
--- a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteOsgiUtils.java
+++ /dev/null
@@ -1,69 +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.
- */
-
-package org.apache.ignite.osgi;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import org.apache.ignite.Ignite;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * Helper class for OSGi.
- */
-public class IgniteOsgiUtils {
-    /** Whether we are running in an OSGi container. */
-    private static boolean osgi = 
FrameworkUtil.getBundle(IgniteOsgiUtils.class) != null;
-
-    /** Maps Ignite instances to the ClassLoaders of the bundles they were 
started from. */
-    private static final ConcurrentMap<Ignite, ClassLoader> CLASSLOADERS = new 
ConcurrentHashMap<>();
-
-    /**
-     * Private constructor.
-     */
-    private IgniteOsgiUtils() { }
-
-    /**
-     * Returns whether we are running in an OSGi environment.
-     *
-     * @return {@code true/false}.
-     */
-    public static boolean isOsgi() {
-        return osgi;
-    }
-
-    /**
-     * Returns a {@link Map} of {@link Ignite} instances and the classloaders 
of the {@link Bundle}s they were
-     * started from.
-     *
-     * @return The {@link Map}.
-     */
-    protected static Map<Ignite, ClassLoader> classloaders() {
-        return CLASSLOADERS;
-    }
-
-    /**
-     * Returns the number of grids currently running in this OSGi container.
-     *
-     * @return The grid count.
-     */
-    public static int gridCount() {
-        return CLASSLOADERS.size();
-    }
-}
diff --git 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/BundleDelegatingClassLoader.java
 
b/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/BundleDelegatingClassLoader.java
deleted file mode 100644
index 36f1856697a..00000000000
--- 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/BundleDelegatingClassLoader.java
+++ /dev/null
@@ -1,134 +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.
- */
-
-package org.apache.ignite.osgi.classloaders;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-import org.apache.ignite.internal.util.tostring.GridToStringExclude;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.osgi.framework.Bundle;
-
-/**
- * A {@link ClassLoader} implementation delegating to a given OSGi bundle, and 
to the specified {@link ClassLoader}
- * as a fallback.
- */
-public class BundleDelegatingClassLoader extends ClassLoader {
-    /** The bundle which loaded Ignite. */
-    protected final Bundle bundle;
-
-    /** The fallback classloader, expected to be the ignite-core classloader. 
*/
-    @GridToStringExclude
-    protected final ClassLoader clsLdr;
-
-    /**
-     * Constructor.
-     *
-     * @param bundle The bundle
-     */
-    public BundleDelegatingClassLoader(Bundle bundle) {
-        this(bundle, null);
-    }
-
-    /**
-     * Constructor.
-     *
-     * @param bundle The bundle.
-     * @param classLoader Fallback classloader.
-     */
-    public BundleDelegatingClassLoader(Bundle bundle, ClassLoader classLoader) 
{
-        this.bundle = bundle;
-        this.clsLdr = classLoader;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected Class<?> findClass(String name) throws 
ClassNotFoundException {
-        return bundle.loadClass(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected URL findResource(String name) {
-        URL resource = bundle.getResource(name);
-
-        if (resource == null && clsLdr != null)
-            resource = clsLdr.getResource(name);
-
-        return resource;
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"unchecked", "rawtypes"})
-    @Override protected Enumeration findResources(String name) throws 
IOException {
-        return bundle.getResources(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected Class<?> loadClass(String name, boolean resolve) 
throws ClassNotFoundException {
-        Class<?> cls;
-
-        try {
-            cls = findClass(name);
-        }
-        catch (ClassNotFoundException ignored) {
-            if (clsLdr == null)
-                throw classNotFoundException(name);
-
-            try {
-                cls = clsLdr.loadClass(name);
-            }
-            catch (ClassNotFoundException ignored2) {
-                throw classNotFoundException(name);
-            }
-
-        }
-
-        if (resolve)
-            resolveClass(cls);
-
-        return cls;
-    }
-
-    /**
-     * Returns the {@link Bundle} to which this ClassLoader is associated.
-     *
-     * @return The Bundle.
-     */
-    public Bundle getBundle() {
-        return bundle;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(BundleDelegatingClassLoader.class, this);
-    }
-
-    /**
-     * Builds a {@link ClassNotFoundException}.
-     *
-     * @param clsName Class name.
-     * @return The exception.
-     */
-    protected ClassNotFoundException classNotFoundException(String clsName) {
-        String s = "Failed to resolve class [name=" + clsName +
-            ", bundleId=" + bundle.getBundleId() +
-            ", symbolicName=" + bundle.getSymbolicName() +
-            ", fallbackClsLdr=" + clsLdr + ']';
-
-        return new ClassNotFoundException(s);
-    }
-}
diff --git 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java
 
b/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java
deleted file mode 100644
index 54e96990a77..00000000000
--- 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/ContainerSweepClassLoader.java
+++ /dev/null
@@ -1,134 +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.
- */
-
-package org.apache.ignite.osgi.classloaders;
-
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import org.apache.ignite.internal.util.GridConcurrentHashSet;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.Constants;
-
-/**
- * A {@link ClassLoader} implementation that first attempts to load the class 
from the associated {@link Bundle}. As
- * a fallback, it sweeps the entire OSGi container to find the requested 
class, returning the first hit.
- * <p>
- * It keeps a cache of resolved classes and unresolvable classes, in order to 
optimize subsequent lookups.
- */
-public class ContainerSweepClassLoader extends BundleDelegatingClassLoader {
-    /** Classes resolved previously. */
-    private final ConcurrentMap<String, Bundle> resolved = new 
ConcurrentHashMap<>();
-
-    /** Unresolvable classes. */
-    private final Set<String> nonResolvable = new GridConcurrentHashSet<>();
-
-    /**
-     * Constructor with a {@link Bundle} only.
-     *
-     * @param bundle The bundle.
-     */
-    public ContainerSweepClassLoader(Bundle bundle) {
-        super(bundle);
-    }
-
-    /**
-     * Constructor with a {@link Bundle} and another {@link ClassLoader} to 
check.
-     *
-     * @param bundle The bundle.
-     * @param classLoader The other classloader to check.
-     */
-    public ContainerSweepClassLoader(Bundle bundle, ClassLoader classLoader) {
-        super(bundle, classLoader);
-    }
-
-    /**
-     * Runs the same logic to find the class as {@link 
BundleDelegatingClassLoader}, but if not found, sweeps the
-     * OSGi container to locate the first {@link Bundle} that can load the 
class, and uses it to do so.
-     *
-     * @param name The classname.
-     * @param resolve Whether to resolve the class or not.
-     * @return The loaded class.
-     * @throws ClassNotFoundException
-     */
-    @Override protected Class<?> loadClass(String name, boolean resolve) 
throws ClassNotFoundException {
-        // If we know it's not resolvable, throw the exception immediately.
-        if (nonResolvable.contains(name))
-            throw classNotFoundException(name);
-
-        Class<?> cls;
-
-        // First, delegate to super, and return the class if found.
-        try {
-            cls = super.loadClass(name, resolve);
-            return cls;
-        }
-        catch (ClassNotFoundException ignored) {
-            // Continue.
-        }
-
-        // Else, check the cache.
-        if (resolved.containsKey(name))
-            return resolved.get(name).loadClass(name);
-
-        // If still unresolved, sweep the container.
-        cls = sweepContainer(name);
-
-        // If still unresolved, throw the exception.
-        if (cls == null)
-            throw classNotFoundException(name);
-
-        return cls;
-    }
-
-    /**
-     * Sweeps the OSGi container to find the first {@link Bundle} that can 
load the class.
-     *
-     * @param name The classname.
-     * @return The loaded class.
-     */
-    protected Class<?> sweepContainer(String name) {
-        Class<?> cls = null;
-
-        Bundle[] bundles = bundle.getBundleContext().getBundles();
-
-        int bundleIdx = 0;
-
-        for (; bundleIdx < bundles.length; bundleIdx++) {
-            Bundle b = bundles[bundleIdx];
-
-            // Skip bundles that haven't reached RESOLVED state; skip 
fragments.
-            if (b.getState() <= Bundle.RESOLVED || 
b.getHeaders().get(Constants.FRAGMENT_HOST) != null)
-                continue;
-
-            try {
-                cls = b.loadClass(name);
-                break;
-            }
-            catch (ClassNotFoundException ignored) {
-                // No-op.
-            }
-        }
-
-        if (cls == null)
-            nonResolvable.add(name);
-        else
-            resolved.put(name, bundles[bundleIdx]);
-
-        return cls;
-    }
-}
diff --git 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/OsgiClassLoadingStrategyType.java
 
b/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/OsgiClassLoadingStrategyType.java
deleted file mode 100644
index 9afde420b7b..00000000000
--- 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/OsgiClassLoadingStrategyType.java
+++ /dev/null
@@ -1,29 +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.
- */
-
-package org.apache.ignite.osgi.classloaders;
-
-/**
- * Enum for the user to indicate which type of {@link ClassLoader} Ignite 
should use.
- */
-public enum OsgiClassLoadingStrategyType {
-    /** Use this value for {@link BundleDelegatingClassLoader}. */
-    BUNDLE_DELEGATING,
-
-    /** Use this value for {@link ContainerSweepClassLoader}. */
-    CONTAINER_SWEEP
-}
diff --git 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/package-info.java
 
b/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/package-info.java
deleted file mode 100644
index 1eec8b4eb2a..00000000000
--- 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/classloaders/package-info.java
+++ /dev/null
@@ -1,21 +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.
- */
-
-/**
- * Contains implementation of OSGi class loaders.
- */
-package org.apache.ignite.osgi.classloaders;
diff --git 
a/modules/osgi/src/main/java/org/apache/ignite/osgi/package-info.java 
b/modules/osgi/src/main/java/org/apache/ignite/osgi/package-info.java
deleted file mode 100644
index c2f46a294b0..00000000000
--- a/modules/osgi/src/main/java/org/apache/ignite/osgi/package-info.java
+++ /dev/null
@@ -1,21 +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.
- */
-
-/**
- * Contains OSGi related classes.
- */
-package org.apache.ignite.osgi;
diff --git 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java
 
b/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java
deleted file mode 100644
index ba060f18017..00000000000
--- 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java
+++ /dev/null
@@ -1,107 +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.
- */
-
-package org.apache.ignite.osgi;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import javax.inject.Inject;
-import org.apache.karaf.features.FeaturesService;
-import org.junit.runner.RunWith;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.PaxExam;
-import org.ops4j.pax.exam.karaf.options.LogLevelOption;
-import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
-import org.ops4j.pax.exam.spi.reactors.PerMethod;
-import org.osgi.framework.BundleContext;
-
-import static org.ops4j.pax.exam.CoreOptions.junitBundles;
-import static org.ops4j.pax.exam.CoreOptions.maven;
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-import static 
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFileExtend;
-import static 
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
-import static 
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
-import static 
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel;
-
-/**
- * Abstract test class that sets up an Apache Karaf container with Ignite 
installed.
- */
-@RunWith(PaxExam.class)
-@ExamReactorStrategy(PerMethod.class)
-public abstract class AbstractIgniteKarafTest {
-    /** Features we do not expect to be installed. */
-    protected static final Set<String> IGNORED_FEATURES = new 
HashSet<>(Collections.singletonList("ignite-log4j"));
-
-    /** Regex matching ignite features. */
-    protected static final String IGNITE_FEATURES_NAME_REGEX = "ignite.*";
-
-    /** Project version. */
-    protected static final String PROJECT_VERSION = 
System.getProperty("projectVersion");
-
-    /** Pax Exam will inject the Bundle Context here. */
-    @Inject
-    protected BundleContext bundleCtx;
-
-    /** Pax Exam will inject the Karaf Features Service. */
-    @Inject
-    protected FeaturesService featuresSvc;
-
-    /**
-     * Base configuration for a Karaf container running the specified Ignite 
features.
-     *
-     * @return The configuration.
-     */
-    public Option[] baseConfig() {
-        return options(
-
-            // Specify which version of Karaf to use.
-            karafDistributionConfiguration()
-                
.frameworkUrl(maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("tar.gz")
-                    .versionAsInProject())
-                .karafVersion(System.getProperty("karafVersion"))
-                .useDeployFolder(false)
-                .unpackDirectory(new File("target/paxexam/unpack")),
-
-            // Add JUnit bundles.
-            junitBundles(),
-
-            // Add the additional JRE exports that Ignite requires.
-            editConfigurationFileExtend("etc/jre.properties", "jre-1.7", 
"sun.nio.ch"),
-            editConfigurationFileExtend("etc/jre.properties", "jre-1.8", 
"sun.nio.ch"),
-
-            // Make log level INFO.
-            logLevel(LogLevelOption.LogLevel.INFO),
-
-            // Add our features repository.
-            features(mavenBundle()
-                    
.groupId("org.apache.ignite").artifactId("ignite-osgi-karaf")
-                    
.version(System.getProperty("projectVersion")).type("xml/features"),
-                featuresToInstall().toArray(new String[0])),
-
-            // Propagate the projectVersion system property.
-            
systemProperty("projectVersion").value(System.getProperty("projectVersion"))
-        );
-    }
-
-    /** */
-    protected abstract List<String> featuresToInstall();
-}
diff --git 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteKarafFeaturesInstallationTest.java
 
b/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteKarafFeaturesInstallationTest.java
deleted file mode 100644
index 8ed8d9a9614..00000000000
--- 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteKarafFeaturesInstallationTest.java
+++ /dev/null
@@ -1,102 +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.
- */
-
-package org.apache.ignite.osgi;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import org.apache.karaf.features.Feature;
-import org.junit.Test;
-import org.ops4j.pax.exam.Configuration;
-import org.ops4j.pax.exam.CoreOptions;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.karaf.options.KarafDistributionOption;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.Constants;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Pax Exam test class to check if all features could be resolved and 
installed.
- */
-public class IgniteKarafFeaturesInstallationTest extends 
AbstractIgniteKarafTest {
-    /** Number of features expected to exist. */
-    private static final int EXPECTED_FEATURES = 25;
-
-    /** */
-    private static final String CAMEL_REPO_URI = 
"mvn:org.apache.camel.karaf/apache-camel/" +
-        System.getProperty("camelVersion") + "/xml/features";
-
-    /**
-     * Container configuration.
-     *
-     * @return The configuration.
-     */
-    @Configuration
-    public Option[] config() {
-        List<Option> options = new ArrayList<>(Arrays.asList(baseConfig()));
-
-        options.add(KarafDistributionOption.features(CAMEL_REPO_URI));
-
-        return CoreOptions.options(options.toArray(new Option[0]));
-    }
-
-    /**
-     * @throws Exception
-     */
-    @Test
-    public void testAllBundlesActiveAndFeaturesInstalled() throws Exception {
-        // Asssert all bundles except fragments are ACTIVE.
-        for (Bundle b : bundleCtx.getBundles()) {
-            System.out.println(String.format("Checking state of bundle 
[symbolicName=%s, state=%s]",
-                b.getSymbolicName(), b.getState()));
-
-            if (b.getHeaders().get(Constants.FRAGMENT_HOST) == null)
-                assertTrue(b.getState() == Bundle.ACTIVE);
-        }
-
-        // Check that according to the FeaturesService, all Ignite features 
except ignite-log4j are installed.
-        Feature[] features = 
featuresSvc.getFeatures(IGNITE_FEATURES_NAME_REGEX);
-
-        assertNotNull(features);
-        assertEquals(EXPECTED_FEATURES, features.length);
-
-        for (Feature f : features) {
-            if (IGNORED_FEATURES.contains(f.getName()))
-                continue;
-
-            boolean installed = featuresSvc.isInstalled(f);
-
-            System.out.println(String.format("Checking if feature is installed 
[featureName=%s, installed=%s]",
-                f.getName(), installed));
-
-            assertTrue(installed);
-            assertEquals(PROJECT_VERSION.replaceAll("-", "."), 
f.getVersion().replaceAll("-", "."));
-        }
-    }
-
-    /**
-     * @return Features list.
-     */
-    @Override protected List<String> featuresToInstall() {
-        return Collections.singletonList("ignite-all");
-    }
-}
diff --git 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteOsgiServiceTest.java 
b/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteOsgiServiceTest.java
deleted file mode 100644
index 7b906d2f9a6..00000000000
--- 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteOsgiServiceTest.java
+++ /dev/null
@@ -1,132 +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.
- */
-
-package org.apache.ignite.osgi;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import javax.inject.Inject;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.osgi.activators.BasicIgniteTestActivator;
-import org.apache.ignite.osgi.activators.TestOsgiFlags;
-import org.apache.ignite.osgi.activators.TestOsgiFlagsImpl;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.ops4j.pax.exam.Configuration;
-import org.ops4j.pax.exam.CoreOptions;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.ProbeBuilder;
-import org.ops4j.pax.exam.TestProbeBuilder;
-import org.ops4j.pax.exam.junit.PaxExam;
-import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
-import org.ops4j.pax.exam.spi.reactors.PerMethod;
-import org.ops4j.pax.exam.util.Filter;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.ops4j.pax.exam.CoreOptions.streamBundle;
-import static org.ops4j.pax.tinybundles.core.TinyBundles.bundle;
-import static org.ops4j.pax.tinybundles.core.TinyBundles.withBnd;
-
-/**
- * Pax Exam test class to check whether the Ignite service is exposed properly 
and whether lifecycle callbacks
- * are invoked.
- */
-@RunWith(PaxExam.class)
-@ExamReactorStrategy(PerMethod.class)
-public class IgniteOsgiServiceTest extends AbstractIgniteKarafTest {
-    /** Injects the Ignite OSGi service. */
-    @Inject @Filter("(ignite.name=testGrid)")
-    private Ignite ignite;
-
-    /** */
-    @Inject
-    private BundleContext bundleCtx;
-
-    /**
-     * @return Config.
-     */
-    @Configuration
-    public Option[] bundleDelegatingConfig() {
-        List<Option> options = new ArrayList<>(Arrays.asList(baseConfig()));
-
-        // Add bundles we require.
-        options.add(
-            streamBundle(bundle()
-                .add(BasicIgniteTestActivator.class)
-                .add(TestOsgiFlags.class)
-                .add(TestOsgiFlagsImpl.class)
-                .set(Constants.BUNDLE_SYMBOLICNAME, 
BasicIgniteTestActivator.class.getSimpleName())
-                .set(Constants.BUNDLE_ACTIVATOR, 
BasicIgniteTestActivator.class.getName())
-                .set(Constants.EXPORT_PACKAGE, 
"org.apache.ignite.osgi.activators")
-                .set(Constants.DYNAMICIMPORT_PACKAGE, "*")
-                .build(withBnd())));
-
-        // Uncomment this if you'd like to debug inside the container.
-        // options.add(KarafDistributionOption.debugConfiguration());
-
-        return CoreOptions.options(options.toArray(new Option[0]));
-    }
-
-    /**
-     * Builds the probe.
-     *
-     * @param probe The probe builder.
-     * @return The probe builder.
-     */
-    @ProbeBuilder
-    public TestProbeBuilder probeConfiguration(TestProbeBuilder probe) {
-        probe.setHeader(Constants.IMPORT_PACKAGE, 
"*,org.apache.ignite.osgi.activators;resolution:=\"optional\"");
-
-        return probe;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @Test
-    public void testServiceExposedAndCallbacksInvoked() throws Exception {
-        assertNotNull(ignite);
-        assertEquals("testGrid", ignite.name());
-
-        TestOsgiFlags flags = (TestOsgiFlags)bundleCtx.getService(
-            bundleCtx.getAllServiceReferences(TestOsgiFlags.class.getName(), 
null)[0]);
-
-        assertNotNull(flags);
-        assertEquals(Boolean.TRUE, flags.getOnBeforeStartInvoked());
-        assertEquals(Boolean.TRUE, flags.getOnAfterStartInvoked());
-
-        // The bundle is still not stopped, therefore these callbacks cannot 
be tested.
-        assertNull(flags.getOnBeforeStopInvoked());
-        assertNull(flags.getOnAfterStopInvoked());
-
-        // No exceptions.
-        assertNull(flags.getOnAfterStartThrowable());
-        assertNull(flags.getOnAfterStopThrowable());
-    }
-
-    /**
-     * @return Features.
-     */
-    @Override protected List<String> featuresToInstall() {
-        return Arrays.asList("ignite-core");
-    }
-}
diff --git 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteOsgiTestSuite.java 
b/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteOsgiTestSuite.java
deleted file mode 100644
index 0a3d69c8516..00000000000
--- a/modules/osgi/src/test/java/org/apache/ignite/osgi/IgniteOsgiTestSuite.java
+++ /dev/null
@@ -1,32 +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.
- */
-
-package org.apache.ignite.osgi;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for OSGi-related test cases.
- * <p>
- * NOTE: Have to use JUnit 4 annotations because Pax Exam is built on JUnit 4.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({IgniteOsgiServiceTest.class, 
IgniteKarafFeaturesInstallationTest.class})
-public class IgniteOsgiTestSuite {
-    // No-op.
-}
diff --git 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/BasicIgniteTestActivator.java
 
b/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/BasicIgniteTestActivator.java
deleted file mode 100644
index b43a2f613e0..00000000000
--- 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/BasicIgniteTestActivator.java
+++ /dev/null
@@ -1,76 +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.
- */
-
-package org.apache.ignite.osgi.activators;
-
-import java.util.Hashtable;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.osgi.IgniteAbstractOsgiContextActivator;
-import org.apache.ignite.osgi.classloaders.OsgiClassLoadingStrategyType;
-import org.jetbrains.annotations.Nullable;
-import org.osgi.framework.BundleContext;
-
-/**
- * Basic Ignite Activator for testing.
- */
-public class BasicIgniteTestActivator extends 
IgniteAbstractOsgiContextActivator {
-    /** Flags to report our state to a watcher. */
-    private TestOsgiFlagsImpl flags = new TestOsgiFlagsImpl();
-
-    /**
-     * @return Ignite config.
-     */
-    @Override public IgniteConfiguration igniteConfiguration() {
-        IgniteConfiguration config = new IgniteConfiguration();
-
-        config.setIgniteInstanceName("testGrid");
-
-        return config;
-    }
-
-    /**
-     * @return Strategy.
-     */
-    @Override public OsgiClassLoadingStrategyType classLoadingStrategy() {
-        return OsgiClassLoadingStrategyType.BUNDLE_DELEGATING;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void onBeforeStart(BundleContext ctx) {
-        flags.onBeforeStartInvoked = Boolean.TRUE;
-
-        // Export the flags as an OSGi service.
-        ctx.registerService(TestOsgiFlags.class, flags, new Hashtable<String, 
Object>());
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void onAfterStart(BundleContext ctx, @Nullable 
Throwable t) {
-        flags.onAfterStartInvoked = Boolean.TRUE;
-        flags.onAfterStartThrowable = t;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void onBeforeStop(BundleContext ctx) {
-        flags.onBeforeStopInvoked = Boolean.TRUE;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void onAfterStop(BundleContext ctx, @Nullable 
Throwable t) {
-        flags.onAfterStopInvoked = Boolean.TRUE;
-        flags.onAfterStopThrowable = t;
-    }
-}
diff --git 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/TestOsgiFlags.java
 
b/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/TestOsgiFlags.java
deleted file mode 100644
index 09a2d2969ea..00000000000
--- 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/TestOsgiFlags.java
+++ /dev/null
@@ -1,53 +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.
- */
-
-package org.apache.ignite.osgi.activators;
-
-/**
- * Interface to export the flags in OSGi.
- */
-public interface TestOsgiFlags {
-    /**
-     * @return The flag.
-     */
-    Boolean getOnBeforeStartInvoked();
-
-    /**
-     * @return The flag.
-     */
-    Boolean getOnAfterStartInvoked();
-
-    /**
-     * @return The flag.
-     */
-    Throwable getOnAfterStartThrowable();
-
-    /**
-     * @return The flag.
-     */
-    Boolean getOnBeforeStopInvoked();
-
-    /**
-     * @return The flag.
-     */
-    Boolean getOnAfterStopInvoked();
-
-    /**
-     * @return The flag.
-     */
-    Throwable getOnAfterStopThrowable();
-}
diff --git 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/TestOsgiFlagsImpl.java
 
b/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/TestOsgiFlagsImpl.java
deleted file mode 100644
index ccec2df149b..00000000000
--- 
a/modules/osgi/src/test/java/org/apache/ignite/osgi/activators/TestOsgiFlagsImpl.java
+++ /dev/null
@@ -1,83 +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.
- */
-
-package org.apache.ignite.osgi.activators;
-
-/**
- * Data transfer object representing flags we want to watch from the OSGi 
tests.
- */
-public class TestOsgiFlagsImpl implements TestOsgiFlags {
-    /** onBeforeStartInvoked flag. */
-    public Boolean onBeforeStartInvoked;
-
-    /** onAfterStartInvoked flag. */
-    public Boolean onAfterStartInvoked;
-
-    /** onAfterStartThrowable flag. */
-    public Throwable onAfterStartThrowable;
-
-    /** onBeforeStartInvoked flag. */
-    public Boolean onBeforeStopInvoked;
-
-    /** onAfterStopInvoked flag. */
-    public Boolean onAfterStopInvoked;
-
-    /** onAfterStopThrowable flag. */
-    public Throwable onAfterStopThrowable;
-
-    /**
-     * @return The flag.
-     */
-    @Override public Boolean getOnBeforeStartInvoked() {
-        return onBeforeStartInvoked;
-    }
-
-    /**
-     * @return The flag.
-     */
-    @Override public Boolean getOnAfterStartInvoked() {
-        return onAfterStartInvoked;
-    }
-
-    /**
-     * @return The flag.
-     */
-    @Override public Throwable getOnAfterStartThrowable() {
-        return onAfterStartThrowable;
-    }
-
-    /**
-     * @return The flag.
-     */
-    @Override public Boolean getOnBeforeStopInvoked() {
-        return onBeforeStopInvoked;
-    }
-
-    /**
-     * @return The flag.
-     */
-    @Override public Boolean getOnAfterStopInvoked() {
-        return onAfterStopInvoked;
-    }
-
-    /**
-     * @return The flag.
-     */
-    @Override public Throwable getOnAfterStopThrowable() {
-        return onAfterStopThrowable;
-    }
-}
diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml
index 8f6b63e846f..31b0027f9e1 100644
--- a/modules/rest-http/pom.xml
+++ b/modules/rest-http/pom.xml
@@ -155,12 +155,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/schedule/pom.xml b/modules/schedule/pom.xml
index e8f1641a720..d28da7f4dc0 100644
--- a/modules/schedule/pom.xml
+++ b/modules/schedule/pom.xml
@@ -34,13 +34,6 @@
 
     <url>http://ignite.apache.org</url>
 
-    <properties>
-        <osgi.export.package>
-            org.apache.ignite.internal.processors.schedule,
-            {local-packages}
-        </osgi.export.package>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
@@ -106,18 +99,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this fragment. It is a 
fragment because it contains internal processors
-                 that would be looked up by ignite-core. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        
<Fragment-Host>${project.groupId}.ignite-core</Fragment-Host>
-                    </instructions>
-                </configuration>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/slf4j/pom.xml b/modules/slf4j/pom.xml
index 73a207ce34d..d4f2bd21df0 100644
--- a/modules/slf4j/pom.xml
+++ b/modules/slf4j/pom.xml
@@ -76,12 +76,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/urideploy/pom.xml b/modules/urideploy/pom.xml
index cb582421263..cf8b0f02756 100644
--- a/modules/urideploy/pom.xml
+++ b/modules/urideploy/pom.xml
@@ -152,12 +152,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/web/pom.xml b/modules/web/pom.xml
index beb547e26cb..7b96bd99e0a 100644
--- a/modules/web/pom.xml
+++ b/modules/web/pom.xml
@@ -94,12 +94,6 @@
 
     <build>
         <plugins>
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/modules/zookeeper/pom.xml b/modules/zookeeper/pom.xml
index 56ac335a20b..47cdf40fc6c 100644
--- a/modules/zookeeper/pom.xml
+++ b/modules/zookeeper/pom.xml
@@ -216,12 +216,6 @@
                 </executions>
             </plugin>
 
-            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/parent-internal/pom.xml b/parent-internal/pom.xml
index 6315418976d..7e07ba50583 100644
--- a/parent-internal/pom.xml
+++ b/parent-internal/pom.xml
@@ -226,10 +226,6 @@
                                 <title>Platforms</title>
                                 
<packages>org.apache.ignite.platform*</packages>
                             </group>
-                            <group>
-                                <title>OSGi integration</title>
-                                <packages>org.apache.ignite.osgi*</packages>
-                            </group>
                             <group>
                                 <title>Storm integration</title>
                                 
<packages>org.apache.ignite.stream.storm*</packages>
diff --git a/parent/pom.xml b/parent/pom.xml
index 24f0e2f56f7..2975b7db375 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -72,7 +72,6 @@
         <aspectj.bundle.version>1.8.13_1</aspectj.bundle.version>
         <aspectj.version>1.8.13</aspectj.version>
         <netty.version>4.1.75.Final</netty.version>
-        <camel.version>2.22.0</camel.version>
         <bouncycastle.version>1.69</bouncycastle.version>
         
<commons.beanutils.bundle.version>1.9.2_1</commons.beanutils.bundle.version>
         <commons.beanutils.version>1.9.4</commons.beanutils.version>
@@ -116,7 +115,6 @@
         <jsonlib.version>2.4</jsonlib.version>
         <jtidy.version>r938</jtidy.version>
         <kafka.version>2.0.1</kafka.version>
-        <karaf.version>4.0.2</karaf.version>
         <log4j2.version>2.17.1</log4j2.version>
         <log4j.version>1.2.17</log4j.version>
         <lucene.bundle.version>7.4.0_1</lucene.bundle.version>
@@ -132,8 +130,6 @@
         <mysql.connector.version>8.0.26</mysql.connector.version>
         <netlibjava.version>1.1.2</netlibjava.version>
         <oro.bundle.version>2.0.8_6</oro.bundle.version>
-        <osgi.core.version>5.0.0</osgi.core.version>
-        <osgi.enterprise.version>5.0.0</osgi.enterprise.version>
         <paho.version>1.0.2</paho.version>
         <postgres.connector.version>42.3.3</postgres.connector.version>
         <scala210.jline.version>2.10.7</scala210.jline.version>
@@ -144,7 +140,6 @@
         <slf4j16.version>1.6.4</slf4j16.version>
         <snappy.version>1.1.7.2</snappy.version>
         <spring.version>5.2.21.RELEASE</spring.version>
-        
<spring41.osgi.feature.version>4.1.7.RELEASE_1</spring41.osgi.feature.version>
         <storm.version>1.1.1</storm.version>
         <surefire.version>3.0.0-M4</surefire.version>
         <tomcat.version>9.0.63</tomcat.version>
@@ -165,8 +160,6 @@
         <!-- OSGI Manifest generation default property values -->
         <osgi.import.package>*</osgi.import.package>
         <osgi.export.package>{local-packages}</osgi.export.package>
-        <osgi.embed.transitive>false</osgi.embed.transitive>
-        <osgi.fail.ok>false</osgi.fail.ok>
 
         <flattenMode>clean</flattenMode>
 
@@ -414,10 +407,10 @@
                             <Private-Package>
                                 ${osgi.private.package}
                             </Private-Package>
-                            
<Embed-Dependency>${osgi.embed.dependency}</Embed-Dependency>
+                            <Embed-Dependency>false</Embed-Dependency>
                             <Embed-Directory>lib</Embed-Directory>
-                            
<Embed-Transitive>${osgi.embed.transitive}</Embed-Transitive>
-                            <_failok>${osgi.fail.ok}</_failok>
+                            <Embed-Transitive>false</Embed-Transitive>
+                            <_failok>false</_failok>
                             <_invalidfilenames/>
                         </instructions>
                     </configuration>
@@ -666,6 +659,12 @@
                     </execution>
                 </executions>
             </plugin>
+
+            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/pom.xml b/pom.xml
index 57abf4f02d9..6580e0cdc89 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,9 +61,6 @@
         <module>modules/jcl</module>
         <module>modules/codegen</module>
         <module>modules/zookeeper</module>
-        <module>modules/osgi-paxlogging</module>
-        <module>modules/osgi-karaf</module>
-        <module>modules/osgi</module>
         <module>modules/web/ignite-appserver-test</module>
         <module>modules/web/ignite-websphere-test</module>
         <module>modules/cassandra</module>

Reply via email to