From 21f3798c7938d070725816214368394e6a16bd04 Mon Sep 17 00:00:00 2001 From: Michal Cmarada Date: Wed, 23 Jan 2019 09:05:07 +0100 Subject: initial commit - migrates source code from VPP code base - modifies cmake configuration - adds cpack configuration for deb and rpm packaging - adds documentation Change-Id: Ib6a39030f6c47c8ae654fcb886c618e159fb63b4 Signed-off-by: Michal Cmarada --- docs/jvpp.rst | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 docs/jvpp.rst (limited to 'docs') diff --git a/docs/jvpp.rst b/docs/jvpp.rst new file mode 100644 index 0000000..4fbeb39 --- /dev/null +++ b/docs/jvpp.rst @@ -0,0 +1,140 @@ +.. _JVPP: + +.. toctree:: + +Building JVPP from source +========================= + +JVPP uses cmake to configure and build source code. The minimal version of cmake is 3.5. +Ensure that you have proper version of cmake installed. + +JVPP depends on VPP packages (Debian or Centos): +* vpp +* vpp-plugins +* vpp-dev (vpp-devel on Centos) + +Vpp and vpp-plugins packages contain API source file, which are used to generate Java API bindings. Vpp dev package +contains header files needed for build. + +Obtaining the source +-------------------- + +You can get JVPP source code from gerrit.fd.io using git: +git clone https://gerrit.fd.io/r/jvpp + +or from github: +https://github.com/FDio/jvpp.git + + +Install dependencies (Optional, one time only) +------------------ + +You can install all dependencies using provided install-dep target: + +.. code-block:: console + + make install-dep + +Cleanup (Optional) +------------------ + +Whenever you need to clean the setup you can use "clean.sh" script in the root folder. This cleans the build and clears +the cache. This is usefull mostly when you change something in JVPP to ensure everything is rebuild from scratch. + +Configuring using cmake +----------------------- + +Configuration using cmake is very easy, the whole process is automated. All you need to do is issue following command +from JVPP's root directory: + +.. code-block:: console + + cmake . + +This will configure all variables and setup the build. + +Building the source +------------------- + +To build the source use make command: + +.. code-block:: console + + make + +You can also install the library using (you need to use sudo or have root privileges to install libraries): + +.. code-block:: console + + sudo make install + +Building the packages +--------------------- + +During the setup using cmake the operating system is automatically recognised and everything is set up so you can build +packages for your current operating system. Only Debian based (tested on Ubuntu) and Centos (tested on Centos 7) +are supported for now. + +To build the package you need to call: + +.. code-block:: console + + make package + +You can find the packages in build-root/packages folder. + +Getting JVPP jar +================ + +VPP provides java bindings which can be downloaded at: + +* https://nexus.fd.io/content/repositories/fd.io.release/io/fd/vpp/jvpp-core/19.01/jvpp-core-19.01.jar + +Getting JVPP via maven +------------------------------------ + +**1. Add the following to the repositories section in your ~/.m2/settings.xml to pick up the fd.io maven repo:** + +.. code-block:: console + + + fd.io-release + fd.io-release + https://nexus.fd.io/content/repositories/fd.io.release/ + + false + + + true + + + +For more information on setting up maven repositories in settings.xml, please look at: + +* https://maven.apache.org/guides/mini/guide-multiple-repositories.html + +**2. Then you can get JVPP by putting in the dependencies section of your pom.xml file:** + +.. code-block:: console + + + io.fd.vpp + jvpp-core + 19.01 + + +For more information on maven dependency managment, please look at: + +* https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html + + +Installing JVPP manually to local maven repository +-------------------------------------------------- + +Once JVPP is successfully built, you can install it to local .m2 repository. +To do so use provided script in JVPP root directory: + +.. code-block:: console + + ./install_jvpp.sh + -- cgit 1.2.3-korg