siddhi-maven-archetype
Branch | Build Status |
---|---|
master |
This project contains components which implements functionality of siddhi-extensions Maven archetypes.
How to generate extension projects
To generate specific type of extensions archetype, issue the command from your CLI.
-
Siddhi Execution
mvn archetype:generate \ -DarchetypeGroupId=io.siddhi.extension.archetype \ -DarchetypeArtifactId=siddhi-archetype-execution \ -DgroupId=io.siddhi.extension.execution \ -Dversion=1.0.0-SNAPSHOT
Properties Description Mandatory Default Value _nameOfFunction Name of the custom function to be created Y - _nameSpaceOfFunction Namespace of the function, used to grouped similar custom functions Y - groupIdPostfix Namespace of the function is added as postfix to the groupId as a convention N {_nameSpaceOfFunction} artifactId Artifact Id of the project N siddhi-execution-{_nameSpaceOfFunction} classNameOfAggregateFunction Class name of the Aggregate Function N ${_nameOfFunction}AggregateFunction classNameOfFunction Class name of the Function N ${_nameOfFunction}Function classNameOfStreamFunction Class name of the Stream Function N ${_nameOfFunction}StreamFunction classNameOfStreamProcessor Class name of the Stream Processor N ${_nameOfFunction}StreamProcessor classNameOfWindow Class name of the Window N ${_nameOfFunction}Window -
Siddhi IO
mvn archetype:generate \ -DarchetypeGroupId=io.siddhi.extension.archetype \ -DarchetypeArtifactId=siddhi-archetype-io \ -DgroupId=io.siddhi.extension.io \ -Dversion=1.0.0-SNAPSHOT
Properties Description Mandatory Default Value _IOType Type of IO for which Siddhi-io extension is written Y - groupIdPostfix Type of the IO is added as postfix to the groupId as a convention N {_IOType} artifactId Artifact Id of the project N siddhi-io-{_IOType} classNameOfSink Class name of the Sink N {_IOType}Sink classNameOfSource Class name of the Source N {_IOType}Source -
Siddhi Map
mvn archetype:generate \ -DarchetypeGroupId=io.siddhi.extension.archetype \ -DarchetypeArtifactId=siddhi-archetype-map \ -DgroupId=io.siddhi.extension.map \ -Dversion=1.0.0-SNAPSHOT
Properties Description Mandatory Default Value _mapType Type of Mapper for which Siddhi-map extension is written Y - groupIdPostfix Type of the Map is added as postfix to the groupId as a convention N {_mapType} artifactId Artifact Id of the project N siddhi-map-{_mapType} classNameOfSinkMapper Class name of the Sink Mapper N {_mapType}SinkMapper classNameOfSourceMapper Class name of the Source Mapper N {_mapType}SourceMapper -
Siddhi Store
mvn archetype:generate \ -DarchetypeGroupId=io.siddhi.extension.archetype \ -DarchetypeArtifactId=siddhi-archetype-store \ -DgroupId=io.siddhi.extension.store \ -Dversion=1.0.0-SNAPSHOT
Properties Description Mandatory Default Value _storeType Type of Store for which Siddhi-store extension is written Y - groupIdPostfix Type of the Store is added as postfix to the groupId as a convention N {_storeType} artifactId Artifact Id of the project N siddhi-store-{_storeType} className Class name of the Store N {_storeType}EventTable -
Siddhi Script
mvn archetype:generate \ -DarchetypeGroupId=io.siddhi.extension.archetype \ -DarchetypeArtifactId=siddhi-archetype-script \ -DgroupId=io.siddhi.extension.script \ -Dversion=1.0.0-SNAPSHOT
Properties Description Mandatory Default Value _nameOfScript Name of Custom Script for which Siddhi-script extension is written Y - groupIdPostfix Name of the Script is added as postfix to the groupId as a convention N {_nameOfScript} artifactId Artifact Id of the project N siddhi-script-{_nameOfScript} classNameOfScript Class name of the Script N Eval{_nameOfScript} -
Siddhi TestSuite
mvn archetype:generate \ -DarchetypeGroupId=io.siddhi.extension.archetype \ -DarchetypeArtifactId=siddhi-archetype-testsuite \ -DgroupId=io.siddhi.testsuite \ -Dversion=1.0.0-SNAPSHOT
Properties Description Mandatory Default Value _nameOfTestsuite Name of TestSuite Y - groupIdPostfix Name of TestSuite is added as postfix to the groupId as a convention N {_nameOfTestsuite} package Package name for tests N io.siddhi.testsuite.{_nameOfTestsuite} artifactId Artifact Id of the project N siddhi-testsuite-{_nameOfTestsuite} classNameOfAbstractTest Class name of the AbstractTest logic common for both Integration and BlackBox tests N {_nameOfTestsuite}AbstractTestCase classNameOfUnitTest Class name of the UnitTest N {_nameOfTestsuite}UnitTestCase classNameOfIntegrationTest Class name of the IntegrationTest N {_nameOfTestsuite}IntegrationTest classNameOfBlackBoxTest Class name of the BlackBoxTest N {_nameOfTestsuite}BlackBoxTest
How to build from the source
Prerequisites
- Java 8 or above
- Apache Maven 3.x.x
Steps
- Install above prerequisites if they have not been already installed
- Get a clone or download source from Github
git clone https://github.com/wso2-extensions/siddhi-maven-archetype.git
- Run the following maven commands from siddhi-maven-archetype directory
mvn clean install
- Run the archetype creation with -DarchetypeVersion={SNAPSHOT version of the project}