3 link:release_notes.html[< Home]
6 Building Honeycomb project requires:
9 * Maven (version 3.2.5 and above should be fine)
10 * Properly set maven settings(displayed below) to access nexus.fd.io
12 == Obtain the honeycomb source code
13 TIP: Make sure you have https://wiki.fd.io/view/DEV/Setting_up_Gerrit[registered your ssh key with gerrit].
16 git clone ssh://[username]@gerrit.fd.io:29418/honeycomb
18 git checkout {project-branch}
21 Make sure all the prerequisites are installed.
23 NOTE: To make sure fresh Honeycomb build is compatible with VPP, building VPP is also required to make sure the same JVpp version is used preventing out-of-sync exceptions. In case only Honeycomb needs to be built, skip Building VPP section.
26 Clone VPP according to: https://gerrit.fd.io/r/#/admin/projects/vpp and checkout {project-branch} branch
28 Dive into VPP's build-root folder:
34 make distclean && ./bootstrap.sh && make V=0 PLATFORM=vpp TAG=vpp install-deb
44 Install JVpp into local maven repository to make Honeycomb pick up the same JVpp version
47 cd build-vpp-native/vpp-api/java/
48 mvn install:install-file -Dfile=jvpp-registry-{project-vpp-version}.jar -DgroupId=io.fd.vpp -DartifactId=jvpp-registry -Dversion={project-vpp-snapshot-version} -Dpackaging=jar
49 mvn install:install-file -Dfile=jvpp-core-{project-vpp-version}.jar -DgroupId=io.fd.vpp -DartifactId=jvpp-core -Dversion={project-vpp-snapshot-version}-Dpackaging=jar
50 cd ../../plugins/snat-plugin/
51 mvn install:install-file -Dfile=jvpp-snat-{project-snat-version}.jar -DgroupId=io.fd.vpp -DartifactId=jvpp-snat -Dversion={project-snat-snapshot-version} -Dpackaging=jar
53 Now current Vpp is up and running and prepared for integration with HC.
55 === Building Honeycomb
56 Now Honeycomb can be built and it will use latest JVpp produced during VPP build.
58 ==== Setup settings.xml
59 Put the following in your ~/.m2/settings.xml:
63 <?xml version="1.0" encoding="UTF-8"?>
64 <!-- vi: set et smarttab sw=2 tabstop=2: -->
65 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
66 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
67 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
71 <id>fd.io-release</id>
75 <name>fd.io-mirror</name>
76 <url>https://nexus.fd.io/content/groups/public/</url>
78 <enabled>true</enabled>
79 <updatePolicy>never</updatePolicy>
82 <enabled>false</enabled>
89 <name>fd.io-mirror</name>
90 <url>https://nexus.fd.io/content/repositories/public/</url>
92 <enabled>true</enabled>
93 <updatePolicy>never</updatePolicy>
96 <enabled>false</enabled>
103 <id>fd.io-snapshots</id>
106 <id>fd.io-snapshot</id>
107 <name>fd.io-snapshot</name>
108 <url>https://nexus.fd.io/content/repositories/fd.io.snapshot/</url>
110 <enabled>false</enabled>
113 <enabled>true</enabled>
119 <id>fd.io-snapshot</id>
120 <name>fd.io-snapshot</name>
121 <url>https://nexus.fd.io/content/repositories/fd.io.snapshot/</url>
123 <enabled>false</enabled>
126 <enabled>true</enabled>
129 </pluginRepositories>
132 <id>opendaylight-snapshots</id>
135 <id>opendaylight-snapshot</id>
136 <name>opendaylight-snapshot</name>
137 <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
139 <enabled>false</enabled>
142 <enabled>true</enabled>
148 <id>opendaylight-shapshot</id>
149 <name>opendaylight-snapshot</name>
150 <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
152 <enabled>false</enabled>
155 <enabled>true</enabled>
158 </pluginRepositories>
163 <activeProfile>fd.io-release</activeProfile>
164 <activeProfile>fd.io-snapshots</activeProfile>
165 <activeProfile>opendaylight-snapshots</activeProfile>
170 ==== Building Honeycomb
177 To perform quick build(no tests, no checks, no docs) run:
179 mvn clean install -DskipTests -Dcheckstyle.skip -Dmaven.javadoc.skip=true -Djacoco.skip
182 Now Honeycomb can be run with:
185 sudo sh vpp-integration/minimal-distribution/target/vpp-integration-distribution-{project-version}-hc/vpp-integration-distribution-{project-version}/honeycomb
187 === Building packages
188 After the code has been built, you can build an RPM or DEB package for honeycomb.
191 Export build number variable:
193 export BUILD_NUMBER=33
195 Run package building script from:
197 packaging/rpm/rpmbuild.sh
200 Export build number variable:
202 export BUILD_NUMBER=33
204 Run package building script from:
206 packaging/deb/debuild.sh