Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installable plugin generation #35

Merged
merged 18 commits into from
Sep 18, 2019
Merged

Installable plugin generation #35

merged 18 commits into from
Sep 18, 2019

Conversation

leamas
Copy link
Contributor

@leamas leamas commented Sep 15, 2019

This series basically make the plugin usable as a downloadable artifact for the new plugin installer at OpenCPN/OpenCPN#1457. It does not affect the current package generation (knock, knock...)

In short it provides:

  • Some muted warnings
  • A more robust handling of the plugin API, notably on windows.
  • Generation of XML metadata and an installable tarball.
  • ci scripts which builds when committed and also optionally deploys artifacts to cloudsmith.io.
  • flatpak, mingw, msvc, macos and xenial builds.

The standard PluginInstall has a nasty bug which uses the source
path as part of installation path. Remove, and use a simple
OpenCPN.app prefix

The loader expects the apple tarball to have paths like:

  - OpenCPN.app/Contents/PlugIns: .dylib plugin file, binaries
    and helper libs.
  - OpenCPN.app/Contents/Resources: .lproj gettext translations
    directories.

The prefix is discarded and could be anything.

Let "make package" build both the traditional installer and the
new installation tarball. Remove references to other formats,
notably rpm.
Some places including bintray uses a common namespace for all
plugins. Make sure the plugin filename is unique by including
both source and target name and version.
We are using deprecated and finally failing stuff.
See: OpenCPN/OpenCPN#1452
Updating the key is error-prone and requires the secret key. It
also requires the travis command line utility. Using that and
the key I was finally able to update .travis.yml using

travis encrypt -x -a deploy.key -r leamas/squiddio_pi  <my key>

-x: Overwrite existing key
-r: Name of repo

Note that the repo is part of the key so after forking a new,
encrypted key must be generated.
The travis bintray integration seems just unstable. Use a raw
access to the REST API in a shellscript instead.
... and move tarball location to cloudsmith
@leamas leamas mentioned this pull request Sep 16, 2019
@mauroc mauroc merged commit 6d521b1 into mauroc:master Sep 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants