Testplugin Template

Testplugin(TP) provides Plugin Developers with a prebuilt and tested CMake Template to enable Continuous Integration (CI) to manage the routine tasks required to build and deploy multiple build environments.

No longer waste time with manual releases! Integrate your workflow with OpenCPN Plugin Manager and User Interface.

Features

  • Automated build process

  • Encapsulate multi environment build and deployment.

  • CMakeLists.txt is for Plugin specifics to simplify setup.

  • Preconfigured CMake code creates working metadata.xml and compressed tarballs.

  • Local testing, build and "Import Plugin Tarball" into OpenCPN.

  • Build and deploy logical switches to speed up online Circleci builds and testing.

  • CI Scripts for build and deployment.

    • CircleCI: Build Engine.

    • Cloudsmith: Repository for deployment of Plugin Manager tarballs and metadata.

  • Convenient Library Maintenance by executing a script

Workflow

CMake and CMakeLists.txt controls the processes below via ci scripts and utilizes the plugins github resource for each environment.

Plugin                                     Library    Metadata
Repository --> Build    --> Deploy     --> Script --> Catalog
Github     --> CircleCi --> Cloudsmith --> PI Dev --> User loads

For more details about the entire system review Plugin Manager Installer Documents

Prerequisites

We hope you understand and have completed these steps, including completing Services and Cloudsmith Setup.

Plugin Adaptation

You may have to adapt the plugin in various ways. Please review the items in this link Plugin Adaptation

About

To improve the PI Dev experience, Jon Gough has generously improved and maintained the workflow of the Tesplugin CMake Templates. Also the author of the main program’s Plugin Manager, Alec Leamas, should be recognized for his work.