Getting started with the Edgent samples is a great way to start using Edgent and jump-start your Edgent application development.
See IDE Quickstart if you want use an IDE instead of the command line.
Convenience binaries (jars) for the Edgent runtime releases are distributed to the ASF Nexus Repository and the Maven Central Repository. You don't have to manually download the Edgent jars and there is no need to download the Edgent runtime sources and build them unless you want to.
By default the samples depend on Java8. Download and install Java8 if needed.
Get the Edgent Samples either by cloning or downloading the Edgent Samples GitHub repository:
git clone https://github.com/apache/incubator-edgent-samples cd incubator-edgent-samples git checkout develop
or to download:
unzip incubator-edgent-samples-develop.zip
cd <the cloned or unpacked samples folder> ./mvnw clean package # build for Java8
cd topology ./run-sample.sh HelloEdgent # prints a hello message and terminates Hello Edgent! ...
The Edgent samples are organized into a few categories (subdirectories) and are a collection of maven projects. They can be built using maven or other maven-integrated tooling such as Eclipse - see IDE Quickstart.
See the Samples Summary section for a list of the samples.
An Edgent application template maven project is supplied. It may be a useful starting point to clone for your application. The template has a standalone maven project pom rather than the stylized one used by the rest of the samples. See template/README.md.
See APPLICATION_DEVELOPMENT.md for general information on Edgent Application Development, Packaging and Execution.
Additional information may also be found in Getting Started https://edgent.apache.org/docs/edgent-getting-started
Once you have downloaded and unpacked the samples source bundle or cloned the the samples repository you need to download these additional development software tools.
Maven is used as build tool and a maven-wrapper script (mvwn
or mvnw.bat
) is included.
The maven-wrapper automatically downloads and installs the correct Maven version and uses it. Besides this, there is no difference between using the mvnw
command and the mvn
command.
The samples use Edgent SDK jars that have been released in a maven repository such as Maven Central.
Alternatively, you can download the Edgent SDK sources and build them. See downloads for downloading the Edgent SDK sources.
By default Java8 class files are generated. Java7 platform class files are produced when the appropriate profile is specified.
Currently, building and running the samples for the Android platform is not supported. Many samples happen to use the DevelopmentProvider
, which is not supported on the Android platform.
Build the samples
./mvnw clean package # -Pplatform-java7 as needed
A standard jar and uber jar are created for each sample category in the sample category's target directory: <category>/target
.
To change the version of the Edgent runtime artifacts used, edit the edgent.runtime.version
property in the top level pom.xml
. e.g.,
<edgent.runtime.version>1.3.0-SNAPSHOT</edgent.runtime.version>
Note: Do NOT override the value via ./mvnw ... -Dedgent.runtime.version=<the-version>
. The build will not behave as desired.
A similar declaration is present in template/pom.xml. When running get-edgent-jars.sh, specify --version=<the-version>
.
See the README.md
in each sample category directory for information on running the samples.
Many other samples are provided but have not yet been noted above. Explore!
Apache Edgent samples are released under the Apache License Version 2.0.
Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.