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

  • Guidance for the automated build process

  • Encapsulate the complexities of multi environment builds and deploys to make delivering plugins easier.

  • Plugin changes are made in CMakeLists.txt, such as adding source and header files, so modification of other build files is unneccessary.

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

  • Local testing, conveniently build and load tarball into OpenCPN for testing.

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

  • CI Scripts for multiple build environment build and deployment.

    • Integration and use of Circleci and Appveyor for builds.

    • Deploy Plugin Manager tarballs and metadata to Cloudsmith.

    • Deploy Legacy Package Installation files to Cloudsmith {Windows.exe, Linux.deb and MacOS.pkg).

  • 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
Github     --> Appveyor --> 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.