Move java api to extras/
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9
Signed-off-by: Damjan Marion <damarion@cisco.com>
diff --git a/Makefile b/Makefile
index 298046d..f271811 100644
--- a/Makefile
+++ b/Makefile
@@ -382,7 +382,7 @@
$(call test,vpp,vpp,test)
test-ext:
- $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp_debug vom-install,)
+ $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp_debug vom-install japi-install,)
$(eval EXTENDED_TESTS=yes)
$(call test,vpp,vpp_debug,test-ext)
@@ -533,6 +533,8 @@
@make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install
$(call banner,"Building libmemif")
@make -C build-root PLATFORM=vpp TAG=vpp libmemif-install
+ $(call banner,"Building JAPI")
+ @make -C build-root PLATFORM=vpp TAG=vpp japi-install
$(call banner,"Building VOM")
@make -C build-root PLATFORM=vpp TAG=vpp vom-install
$(call banner,"Building $(PKG) packages")
diff --git a/build-data/packages/japi.mk b/build-data/packages/japi.mk
new file mode 100644
index 0000000..d643593
--- /dev/null
+++ b/build-data/packages/japi.mk
@@ -0,0 +1,6 @@
+japi_configure_depend = vpp-install
+japi_source = extras
+japi_configure_subdir = japi
+japi_CPPFLAGS = $(call installed_includes_fn, vpp) $(call installed_includes_fn, vpp)/vpp_plugins
+japi_LDFLAGS = $(call installed_libs_fn, vpp)
+
diff --git a/build-data/platforms.mk b/build-data/platforms.mk
index d555f2a..a8bd44e 100644
--- a/build-data/platforms.mk
+++ b/build-data/platforms.mk
@@ -86,7 +86,7 @@
>> deb/debian/vpp-dev.install ; \
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/JSON.py /usr/share/vpp \
>> deb/debian/vpp-dev.install ; \
- echo ../../src/vpp-api/java/jvpp/gen/jvpp_gen.py /usr/bin \
+ echo ../../extras/japi/java/jvpp/gen/jvpp_gen.py /usr/bin \
>> deb/debian/vpp-dev.install ; \
for i in $$(ls ../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do \
echo ../$${i} /usr/lib/python2.7/dist-packages/jvppgen \
diff --git a/build-data/platforms/vpp.mk b/build-data/platforms/vpp.mk
index 5e4980a..0687946 100644
--- a/build-data/platforms/vpp.mk
+++ b/build-data/platforms/vpp.mk
@@ -26,7 +26,7 @@
# Uncoment to enable building unit tests
# vpp_enable_tests = yes
-vpp_root_packages = vpp vom
+vpp_root_packages = vpp vom japi
# DPDK configuration parameters
# vpp_uses_dpdk_mlx4_pmd = yes
diff --git a/build-root/scripts/find-vpp-api-java-contents b/build-root/scripts/find-vpp-api-java-contents
index 6309c6c..b4cf52f 100755
--- a/build-root/scripts/find-vpp-api-java-contents
+++ b/build-root/scripts/find-vpp-api-java-contents
@@ -15,7 +15,7 @@
rm -f $2
-for i in $(find ${1}/vpp/share/java/ -type f -print); do
+for i in $(find ${1}/japi/share/java/ -type f -print); do
echo ../${i} /usr/share/java >> ${2}
done
diff --git a/extras/japi/Makefile.am b/extras/japi/Makefile.am
new file mode 100644
index 0000000..81ff5bb
--- /dev/null
+++ b/extras/japi/Makefile.am
@@ -0,0 +1,5 @@
+
+
+AUTOMAKE_OPTIONS = foreign subdir-objects
+
+SUBDIRS = java
diff --git a/extras/japi/configure.ac b/extras/japi/configure.ac
new file mode 100644
index 0000000..08f0897
--- /dev/null
+++ b/extras/japi/configure.ac
@@ -0,0 +1,36 @@
+AC_INIT(japi, 18.10)
+LT_INIT
+AM_INIT_AUTOMAKE
+AM_SILENT_RULES([yes])
+AC_PREFIX_DEFAULT([/usr])
+
+PKG_CHECK_MODULES([CHECK], [check], [HAVE_CHECK=1], [HAVE_CHECK=0])
+AM_CONDITIONAL([USE_CHECK],[test "$HAVE_CHECK" -eq 1])
+
+AC_PROG_CC
+AC_PROG_CXX
+
+AM_CONDITIONAL(ENABLE_ACL_PLUGIN, test "yes" = "yes")
+AM_CONDITIONAL(ENABLE_NAT_PLUGIN, test "yes" = "yes")
+AM_CONDITIONAL(ENABLE_L2E_PLUGIN, test "yes" = "yes")
+AM_CONDITIONAL(ENABLE_GBP_PLUGIN, test "yes" = "yes")
+AM_CONDITIONAL(ENABLE_PPPOE_PLUGIN, test "yes" = "yes")
+AM_CONDITIONAL(ENABLE_GTPU_PLUGIN, test "yes" = "yes")
+AM_CONDITIONAL(ENABLE_IOAM_PLUGIN, test "yes" = "yes")
+
+AX_VPP_FIND_JDK8
+AC_SUBST(JAVA_HOME)
+AC_SUBST(JAVAC)
+AC_SUBST(JAVAH)
+AC_SUBST(JAR)
+
+AS_CASE([$host_cpu],
+ [x86_64], [CPU_FLAGS="-march=corei7 -mtune=corei7-avx"],
+ [aarch64], [CPU_FLAGS="-march=armv8-a+crc"],
+ [CPU_FLAGS=""],
+)
+AC_SUBST([CPU_FLAGS])
+
+AC_OUTPUT([Makefile java/Makefile])
+
+AC_CONFIG_MACRO_DIR([m4])
diff --git a/src/vpp-api/java/.gitignore b/extras/japi/java/.gitignore
similarity index 100%
rename from src/vpp-api/java/.gitignore
rename to extras/japi/java/.gitignore
diff --git a/src/vpp-api/java/Makefile.am b/extras/japi/java/Makefile.am
similarity index 88%
rename from src/vpp-api/java/Makefile.am
rename to extras/japi/java/Makefile.am
index 321ba33..7ef42ba 100644
--- a/src/vpp-api/java/Makefile.am
+++ b/extras/japi/java/Makefile.am
@@ -11,7 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-AUTOMAKE_OPTIONS = foreign
+AUTOMAKE_OPTIONS = foreign subdir-objects
ACLOCAL_AMFLAGS = -I m4
AM_LIBTOOLFLAGS = --quiet
@@ -36,14 +36,11 @@
lib_LTLIBRARIES = libjvpp_common.la
libjvpp_common_la_SOURCES = jvpp-common/jvpp_common.c
-libjvpp_common_la_LDFLAGS = shared -rpath /none -no-undefined
+libjvpp_common_la_LDFLAGS = shared -rpath /none -no-undefined -lvppinfra
JVPP_LIBS = \
libjvpp_common.la \
- $(top_builddir)/libvppinfra.la \
- $(top_builddir)/libvlibmemoryclient.la \
- $(top_builddir)/libsvm.la \
- -lpthread -lm -lrt
+ -lvppinfra -lvlibmemoryclient -lsvm -lpthread -lm -lrt
#
# jvpp-registry (connection management + plugin registry)
@@ -99,8 +96,8 @@
CLEANDIRS += jvpp-core/target
# Include all VPP API files
-jvpp_core_json_files = $(shell find @top_builddir@/vnet/ -type f -name '*.api.json')
-jvpp_core_json_files += $(shell find @top_builddir@/vpp/ -type f -name '*.api.json')
+jvpp_core_json_files = $(shell find @top_builddir@/../vpp/vnet -type f -name '*.api.json')
+jvpp_core_json_files += $(shell find @top_builddir@/../vpp/vpp -type f -name '*.api.json')
# except for plugins and unsupported ones:
# jvpp_core_json_files += @top_builddir@/vlibmemory/memclnt.api.json
@@ -121,7 +118,7 @@
JAR_FILES += jvpp-acl-$(PACKAGE_VERSION).jar
CLEANDIRS += jvpp-acl/target
-jvpp_acl_json_files = @top_builddir@/plugins/acl/acl.api.json
+jvpp_acl_json_files = @top_builddir@/../vpp/plugins/acl/acl.api.json
jvpp-acl/io_fd_vpp_jvpp_acl_JVppAclImpl.h: $(jvpp_registry_ok) $(jvpp_acl_json_files)
$(call japigen,acl,JVppAclImpl)
@@ -141,7 +138,7 @@
JAR_FILES += jvpp-gtpu-$(PACKAGE_VERSION).jar
CLEANDIRS += jvpp-gtpu/target
-jvpp_gtpu_json_files = @top_builddir@/plugins/gtpu/gtpu.api.json
+jvpp_gtpu_json_files = @top_builddir@/../vpp/plugins/gtpu/gtpu.api.json
jvpp-gtpu/io_fd_vpp_jvpp_gtpu_JVppGtpuImpl.h: $(jvpp_registry_ok) $(jvpp_gtpu_json_files)
$(call japigen,gtpu,JVppGtpuImpl)
@@ -161,7 +158,7 @@
JAR_FILES += jvpp-pppoe-$(PACKAGE_VERSION).jar
CLEANDIRS += jvpp-pppoe/target
-jvpp_pppoe_json_files = @top_builddir@/plugins/pppoe/pppoe.api.json
+jvpp_pppoe_json_files = @top_builddir@/../vpp/plugins/pppoe/pppoe.api.json
jvpp-pppoe/io_fd_vpp_jvpp_pppoe_JVppPppoeImpl.h: $(jvpp_registry_ok) $(jvpp_pppoe_json_files)
$(call japigen,pppoe,JVppPppoeImpl)
@@ -181,7 +178,7 @@
JAR_FILES += jvpp-nat-$(PACKAGE_VERSION).jar
CLEANDIRS += jvpp-nat/target
-jvpp_nat_json_files = @top_builddir@/plugins/nat/nat.api.json
+jvpp_nat_json_files = @top_builddir@/../vpp/plugins/nat/nat.api.json
jvpp-nat/io_fd_vpp_jvpp_nat_JVppNatImpl.h: $(jvpp_registry_ok) $(jvpp_nat_json_files)
$(call japigen,nat,JVppNatImpl)
@@ -200,7 +197,7 @@
JAR_FILES += jvpp-ioamtrace-$(PACKAGE_VERSION).jar
CLEANDIRS += jvpp-ioamtrace/target
-jvpp_ioamtrace_json_files = @top_builddir@/plugins/ioam/lib-trace/trace.api.json
+jvpp_ioamtrace_json_files = @top_builddir@/../vpp/plugins/ioam/lib-trace/trace.api.json
jvpp-ioamtrace/io_fd_vpp_jvpp_ioamtrace_JVppIoamtraceImpl.h: $(jvpp_registry_ok) $(jvpp_ioamtrace_json_files)
$(call japigen,ioamtrace,JVppIoamtraceImpl)
@@ -217,7 +214,7 @@
JAR_FILES += jvpp-ioampot-$(PACKAGE_VERSION).jar
CLEANDIRS += jvpp-ioampot/target
-jvpp_ioampot_json_files = @top_builddir@/plugins/ioam/lib-pot/pot.api.json
+jvpp_ioampot_json_files = @top_builddir@/../vpp/plugins/ioam/lib-pot/pot.api.json
jvpp-ioampot/io_fd_vpp_jvpp_ioampot_JVppIoampotImpl.h: $(jvpp_registry_ok) $(jvpp_ioampot_json_files)
$(call japigen,ioampot,JVppIoampotImpl)
@@ -234,7 +231,7 @@
JAR_FILES += jvpp-ioamexport-$(PACKAGE_VERSION).jar
CLEANDIRS += jvpp-ioamexport/target
-jvpp_ioamexport_json_files = @top_builddir@/plugins/ioam/export/ioam_export.api.json
+jvpp_ioamexport_json_files = @top_builddir@/../vpp/plugins/ioam/export/ioam_export.api.json
jvpp-ioamexport/io_fd_vpp_jvpp_ioamexport_JVppIoamexportImpl.h: $(jvpp_registry_ok) $(jvpp_ioamexport_json_files)
$(call japigen,ioamexport,JVppIoamexportImpl)
diff --git a/src/vpp-api/java/Readme.txt b/extras/japi/java/Readme.txt
similarity index 100%
rename from src/vpp-api/java/Readme.txt
rename to extras/japi/java/Readme.txt
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclExpectedDumpData.java
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestData.java
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/AclTestRequests.java
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/FutureApiExample.java
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/examples/Readme.txt
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/CallbackApiTest.java
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/FutureApiTest.java
diff --git a/src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt b/extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt
rename to extras/japi/java/jvpp-acl/io/fd/vpp/jvpp/acl/test/Readme.txt
diff --git a/src/vpp-api/java/jvpp-acl/jvpp_acl.c b/extras/japi/java/jvpp-acl/jvpp_acl.c
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/jvpp_acl.c
rename to extras/japi/java/jvpp-acl/jvpp_acl.c
diff --git a/src/vpp-api/java/jvpp-acl/jvpp_acl.h b/extras/japi/java/jvpp-acl/jvpp_acl.h
similarity index 100%
rename from src/vpp-api/java/jvpp-acl/jvpp_acl.h
rename to extras/japi/java/jvpp-acl/jvpp_acl.h
diff --git a/src/vpp-api/java/jvpp-common/jvpp_common.c b/extras/japi/java/jvpp-common/jvpp_common.c
similarity index 100%
rename from src/vpp-api/java/jvpp-common/jvpp_common.c
rename to extras/japi/java/jvpp-common/jvpp_common.c
diff --git a/src/vpp-api/java/jvpp-common/jvpp_common.h b/extras/japi/java/jvpp-common/jvpp_common.h
similarity index 100%
rename from src/vpp-api/java/jvpp-common/jvpp_common.h
rename to extras/japi/java/jvpp-common/jvpp_common.h
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiReadPerfTest.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiReadPerfTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiReadPerfTest.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiReadPerfTest.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiWritePerfTest.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiWritePerfTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiWritePerfTest.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackApiWritePerfTest.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeNotificationExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeNotificationExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeNotificationExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackJVppFacadeNotificationExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackNotificationApiExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackNotificationApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackNotificationApiExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CallbackNotificationApiExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CreateSubInterfaceExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CreateSubInterfaceExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CreateSubInterfaceExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/CreateSubInterfaceExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiNotificationExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiNotificationExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiNotificationExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiNotificationExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiReadPerfTest.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiReadPerfTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiReadPerfTest.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/FutureApiReadPerfTest.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/L2AclExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/L2AclExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/L2AclExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/L2AclExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/LispAdjacencyExample.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/LispAdjacencyExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/LispAdjacencyExample.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/LispAdjacencyExample.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/NotificationUtils.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/NotificationUtils.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/NotificationUtils.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/NotificationUtils.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/Readme.txt b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/examples/Readme.txt
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/examples/Readme.txt
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/test/CallbackApiTest.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/test/CallbackApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/test/CallbackApiTest.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/test/CallbackApiTest.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/test/FutureApiTest.java b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/test/FutureApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/test/FutureApiTest.java
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/test/FutureApiTest.java
diff --git a/src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/test/Readme.txt b/extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/test/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-core/io/fd/vpp/jvpp/core/test/Readme.txt
rename to extras/japi/java/jvpp-core/io/fd/vpp/jvpp/core/test/Readme.txt
diff --git a/src/vpp-api/java/jvpp-core/jvpp_core.c b/extras/japi/java/jvpp-core/jvpp_core.c
similarity index 100%
rename from src/vpp-api/java/jvpp-core/jvpp_core.c
rename to extras/japi/java/jvpp-core/jvpp_core.c
diff --git a/src/vpp-api/java/jvpp-gtpu/jvpp_gtpu.c b/extras/japi/java/jvpp-gtpu/jvpp_gtpu.c
similarity index 100%
rename from src/vpp-api/java/jvpp-gtpu/jvpp_gtpu.c
rename to extras/japi/java/jvpp-gtpu/jvpp_gtpu.c
diff --git a/src/vpp-api/java/jvpp-gtpu/jvpp_gtpu.h b/extras/japi/java/jvpp-gtpu/jvpp_gtpu.h
similarity index 100%
rename from src/vpp-api/java/jvpp-gtpu/jvpp_gtpu.h
rename to extras/japi/java/jvpp-gtpu/jvpp_gtpu.h
diff --git a/src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/IoamExportApiExample.java b/extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/IoamExportApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/IoamExportApiExample.java
rename to extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/IoamExportApiExample.java
diff --git a/src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/Readme.txt b/extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/Readme.txt
rename to extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/examples/Readme.txt
diff --git a/src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/CallbackApiTest.java b/extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/CallbackApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/CallbackApiTest.java
rename to extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/CallbackApiTest.java
diff --git a/src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/FutureApiTest.java b/extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/FutureApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/FutureApiTest.java
rename to extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/FutureApiTest.java
diff --git a/src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/Readme.txt b/extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/Readme.txt
rename to extras/japi/java/jvpp-ioamexport/io/fd/vpp/jvpp/ioamexport/test/Readme.txt
diff --git a/src/vpp-api/java/jvpp-ioamexport/jvpp_ioam_export.c b/extras/japi/java/jvpp-ioamexport/jvpp_ioam_export.c
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamexport/jvpp_ioam_export.c
rename to extras/japi/java/jvpp-ioamexport/jvpp_ioam_export.c
diff --git a/src/vpp-api/java/jvpp-ioamexport/jvpp_ioam_export.h b/extras/japi/java/jvpp-ioamexport/jvpp_ioam_export.h
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamexport/jvpp_ioam_export.h
rename to extras/japi/java/jvpp-ioamexport/jvpp_ioam_export.h
diff --git a/src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/IoamPotApiExample.java b/extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/IoamPotApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/IoamPotApiExample.java
rename to extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/IoamPotApiExample.java
diff --git a/src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/Readme.txt b/extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/Readme.txt
rename to extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/examples/Readme.txt
diff --git a/src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/CallbackApiTest.java b/extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/CallbackApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/CallbackApiTest.java
rename to extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/CallbackApiTest.java
diff --git a/src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/FutureApiTest.java b/extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/FutureApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/FutureApiTest.java
rename to extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/FutureApiTest.java
diff --git a/src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/Readme.txt b/extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/Readme.txt
rename to extras/japi/java/jvpp-ioampot/io/fd/vpp/jvpp/ioampot/test/Readme.txt
diff --git a/src/vpp-api/java/jvpp-ioampot/jvpp_ioam_pot.c b/extras/japi/java/jvpp-ioampot/jvpp_ioam_pot.c
similarity index 100%
rename from src/vpp-api/java/jvpp-ioampot/jvpp_ioam_pot.c
rename to extras/japi/java/jvpp-ioampot/jvpp_ioam_pot.c
diff --git a/src/vpp-api/java/jvpp-ioampot/jvpp_ioam_pot.h b/extras/japi/java/jvpp-ioampot/jvpp_ioam_pot.h
similarity index 100%
rename from src/vpp-api/java/jvpp-ioampot/jvpp_ioam_pot.h
rename to extras/japi/java/jvpp-ioampot/jvpp_ioam_pot.h
diff --git a/src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/IoamTraceApiExample.java b/extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/IoamTraceApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/IoamTraceApiExample.java
rename to extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/IoamTraceApiExample.java
diff --git a/src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/Readme.txt b/extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/Readme.txt
rename to extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/examples/Readme.txt
diff --git a/src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/CallbackApiTest.java b/extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/CallbackApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/CallbackApiTest.java
rename to extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/CallbackApiTest.java
diff --git a/src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/FutureApiTest.java b/extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/FutureApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/FutureApiTest.java
rename to extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/FutureApiTest.java
diff --git a/src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/Readme.txt b/extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/Readme.txt
rename to extras/japi/java/jvpp-ioamtrace/io/fd/vpp/jvpp/ioamtrace/test/Readme.txt
diff --git a/src/vpp-api/java/jvpp-ioamtrace/jvpp_ioam_trace.c b/extras/japi/java/jvpp-ioamtrace/jvpp_ioam_trace.c
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamtrace/jvpp_ioam_trace.c
rename to extras/japi/java/jvpp-ioamtrace/jvpp_ioam_trace.c
diff --git a/src/vpp-api/java/jvpp-ioamtrace/jvpp_ioam_trace.h b/extras/japi/java/jvpp-ioamtrace/jvpp_ioam_trace.h
similarity index 100%
rename from src/vpp-api/java/jvpp-ioamtrace/jvpp_ioam_trace.h
rename to extras/japi/java/jvpp-ioamtrace/jvpp_ioam_trace.h
diff --git a/src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/CallbackApiExample.java b/extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/CallbackApiExample.java
similarity index 100%
rename from src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/CallbackApiExample.java
rename to extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/CallbackApiExample.java
diff --git a/src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/Readme.txt b/extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/Readme.txt
rename to extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/examples/Readme.txt
diff --git a/src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/CallbackApiTest.java b/extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/CallbackApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/CallbackApiTest.java
rename to extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/CallbackApiTest.java
diff --git a/src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/FutureApiTest.java b/extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/FutureApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/FutureApiTest.java
rename to extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/FutureApiTest.java
diff --git a/src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/Readme.txt b/extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/Readme.txt
similarity index 100%
rename from src/vpp-api/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/Readme.txt
rename to extras/japi/java/jvpp-nat/io/fd/vpp/jvpp/nat/test/Readme.txt
diff --git a/src/vpp-api/java/jvpp-nat/jvpp_nat.c b/extras/japi/java/jvpp-nat/jvpp_nat.c
similarity index 100%
rename from src/vpp-api/java/jvpp-nat/jvpp_nat.c
rename to extras/japi/java/jvpp-nat/jvpp_nat.c
diff --git a/src/vpp-api/java/jvpp-nat/jvpp_nat.h b/extras/japi/java/jvpp-nat/jvpp_nat.h
similarity index 100%
rename from src/vpp-api/java/jvpp-nat/jvpp_nat.h
rename to extras/japi/java/jvpp-nat/jvpp_nat.h
diff --git a/src/vpp-api/java/jvpp-pppoe/jvpp_pppoe.c b/extras/japi/java/jvpp-pppoe/jvpp_pppoe.c
similarity index 100%
rename from src/vpp-api/java/jvpp-pppoe/jvpp_pppoe.c
rename to extras/japi/java/jvpp-pppoe/jvpp_pppoe.c
diff --git a/src/vpp-api/java/jvpp-pppoe/jvpp_pppoe.h b/extras/japi/java/jvpp-pppoe/jvpp_pppoe.h
similarity index 100%
rename from src/vpp-api/java/jvpp-pppoe/jvpp_pppoe.h
rename to extras/japi/java/jvpp-pppoe/jvpp_pppoe.h
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/AbstractCallbackApiTest.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/AbstractCallbackApiTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/AbstractCallbackApiTest.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/AbstractCallbackApiTest.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/Assertions.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/Assertions.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/Assertions.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/Assertions.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/JVpp.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/JVpp.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/JVpp.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/JVpp.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistry.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistry.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistry.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistry.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistryImpl.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistryImpl.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistryImpl.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/JVppRegistryImpl.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/NativeLibraryLoader.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/NativeLibraryLoader.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/NativeLibraryLoader.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/NativeLibraryLoader.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppBaseCallException.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppBaseCallException.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppBaseCallException.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppBaseCallException.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppCallbackException.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppCallbackException.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppCallbackException.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppCallbackException.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppConnection.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppConnection.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppConnection.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppConnection.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppInvocationException.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppInvocationException.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppInvocationException.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppInvocationException.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppJNIConnection.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppJNIConnection.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/VppJNIConnection.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/VppJNIConnection.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/callback/ControlPingCallback.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/callback/ControlPingCallback.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/callback/ControlPingCallback.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/callback/ControlPingCallback.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppCallback.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppCallback.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppCallback.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppCallback.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppNotificationCallback.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppNotificationCallback.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppNotificationCallback.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/callback/JVppNotificationCallback.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/coverity/SuppressFBWarnings.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/coverity/SuppressFBWarnings.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/coverity/SuppressFBWarnings.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/coverity/SuppressFBWarnings.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPing.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPing.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPing.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPing.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPingReply.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPingReply.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPingReply.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/ControlPingReply.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppDump.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppDump.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppDump.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppDump.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReply.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReply.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReply.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReply.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReplyDump.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReplyDump.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReplyDump.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppReplyDump.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppRequest.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppRequest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppRequest.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/dto/JVppRequest.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/future/AbstractFutureJVppInvoker.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/future/AbstractFutureJVppInvoker.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/future/AbstractFutureJVppInvoker.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/future/AbstractFutureJVppInvoker.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/future/FutureJVppInvoker.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/future/FutureJVppInvoker.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/future/FutureJVppInvoker.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/future/FutureJVppInvoker.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistry.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistry.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistry.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistry.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistryProvider.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistryProvider.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistryProvider.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/notification/EventRegistryProvider.java
diff --git a/src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/test/ConnectionTest.java b/extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/test/ConnectionTest.java
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/io/fd/vpp/jvpp/test/ConnectionTest.java
rename to extras/japi/java/jvpp-registry/io/fd/vpp/jvpp/test/ConnectionTest.java
diff --git a/src/vpp-api/java/jvpp-registry/jvpp_registry.c b/extras/japi/java/jvpp-registry/jvpp_registry.c
similarity index 100%
rename from src/vpp-api/java/jvpp-registry/jvpp_registry.c
rename to extras/japi/java/jvpp-registry/jvpp_registry.c
diff --git a/src/vpp-api/java/jvpp/gen/jvpp_gen.py b/extras/japi/java/jvpp/gen/jvpp_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvpp_gen.py
rename to extras/japi/java/jvpp/gen/jvpp_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/__init__.py b/extras/japi/java/jvpp/gen/jvppgen/__init__.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/__init__.py
rename to extras/japi/java/jvpp/gen/jvppgen/__init__.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/callback_gen.py b/extras/japi/java/jvpp/gen/jvppgen/callback_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/callback_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/callback_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/dto_gen.py b/extras/japi/java/jvpp/gen/jvppgen/dto_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/dto_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/dto_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/enums_gen.py b/extras/japi/java/jvpp/gen/jvppgen/enums_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/enums_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/enums_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jni_common_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jni_common_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jni_common_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jni_common_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jni_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jni_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jni_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jni_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jni_impl_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jni_impl_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jni_impl_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jni_impl_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jni_msg_handlers_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jni_msg_handlers_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jni_msg_handlers_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jni_msg_handlers_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jni_type_handlers_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jni_type_handlers_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jni_type_handlers_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jni_type_handlers_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_common_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jvpp_common_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jvpp_common_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jvpp_common_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_ifc_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jvpp_ifc_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jvpp_ifc_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jvpp_ifc_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_impl_gen.py b/extras/japi/java/jvpp/gen/jvppgen/jvpp_impl_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jvpp_impl_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/jvpp_impl_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_model.py b/extras/japi/java/jvpp/gen/jvppgen/jvpp_model.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/jvpp_model.py
rename to extras/japi/java/jvpp/gen/jvppgen/jvpp_model.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/notification_gen.py b/extras/japi/java/jvpp/gen/jvppgen/notification_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/notification_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/notification_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/types_gen.py b/extras/japi/java/jvpp/gen/jvppgen/types_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/types_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/types_gen.py
diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/unions_gen.py b/extras/japi/java/jvpp/gen/jvppgen/unions_gen.py
similarity index 100%
rename from src/vpp-api/java/jvpp/gen/jvppgen/unions_gen.py
rename to extras/japi/java/jvpp/gen/jvppgen/unions_gen.py
diff --git a/src/m4/ax_vpp_find_jdk8.m4 b/extras/japi/m4/ax_vpp_find_jdk8.m4
similarity index 100%
rename from src/m4/ax_vpp_find_jdk8.m4
rename to extras/japi/m4/ax_vpp_find_jdk8.m4
diff --git a/extras/rpm/vpp-suse.spec b/extras/rpm/vpp-suse.spec
index ea62eee..7fea9fe 100644
--- a/extras/rpm/vpp-suse.spec
+++ b/extras/rpm/vpp-suse.spec
@@ -227,7 +227,7 @@
# Java bindings
mkdir -p -m755 %{buildroot}%{_datadir}/java
-for file in $(find %{_vpp_install_dir}/vpp/share/java -type f -name '*.jar' -print )
+for file in $(find %{_vpp_install_dir}/japi/share/java -type f -name '*.jar' -print )
do
install -p -m 644 $file %{buildroot}%{_datadir}/java
done
@@ -258,8 +258,8 @@
done
mkdir -p -m755 %{buildroot}%{python_sitelib}/jvppgen
-install -p -m755 %{_vpp_build_dir}/../src/vpp-api/java/jvpp/gen/jvpp_gen.py %{buildroot}%{_prefix}/bin
-for i in $(ls %{_vpp_build_dir}/../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do
+install -p -m755 %{_vpp_build_dir}/../extras/japi/java/jvpp/gen/jvpp_gen.py %{buildroot}%{_prefix}/bin
+for i in $(ls %{_vpp_build_dir}/../extras/japi/java/jvpp/gen/jvppgen/*.py); do
install -p -m755 ${i} %{buildroot}%{python_sitelib}/jvppgen
done;
diff --git a/extras/rpm/vpp.spec b/extras/rpm/vpp.spec
index c6951bf..69d4d6b 100644
--- a/extras/rpm/vpp.spec
+++ b/extras/rpm/vpp.spec
@@ -223,7 +223,7 @@
# Java bindings
mkdir -p -m755 %{buildroot}/usr/share/java
-for file in $(find %{_mu_build_dir}/%{_vpp_install_dir}/vpp/share/java -type f -name '*.jar' -print )
+for file in $(find %{_mu_build_dir}/%{_vpp_install_dir}/japi/share/java -type f -name '*.jar' -print )
do
install -p -m 644 $file %{buildroot}/usr/share/java
done
@@ -260,8 +260,8 @@
done
mkdir -p -m755 %{buildroot}%{python2_sitelib}/jvppgen
-install -p -m755 %{_mu_build_dir}/../src/vpp-api/java/jvpp/gen/jvpp_gen.py %{buildroot}/usr/bin
-for i in $(ls %{_mu_build_dir}/../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do
+install -p -m755 %{_mu_build_dir}/../extras/japi/java/jvpp/gen/jvpp_gen.py %{buildroot}/usr/bin
+for i in $(ls %{_mu_build_dir}/../extras/japi/java/jvpp/gen/jvppgen/*.py); do
install -p -m666 ${i} %{buildroot}%{python2_sitelib}/jvppgen
done;
diff --git a/src/Makefile.am b/src/Makefile.am
index 68cff78..f5fa339 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -78,10 +78,6 @@
SUBDIRS += vpp-api/python
endif
-if ENABLE_JAPI
-SUBDIRS += vpp-api/java
-endif
-
###############################################################################
# API
###############################################################################
diff --git a/src/configure.ac b/src/configure.ac
index d4c7a75..7733daa 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -7,7 +7,6 @@
Makefile \
plugins/Makefile \
vpp-api/python/Makefile \
- vpp-api/java/Makefile \
vpp-api/vapi/Makefile \
vlib/config.h \
vppinfra/config.h \
@@ -197,7 +196,6 @@
DISABLE_ARG(vlib, [Disable vlib and dependant libs and binaries])
DISABLE_ARG(svm, [Disable svm and dependant libs and binaries])
DISABLE_ARG(papi, [Disable Python API bindings])
-DISABLE_ARG(japi, [Disable Java API bindings])
# --with-X
@@ -417,19 +415,6 @@
])
###############################################################################
-# JAVA
-###############################################################################
-
-AM_COND_IF([ENABLE_JAPI],
-[
- AX_VPP_FIND_JDK8
- AC_SUBST(JAVA_HOME)
- AC_SUBST(JAVAC)
- AC_SUBST(JAVAH)
- AC_SUBST(JAR)
-])
-
-###############################################################################
# PYTHON
###############################################################################
@@ -454,11 +439,6 @@
PRINT_VAL([LDFLAGS], ${LDFLAGS})
PRINT_VAL([LOG2_CACHE_LINE_BYTES], ${with_log2_cache_line_bytes})
PRINT_VAL([DLMALLOC], ${enable_dlmalloc})
-AM_COND_IF([ENABLE_JAPI],
-[
- PRINT_VAL([JAVA_VERSION], ${JAVA_VERSION})
- PRINT_VAL([JAVA_HOME], ${JAVA_HOME})
-])
AC_MSG_RESULT([])
AC_MSG_RESULT([with:])
diff --git a/src/plugins/ioam.am b/src/plugins/ioam.am
index 4ac69aa..dd59736 100644
--- a/src/plugins/ioam.am
+++ b/src/plugins/ioam.am
@@ -70,7 +70,6 @@
ioam/lib-trace/trace_api.c
IOAM_TRACE_NOINST_HDR = \
- ioam/export/ioam_export_all_api_h.h \
ioam/lib-trace/trace_all_api_h.h \
ioam/lib-trace/trace_msg_enum.h \
ioam/lib-trace/trace.api.h \
@@ -107,7 +106,6 @@
ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_thread.c
IOAM_VXLAN_GPE_NOINST_HDR = \
- ioam/export/ioam_export_all_api_h.h \
ioam/lib-vxlan-gpe/vxlan_gpe_all_api_h.h \
ioam/lib-vxlan-gpe/vxlan_gpe_msg_enum.h \
ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api.h \
@@ -233,7 +231,7 @@
$(IOAM_IP6_MANYCAST_API) \
$(UDP_PING_API)
-noinst_HEADERS += \
+nobase_apiinclude_HEADERS += \
$(IOAM_POT_NOINST_HDR) \
$(IOAM_EXPORT_NOINST_HDR) \
$(IOAM_TRACE_NOINST_HDR) \
diff --git a/src/vppinfra.am b/src/vppinfra.am
index 840ce27..57f7a1f 100644
--- a/src/vppinfra.am
+++ b/src/vppinfra.am
@@ -237,6 +237,7 @@
vppinfra/memcpy_avx512.h \
vppinfra/mhash.h \
vppinfra/mheap.h \
+ vppinfra/mheap_bootstrap.h \
vppinfra/os.h \
vppinfra/pipeline.h \
vppinfra/pool.h \
diff --git a/test/test_jvpp.py b/test/test_jvpp.py
index 9cb787f..36dbdb2 100644
--- a/test/test_jvpp.py
+++ b/test/test_jvpp.py
@@ -2,16 +2,18 @@
import os
import subprocess
+import unittest
-from framework import VppTestCase
+from framework import VppTestCase, running_extended_tests
# Api files path
-API_FILES_PATH = "vpp/vpp-api/java"
+API_FILES_PATH = "japi/java"
# Registry jar file name prefix
REGISTRY_JAR_PREFIX = "jvpp-registry"
+@unittest.skipUnless(running_extended_tests(), "part of extended tests")
class TestJVpp(VppTestCase):
""" JVPP Core Test Case """