stream:
- master:
branch: 'cframework/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'cframework/libparc'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'ccnxlibs/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'ccnxlibs/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'ccnxlibs/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'libicnet/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'sb-forwarder/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'http-server/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'cicn-plugin/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
type:
- short
- long
stream:
- master:
branch: 'viper/master'
- repo-stream-part: 'cicn.master'
+ repo-stream-part: 'master'
+ type:
+ - short
+ - long
+
+- project:
+ name: cicn-radio-emulators
+ jobs:
+ - 'cicn-radio-emulators-merge-{stream}-{os}'
+ project: 'cicn'
+ os:
+ - ubuntu1604:
+ repo-os-part: 'ubuntu.xenial.main'
+ stream:
+ - master:
+ branch: 'vicn/master'
+ repo-stream-part: 'master'
type:
- short
- long
- build-package.sh
- include-raw-cicn-longbow-build.sh
- provide-maven-settings:
- settings-file: 'cicn-longbow-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-libparc-build.sh
- provide-maven-settings:
- settings-file: 'cicn-libparc-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-libccnx-common-build.sh
- provide-maven-settings:
- settings-file: 'cicn-libccnx-common-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-libccnx-transport-rta-build.sh
- provide-maven-settings:
- settings-file: 'cicn-libccnx-transport-rta-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-libccnx-portal-build.sh
- provide-maven-settings:
- settings-file: 'cicn-libccnx-portal-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-libicnet-build.sh
- provide-maven-settings:
- settings-file: 'cicn-libicnet-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-metis-build.sh
- provide-maven-settings:
- settings-file: 'cicn-metis-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-http-server-build.sh
- provide-maven-settings:
- settings-file: 'cicn-http-server-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-http-server-build.sh
- provide-maven-settings:
- settings-file: 'cicn-vpp-plugin-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- build-package.sh
- include-raw-cicn-viper-build.sh
- provide-maven-settings:
- settings-file: 'cicn-viper-settings'
+ settings-file: 'cicn-settings'
global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
fingerprint: false
only-if-success: true
default-excludes: false
+ - fdio-infra-shiplogs:
+ maven-version: 'mvn33-new'
+
+- job-template:
+ name: 'cicn-radio-emulators-merge-{stream}-{os}'
+
+ project-type: freestyle
+ node: '{os}-basebuild-4c-4g'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - os-parameter:
+ os: '{os}'
+ - maven-project-parameter:
+ maven: 'mvn33-new'
+ - maven-exec:
+ maven-version: 'mvn33-new'
+ - repo-name-parameter:
+ repo-name: '{repo-stream-part}.{repo-os-part}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: 'jenkins-gerrit-credentials'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - fdio-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - timed: '@daily'
+
+ builders:
+ - maven-target:
+ maven-version: 'mvn33-new'
+ goals: '--version'
+ settings: 'cicn-settings'
+ settings-type: cfp
+ global-settings: 'global-settings'
+ global-settings-type: cfp
+ - shell:
+ !include-raw-escape:
+ - build-package.sh
+ - include-raw-cicn-radio-emulators-build.sh
+ - provide-maven-settings:
+ settings-file: 'cicn-settings'
+ global-settings-file: 'global-settings'
+ - shell:
+ !include-raw-escape:
+ - ../scripts/maven_push_functions.sh
+ - include-raw-cicn-maven-push.sh
+ publishers:
+ - archive:
+ artifacts: 'emu-radio/build/*.rpm,emu-radio/build/*.deb,emu-radio/ns3-packages/*.rpm,emu-radio/ns3-packages/*.deb'
+ allow-empty: 'true'
+ fingerprint: false
+ only-if-success: true
+ default-excludes: false
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+# basic build script example
+set -euxo pipefail
+IFS=$'\n\t'
+
+apt_get=`which apt-get`
+
+PACKAGE_NAME="RADIO_EMULATOR"
+RADIO_EMULATOR_DEPS_UBUNTU="pkg-config libboost-all-dev libsqlite3-dev libopenmpi-dev libxml2-dev libwebsocketpp-dev"
+
+BUILD_TOOLS="build-essential cmake"
+
+ARCHITECTURE=`uname -m`
+
+# Figure out what system we are running on
+if [ -f /etc/lsb-release ];then
+
+ . /etc/lsb-release
+ DEB=ON
+ RPM=OFF
+
+ if [ "$ARCHITECTURE" == "x86_64" ]; then
+ ARCHITECTURE="amd64"
+ fi
+
+elif [ -f /etc/redhat-release ];then
+
+ sudo yum install -y redhat-lsb
+ DISTRIB_ID=`lsb_release -si`
+ DISTRIB_RELEASE=`lsb_release -sr`
+ DISTRIB_CODENAME=`lsb_release -sc`
+ DISTRIB_DESCRIPTION=`lsb_release -sd`
+
+ DEB=OFF
+ RPM=ON
+else
+ echo "ERROR: System configuration not recognized. Build failed"
+ exit -1
+fi
+
+echo ARCHITECTURE: $ARCHITECTURE
+echo DISTRIB_ID: $DISTRIB_ID
+echo DISTRIB_RELEASE: $DISTRIB_RELEASE
+echo DISTRIB_CODENAME: $DISTRIB_CODENAME
+echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION
+
+setup $DISTRIB_ID $DISTRIB_CODENAME
+
+# Install deps
+
+if [ $DISTRIB_ID == "Ubuntu" ]; then
+ echo $BUILD_TOOLS $RADIO_EMULATOR_DEPS_UBUNTU | xargs sudo ${apt_get} install -y --allow-unauthenticated || true
+else
+ echo "This package is currently supported only for ubuntu. Exiting.."
+ exit -1
+fi
+
+# Parameters
+# $1 = WIFI / LTE
+#
+build() {
+ PARAM=$1
+ mkdir -p build
+ cd build
+ ls | grep -v *.deb | xargs rm -rf || true
+ echo $PARAM | xargs cmake -DCMAKE_INSTALL_PREFIX=/usr -DRPM_PACKAGE=$RPM -DDEB_PACKAGE=$DEB -DDISTRIBUTION=$DISTRIB_CODENAME -DARCHITECTURE=$ARCHITECTURE ..
+ make
+}
+
+# Install libns3
+
+pushd emu-radio/ns3-packages
+sudo dpkg -i *.deb || true
+sudo apt-get -f install -y --allow-unauthenticated || true
+popd
+
+# Build wifi-emualtor
+pushd emu-radio
+build "-DWIFI=ON -DLTE=OFF"
+make package
+popd
+
+# Build lte-emualtor
+pushd emu-radio
+build "-DLTE=ON -DWIFI=OFF"
+make package
+popd
\ No newline at end of file