Skip to content

RedhawkSDR/enterprise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redhawk Enterprise Integration

This repository provides a suite of assets for interacting with REDHAWK from a JRE. Below are the main assets and a brief description:

  • REDHAWK Driver: Provides simplified access to REDHAWK via standard Java interfaces. This Asset shields all interaction with the underlying REDHAWK Components and provides a simplified API for Java developers interacting with a REDHAWK Domain. The REDHAWK Driver can be leveraged as a standalone Java Archive (JAR) file.

  • REDHAWK OSGi Connector: Implements OSGi’s Managed Service Factory interface to allow users to register pre-configured instances of REDHAWK connections into a Karaf container.

  • REDHAWK REST: Provides a REST Service to command and control a REDHAWK instance.

  • REDHAWK WebSocket: Provides an HTML5-compliant WebSocket implementation that enables the ability to stream data from any REDHAWK BulkIO-enabled Port or Event Channel.

  • Camel REDHAWK: Provides a Camel Component for interacting with a REDHAWK Domain. This Component can be connected with other Apache Camel Components as a data flow solution.

Building From Source

The REHDAWK Enterprise Integration assets depends on some dependencies that Core Framework builds:

  • ossie

  • BULKIOInterfaces

  • FRONTENDInterfaces

  • CFInterfaces

In order to make sure those dependencies are avaialbe for you when building from source. You must first run the profile:

mvn -PCFDependencies clean install

Running that command will put the Core framework dependencies in your defined .m2 repository so the default build of all the artifacts will have all the dependencies it needs. You only need to run this command once.

In order to build the artifacts that encompass Redhawk Java Tools from source. Run the following command:

Important

Maven 3.1.0+ is required for this build.

mvn clean install

Build Docs

Each individual project has it’s own readme defining how to build it’s docs. If you’d like to build the full user manual. Run this profile:

mvn -P jaxb-generation,docs install

Build All Artifacts

To build the docs and demos you can run the following command:

mvn -Djava.io.tmpdir=./ deploy -P docs,jaxb-generation,default

Running Integration Tests

Currently the integration tests are run off a local install of REDHAWK. The domain is run locally and uses the following defaults:

  • port: 2809

  • domainName: REDHAWK_DEV

Once you have REDHAWK installed and a domain configured with the defaults listed above. You can run this command to get the integration tests to work:

mvn -PlocalIT clean install

This will be made more configurable in the future and will eventually also have an option to run off a docker image of REDHAWK.

Trouble Shooting

If you run into this error building the docs

[ERROR] Failed to execute goal org.asciidoctor:asciidoctor-maven-plugin:1.5.3:process-asciidoc (output-pdf) on project redhawk-rest: Execution output-pdf of goal org.asciidoctor:asciidoctor-maven-plugin:1.5.3:process-asciidoc failed: org.jruby.exceptions.RaiseException: (NotImplementedError) fstat unimplemented unsupported or native support failed to load -> [Help 1]

You’ll need to specify the java.io.tmpdir with your maven command. So your command will end up looking like this:

mvn -Djava.io.tmpdir=./ -P jaxb-generation,docs install

The build uses the frontend-maven-plugin for doing the node and npm portions of the build. The plugin enables developers to only need maven for the build instead of worrying about installing node/npm as well. The frontend-maven-plugin relies on being able to talk to npm and node repos to get node and & npm. If you’re behind a proxy and need to do the full build run the following command:

mvn clean install -P default,docs,jaxb-generation,proxy

This work is protected by Copyright. Please refer to the COPYRIGHT File for more details.