Skip to content

Commit

Permalink
Merge branch 'master' of github.com:jredmondson/madara
Browse files Browse the repository at this point in the history
  • Loading branch information
dskyle-shieldai committed Jun 18, 2018
2 parents 03a493b + e58f1fb commit 9171352
Show file tree
Hide file tree
Showing 30 changed files with 2,553 additions and 1,424 deletions.
164 changes: 164 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
sudo: required
group: travis_latest
language: cpp
os:
- linux

branches:
excludes:
- gh-pages

compiler:
- gcc

env:
matrix:
global:
- MADARA_ROOT=$TRAVIS_BUILD_DIR
- GAMS_ROOT=$TRAVIS_BUILD_DIR/gams
- MPC_ROOT=$TRAVIS_BUILD_DIR/MPC
- LD_LIBRARY_PATH=$MADARA_ROOT/lib:$GAMS_ROOT/lib:$LD_LIBRARY_PATH
- CORES=6

matrix:
include:
################MAC#####################

# clang, osx, no ssl
- compiler: clang
env: NAME="OSX 10.13 clang" CLANG="clang"
os: osx
osx_image: xcode9.3

# clang, osx, ssl
- compiler: clang
env: NAME="OSX 10.13 clang ssl" CLANG="clang" SSL="ssl" SSL_ROOT=/usr/local/opt/openssl
os: osx
osx_image: xcode9.3

# clang, osx, java
- compiler: clang
env: NAME="OSX 10.13 clang java" CLANG="clang" JAVA="java"
os: osx
osx_image: xcode9.3

# clang, osx, zeromq
- compiler: clang
env: NAME="OSX 10.13 clang zmq" CLANG="clang" ZMQ="zmq"
os: osx
osx_image: xcode9.3

# clang, osx, simtime
- compiler: clang
env: NAME="OSX 10.13 clang simtime" CLANG="clang" SIMTIME="simtime"
os: osx
osx_image: xcode9.3

################LINUX#####################

# clang, linux, no ssl
- compiler: clang
env: NAME="Ubuntu 14.04 clang" CLANG="clang"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
packages:
- libssl-dev
- clang-5.0
os: linux

# g++, linux, no ssl
- compiler: gcc
os: linux
env: NAME="Ubuntu 14.04 g++" CLANG=""

# g++, linux, ssl
- compiler: gcc
os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libssl-dev
env: NAME="Ubuntu 14.04 g++ ssl" CLANG="" SSL="ssl"

# g++, linux, java
- compiler: gcc
os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libssl-dev
env: NAME="Ubuntu 14.04 g++ java" JAVA="java"

# g++, linux, zmq
- compiler: gcc
os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libssl-dev
env: NAME="Ubuntu 14.04 g++ zmq" ZMQ="zmq"

# g++, linux, simtime
- compiler: gcc
os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libssl-dev
env: NAME="Ubuntu 14.04 g++ simtime" SIMTIME="simtime"

addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- git-core

before_install:
- git clone -b master --single-branch https://github.com/jredmondson/gams $GAMS_ROOT
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install zeromq; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link openssl --force; fi

before_script:
- export
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export OS=linux; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export OS=mac; export CLANG_SUFFIX=; export JAVA_HOME=$(/usr/libexec/java_home) ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$MADARA_ROOT/lib:$GAMS_ROOT/lib:$VREP_ROOT ; fi
- if [[ "$JAVA" == "java" ]]; then echo "TRAVIS_JDK_VERSION=TRAVIS_JDK_VERSION" ; fi

script:
- echo "TRAVIS_BRANCH=$TRAVIS_BRANCH"
- echo "TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST"
- echo "TRAVIS_BUILD_DIR=$TRAVIS_BUILD_DIR"
- echo ls $TRAVIS_BUILD_DIR
- ls $TRAVIS_BUILD_DIR
- echo $GAMS_ROOT/scripts/$OS/base_build.sh prereqs $CLANG madara tests $SSL $JAVA $ZMQ $SIMTIME
- $GAMS_ROOT/scripts/$OS/base_build.sh prereqs $CLANG madara tests $SSL $JAVA $ZMQ $SIMTIME
# now run a couple of tests
- echo "Testing basic functionality..."
- $MADARA_ROOT/bin/test_basic_reasoning
- $MADARA_ROOT/bin/test_karl_exceptions
# performance test (useful to see if we've regressed in performance)
- echo "Testing reasoning throughput..."
- $MADARA_ROOT/bin/test_reasoning_throughput
# test UDP Multicast networking performance and connectivity for 60s
- echo "Testing multicast performance..."
- $MADARA_ROOT/bin/network_profiler -i 0 -s 1024 & $MADARA_ROOT/bin/network_profiler -i 1
# test UDP Unicast networking performance and connectivity for 60s
- echo "Testing unicast performance..."
- $MADARA_ROOT/bin/network_profiler -i 0 -s 1024 -u 127.0.0.1:30000 -u 127.0.0.1:30001 & $MADARA_ROOT/bin/network_profiler -i 1 -u 127.0.0.1:30001


26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[![Build Status](https://travis-ci.org/jredmondson/madara.svg?branch=master)](https://travis-ci.org/jredmondson/madara) [![Documentation Status](https://readthedocs.org/projects/madara/badge/?version=latest)](https://madara.readthedocs.io/en/latest/?badge=latest)

# About MADARA

The Multi-Agent Distributed Adaptive Resource Allocation (MADARA) Project is a middleware designed to provide core knowledge sharing capabilities for multi-agent robotics and real-time systems. MADARA includes a distributed knowledge base that aggregates changes to knowledge and sends them over an extensible transport system that currently supports UDP unicast, broadcast, and multicast, 0MQ, and RTTI DDS and PrismTech DDS.

We currently support compilation on Windows, Linux, Mac, and Android architectures using a variety of compilers such as clang, g++, and Visual Studio. We also support Java and Python ports of the C++ code base for portable multi-agent programming anywhere.

***

# Installation

[Installation](https://github.com/jredmondson/madara/wiki/Installation)

The MADARA project works closely with the Group Autonomy for Mobile Systems (GAMS) project. The installation scripts we have created there will automate installations for [Mac](https://github.com/jredmondson/madara/wiki/Installation#mac) and [Linux](https://github.com/jredmondson/madara/wiki/Installation#linux) users. For Android users, you will have to install the NDK / Android Studio separately and then you can use the same [Linux scripts](https://github.com/jredmondson/madara/wiki/Installation#linux). For [Windows users](https://github.com/jredmondson/madara/wiki/Installation#windows), the guide is a bit more user-error prone. We do have build scripts that use the Visual Studio command line, but VS2017 appears to have slowed down the build process with msbuild to a crawl, and we recommend simply building the projects generated by MPC directly to get everything compiled quickly.

***

# Help

Most of the Wiki pages have not been moved from their hosting on [SourceForge](https://sourceforge.net/p/madara/wiki/Home/). This is the best place to currently find visualizations, examples, and answers.

[Youtube Guide to Multi-Agent Autonomy](https://www.youtube.com/watch?v=Qvl3YriLMYI&list=PLSNlEg26NNpwi4ggcPYU8JvS1aVtV60_z)

[C++ API Docs](http://madara.readthedocs.io/) | [C++ Tutorial](https://sourceforge.net/p/madara/wiki/MadaraArchitecture/)
[Java Docs](http://madara.sourceforge.net/docs/java) | [Java Tutorial](https://sourceforge.net/p/madara/wiki/JavaMadaraArchitecture/)
205 changes: 0 additions & 205 deletions README.txt

This file was deleted.

0 comments on commit 9171352

Please sign in to comment.