Introducing WarpFleet™

WarpFleet

WarpFleet™ aims to facilitate Warp 10™’ add-ons sharing. You can now share extensions, plugins and macros packages easily and import them into a Warp 10™ instance.

Browse existing artifacts

Feel free to explore existing artifacts on https://warpfleet.senx.io/browse.

WarpFleet™ CLI

Interaction with the WarpFleet™ site is performed through the use of a command line interface (CLI) written in NodeJS. First be sure to have NodeJS v10+ installed.

$ [sudo] npm install -g @senx/warpfleet
$ wf

Retrieve an artifact

You have to precise where your Warp 10™ configuration file is located. WarpFleet™ CLI can now automatically fetch, install and manage dependencies of the chosen artifact. It will also give you the configuration keys you will have to add to the Warp 10™ configuration file.

$ wf g io.warp10 --conf=/path/to/warp10/etc/conf-standalone.conf
       ___       __                     _______________         _____
       __ |     / /_____ __________________  ____/__  /___________  /_
       __ | /| / /_  __ `/_  ___/__  __ \_  /_   __  /_  _ \  _ \  __/
       __ |/ |/ / / /_/ /_  /   __  /_/ /  __/   _  / /  __/  __/ /_
       ____/|__/  \__,_/ /_/    _  .___//_/      /_/  \___/\___/\__/
                                /_/                                        ™
? Which asset do you want to retrieve? (Use arrow keys)
❯ warp10-ext-barcode
  warp10-ext-jdbc
  warp10-ext-pcap
  warp10-ext-pmml
  warp10-ext-polyglot
  warp10-ext-s3
  warp10-ext-tensorflow
(Move up and down to reveal more choices)

Retrieve a group of artifacts

In your Warp 10™ installation directory, create a file named wf.json:

{
  "dependencies": [
    "io.warp10:warp10-ext-barcode:0.2.0",
    "io.warp10:warp10-ext-jdbc",
    "io.warp10:warp10-ext-pmml:latest",
    "io.warp10:warp10-ext-s3:+"
  ]
}

The syntax is: <group>:<artifact>:<version>

If you want the latest version of the artifact, you can avoid to precise the version, or use + or latest.

wf install will ask you if it automatically patch your Warp 10™ configuration in order to activate extensions or plugins. It will also deploy artifacts and macros into right directories.

$ wf install --conf=/path/to/warp10/etc/conf-standalone.conf        ___       __                     _______________         _____
       __ |     / /_____ __________________  ____/__  /___________  /_
       __ | /| / /_  __ `/_  ___/__  __ \_  /_   __  /_  _ \  _ \  __/
       __ |/ |/ / / /_/ /_  /   __  /_/ /  __/   _  / /  __/  __/ /_
       ____/|__/  \__,_/ /_/    _  .___//_/      /_/  \___/\___/\__/
                                /_/                                        ™
✔ ext io.warp10:warp10-ext-pmml#0.2.0 retrieved 
✔ ext io.warp10:warp10-ext-jdbc#0.1.0 retrieved 
✔ ext io.warp10:warp10-ext-barcode#0.2.0 retrieved 
✔ ext io.warp10:warp10-ext-s3#0.2.0-uberjar retrieved 
✔ Download successful: gradle-wrapper.jar 
✔ Download successful: gradlew 
✔ Download successful: gradlew.bat 
✔ Dependency commons-math3-3.6.1.jar successfully deployed 
✔ Dependency core-3.3.3.jar successfully deployed 
✔ Dependency guava-27.0-jre.jar successfully deployed 
✔ Dependency pmml-agent-1.4.8.jar successfully deployed 
✔ Dependency pmml-evaluator-1.4.6.jar successfully deployed 
✔ Dependency pmml-model-1.4.8.jar successfully deployed 
✔ Dependency warp10-ext-barcode-0.2.0.jar successfully deployed 
✔ Dependency warp10-ext-jdbc-0.1.0.jar successfully deployed 
✔ Dependency warp10-ext-pmml-0.2.0.jar successfully deployed 
✔ Dependency warp10-ext-s3-0.2.0-uberjar.jar successfully deployed 
✔ Please add this conf entries to /opt/warp10-1.2.11-rc4/etc/conf-standalone.conf warpscript.extension.jdbc=o.warp10.script.ext.jdbc.JDBCWarpScriptExtension 
✔ Done

Create an extension

For security reasons, if you want to be a WarpFleet™ publisher, you have to be authenticated. Find more info here.

$ wf i
       ___       __                     _______________         _____
       __ |     / /_____ __________________  ____/__  /___________  /_
       __ | /| / /_  __ `/_  ___/__  __ \_  /_   __  /_  _ \  _ \  __/
       __ |/ |/ / / /_/ /_  /   __  /_/ /  __/   _  / /  __/  __/ /_
       ____/|__/  \__,_/ /_/    _  .___//_/      /_/  \___/\___/\__/
                                /_/                                        ™
? What do you want to develop? (Use arrow keys)
❯ Extension
  Macro package
  Plugin

Choose extension for example. Some indications:

  • group: must reflect a domain name you own (ie. com.mycompany)
  • artifact: your module name
? What do you want to develop? Extension
? Enter project's group: io.warp10.ext.example
? Enter assets's name: my-awesome-module
? Enter assets's version: 0.0.1
? Enter project's description: A great extension for Warp 10
? Enter author's name: Your Name
? Enter email address: your.email@server.com
? Enter license: Whatever
? Enter GIT repo url: https://github.com/pseudo/my-awesome-module
? Enter Maven repo url root: https://dl.bintray.com/myCompany/maven/
? Coma separated list of tags
? Is all OK?
{
    "type": "ext",
    "group": "io.warp10.ext.example",
    "artifact": "my-awesome-module",
    "version": "0.0.1",
    "description": "A great extension for Warp 10",
    "author": "Your Name",
    "email": "your.email@server.com",
    "license": "Whatever",
    "git": "https://github.com/pseudo/my-awesome-module",
    "tags": []
} (Y/n)

Confirm. You can change everything later. It is stored in src/main/resources/wf.json.

? Is all OK?
{
    "type": "ext",
    "group": "io.warp10.ext.example",
    "artifact": "my-awesome-module",
    "version": "0.0.1",
    "description": "A great extension for Warp 10",
    "author": "Your Name",
    "email": "your.email@server.com",
    "license": "Whatever",
    "git": "https://github.com/pseudo/my-awesome-module",
    "repoUrl": "https://dl.bintray.com/myCompany/maven/",
    "tags": []
} Yes
[INFO] Retrieving starter kit
[INFO] Cleaning starter kit
[INFO] Generating artifacts
[INFO] Generating WarpFleet files
? my-awesome-module/README.md already exists, do you want to overwrite it? Yes
[SUCCESS] Successful
[SUCCESS] Asset generated

You now have a bootstrapped Warp 10™ extension.

Share