OpenCPN / plugins

Container Project for an Integrated Plugin Management Facility
17 stars 20 forks source link

OpenCPN/plugins Alpha Branch Meta-url feature no longer works #381

Closed rgleason closed 3 years ago

rgleason commented 3 years ago

I would like to test Jon Gough's android builds for Watchdog and have pushed Watchdog v2.4.30.9 xmls into my meta-url "rg-alpha" , however these are no longer seen or recognized when I select the alpha channel under Opencpn Options Plugins.

This feature is very useful for testing and should be restored. It was working until recently.

These files should be available https://github.com/rgleason/plugins/tree/rg-alpha/metadata

I note that Jon Gough's meta url has been removed on his remote plugins repository. See https://github.com/rgleason/plugins/tree/Alpha/metadata and the contents of his meta-url https://github.com/rgleason/plugins/blob/Alpha/metadata/meta-url-alpha-jg-plugins.xml

While Jon may not use this feature which does not require bdbcat to accept a PR before being able to test a download, I find it very useful for ubuntu in a virtualbox and android testing of plugins because it eliminates the hastle of moving files around through different OS and it allows us to use the PIM interface with no intervention by someone else.

See https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:developer_manual:pi_installer_opencpn_plugins#create_a_meta-url_on_alpha_branch

rgleason commented 3 years ago

As a result of not being able to use my meta-url to issue a test version of a plugin, I pushed watchdog v2.4.31.0 to "master" thinking, hoping it would be ok.

It was not, there is a "setpoint" undefined symbol for Ubuntu 18.04 but not Ubuntu 20.1 It works in Windows. Android does not work.

Perhaps I should have used "Beta"?

Should I push a previous version to plugins now?

bdbcat commented 3 years ago

Rick... "It was working until recently." Are you sure? For Android? I'm not aware of any testing done on this feature for Android in current (Playstore) production. An any case, you can use the Beta branch for initial plugin testing on any platform. While this would be accessible to average users, none are likely to get there by accident.

rgleason commented 3 years ago

I meant the meta-url feature of the Alpha channel is not working and I think it was working until recently. Sorry for the confusion.

Sometime ago you merged my meta_url https://github.com/OpenCPN/plugins/pull/19 I could add metadata to the alpha branch, run the script to update the alpha ocpn_plugins.xml and those plugins metadata would be used by PIM when on the alpha channel.

This no longer happens.

rgleason commented 3 years ago

PS: About Watchdog, about Sept 2020 you had worked on watchdog to get it running on android. Update circle-ci build script for android-armhf https://github.com/rgleason/watchdog_pi/commit/3de83c5d63d4e65aa1c6229bb42f9176dc499302

So I think it used to run on Android too. I don't know if it was fully tested out.

bdbcat commented 3 years ago

'This no longer happens." On all platforms (e.g. Windows)? Or just Android?

rgleason commented 3 years ago

Maybe the way the Alpha branch ocpn_plugins.xml is generated by script has changed so that it does not include the meta_url ocpn_plugins.xml?

For example, rgleason/plugins/ rg-alpha branch looking in the ocpn_plugins.xml file
None of these plugins appear in PIM alpha catalog.

If they did it would make testing much easier on various platforms, such as windows, ubuntu, and android. .....and we would not have to ask you to merge PR's. You had it worked out before.

bdbcat commented 3 years ago

Rick... Probably you are correct that the meta-url is somehow dropped in the catalog publish operation. Will you post a metadata XML file for a single plugin, single platform, that contains a meta_url? I will debug...

rgleason commented 3 years ago

Thanks, will do after sailing

rgleason commented 3 years ago

See https://github.com/OpenCPN/plugins/issues/390#issuecomment-872923221 I believe this is working, (of course its totally dependent on proper user actions)
I need to start using this more often, but the more local PIM "Import Plugin" is a Very nice feature that I use all the time for testing builds

BTW When I pushed the commit to rgleason/plugins/rg-alpha branch I had to use the --no-verify parameter due to a message that the xsd could not be found.

rgleason commented 3 years ago

Well, I was wrong. The meta-url feature is not working after all.

I have just pushed recently updated watchdog 2.4.32.1 metadata files into my remote plugins/rg-alpha directory https://github.com/rgleason/plugins/tree/rg-alpha

In windows Opencpn with the config.ini having a setting under Plugins of [PlugIns] catalogexpert=1

Selecting the Alpha channel, and updating the catalog, I should be able to select and install watchdog 2.4.32.1 I cannot. Screenshot (288) Screenshot (289)

Reestablishing this very useful feature which has been lost would really help with testing a plugin and would save time and make it more convenient for testers.

bdbcat commented 3 years ago

Rick... Please publish here the metadata entry for this plugin. I assume the same is now available in the OpenCPN Alpha catalog?

rgleason commented 3 years ago

https://github.com/OpenCPN/plugins/blob/Alpha/metadata/meta-url-alpha-seandepagnier-rgleason.xml plugins/metadata/meta-url-alpha-seandepagnier-rgleason.xml

lines (7 sloc) 340 Bytes
<?xml version="1.0" encoding="UTF-8"?>
<opencpn-plugin version="1">
  <name> Sean Depagnier Alpha Plugins meta-url </name>
  <version> 1.0 </version>
  <summary> meta-url to Sean's Alpha Plugins by rgleason </summary>
    <meta-url> https://raw.githubusercontent.com/rgleason/plugins/rg-alpha/ocpn-plugins.xml </meta-url>
</opencpn-plugin>
rgleason commented 3 years ago

Looking at this, I realize that my rg-alpha/ocpn-plugins.xml should be updated! Let me check if this just happened or if I need to do it manually.

rgleason commented 3 years ago
Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha)
$ git commit -am "regenerate ocpn-plugins.xml for watchdog"
ocpn-plugins.xml:2: element plugins: Schemas validity error : Element 'plugins': No matching global declaration available for the validation root.
ocpn-plugins.xml fails to validate

Comparison between schema.xsd and ocpn-plugins.xml

<xs:element name="plugin">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="name" type="xs:token"/>
      <xs:element name="version" type="xs:token"/>
      <xs:element name="release" type="xs:token"/>
      <xs:element ref="summary"/>
      <xs:element name="api-version" type="xs:token"/>
      <xs:element name="open-source" type="xs:token"/>
      <xs:element name="author" type="xs:token"/>
      <xs:element name="source" type="xs:token"/>
      <xs:element name="info-url" type="xs:token" minOccurs="0" maxOccurs="1"/>
      <xs:element name="description" type="xs:string"/>
      <xs:element ref="target"/>
      <xs:element ref="build-target" minOccurs="0" maxOccurs="1"/>  <!-- Deprecated, not used. -->
      <xs:element ref="build-gtk" minOccurs="0" maxOccurs="1"/>  <!-- Deprecated, not used. -->
      <xs:element name="target-version" type="xs:token"/>
      <xs:element ref="target-arch"/>
      <xs:element name="tarball-url" type="xs:token"/>
      <xs:element name="tarball-checksum" type="xs:token"
                  minOccurs="0" maxOccurs="1"/>
      <xs:element name="info-url" type="xs:token" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="version" type="xs:string" use="required"/>
  </xs:complexType>
</xs:element>
<plugins>
  <version>0.0.0</version>
  <date>2021-07-22 20:00</date>
  <plugin version="1">
    <name> Watchdog </name>
    <version> 2.4.32.1 </version>
    <release> 1 </release>
    <summary> Implement watchdog ability for opencpn </summary>
    <api-version> 1.16 </api-version>
    <open-source> yes </open-source>
    <author> Sean d'Epagnier </author>
    <source> https://github.com/rgleason/watchdog_pi </source>
    <description>
Set alarms for changing conditions, boundaries, cog, landfall, ais, wind, nmea, weather, pypilot, wind, deadman...
</description>
    <target>darwin</target>
    <build-target>darwin</build-target>
    <build-gtk/>
    <target-version>11.4</target-version>
    <target-arch>x86_64</target-arch>
    <tarball-url>
https://dl.cloudsmith.io/public/opencpn/watchdog-alpha/raw/names/watchdog_pi-2.4.32.1-darwin-x86_64-11.4-macos-tarball/versions/2.4.32.1+2814.e7c6d58/watchdog_pi-2.4.32.1-darwin-x86_64-11.4-macos.tar.gz
</tarball-url>
    <info-url> https://opencpn.org/OpenCPN/plugins/watchdog.html </info-url>
  </plugin>
rgleason commented 3 years ago

How would I fix this?

rgleason commented 3 years ago

Master, Beta and Alpha have been changing with scripts. What do I have to with rg-alpa ? git branch -m rg-alpha rg-alpha.old

Then what?

bdbcat commented 3 years ago

Rick... I have added the required xsd validation tag for "meta-url" to Alpha branch only. So you can try a PR to Alpha branch with your meta-url , and we shall see. I do not know what rg-alpha is. A fork of Alpha?

rgleason commented 3 years ago

rg-alpha is a fork of alpha. Perhaps I should just use alpha and not make a pull request? However I would need to update the ocpn-plugins.xml wouldn't I?

Perhaps using alpha branch directory would be simpler.

bdbcat commented 3 years ago

Lets try a PR to Alpha. If it works OK, you can adapt rg-alpha plugin.xsd in the same way.

rgleason commented 3 years ago

Is the script for meta-url looking for metadata files in the metadata directory or for a updated ocpn-plugins.xml on my repository? If I use Alpha I am going to need to change the metadata url.

rgleason commented 3 years ago

I realize I can't use Alpha, that is for Alpha metadata, I need to have another companion branch rg-alpha.

I've pulled a new virgin Alpha branch from upstream then checked Alpha out to a new virgin rg-alpha Removed the metadata files and added the new watchdog metadata, leaving the meta_urls.

When I try to push to remote

Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha)
$ git commit -am "watchdog 2.4.32.1"
C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd:26: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'ref': The QName value 'meta-url' does not resolve to a(n) element declaration.
WXS schema C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd failed to compile

Now removing the two meta_rul metadada from rg-alpha leaving metadatabuilder

Still get Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha) $ git commit -am "watchdog 2.4.32.1" C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd:26: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'ref': The QName value 'meta-url' does not resolve to a(n) element declaration. WXS schema C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd failed to compile

Now removing metadatabuilder

Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha)
$ git commit -am "watchdog 2.4.32.1"
C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd:26: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'ref': The QName value 'meta-url' does not resolve to a(n) element declaration.

WXS schema C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd failed to compile

Something isn't working. Can't commit my changes.

Finally going sailing today for about 3 days.

rgleason commented 3 years ago

Then tried to push watchdog changes up to Alpha

Rick@Dart MINGW64 ~/documents/github/plugins (Alpha)
$ git commit -am "watchdog 2.4.32.1"
C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd:26: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'ref': The QName value 'meta-url' does not resolve to a(n) element declaration.
WXS schema C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd failed to compile
rgleason commented 3 years ago

Have just added to beta which works

bdbcat commented 3 years ago

RIck... Corrected ocpn-plugin.xsd in Alpha branch, seems ok now by simple test.

rgleason commented 3 years ago

Thanks. Will use it in 3 days

jongough commented 3 years ago

Just tried to update the alpha branch but the xsd has changed and seems to require "meta-url" which no other xsd does, so the validate process fails.

The alpha branch has a file "ocpn-plugins.xsd" which is supposed to allow new versions to be added to the cloudsmith repository which can be found without having to update the full opcn-plugin.xsd. Has this changed?

bdbcat commented 3 years ago

Jon... Sorry about that. "ocpn-plugin.xsd" is corrected now. "ocpn-plugins.xsd" has not changed lately. Content is not very complex...

rgleason commented 3 years ago

I tried the meta-url from my rg-alpha branch because that is where my meta-url points to.

Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha)
$ git add metadata/

Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha)
$ git status
On branch rg-alpha
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        deleted:    metadata/o-charts-plugin-android-arm64-16.xml
...
        deleted:    metadata/ocpn_draw_pi-1.8.6.9-android-arm64-16-android-arm64.xml
...
        deleted:    metadata/testplugin_pi-1.0.168.0-android-arm64-16-android-arm64.xml
...
        new file:   metadata/watchdog_pi-2.4.32.1-darwin-x86_64-11.4-macos.xml
        new file:   metadata/watchdog_pi-2.4.32.1-debian-x86_64-10-buster.xml
        new file:   metadata/watchdog_pi-2.4.32.1-flatpak-aarch64-20.08-flatpak-arm64.xml
        new file:   metadata/watchdog_pi-2.4.32.1-flatpak-x86_64-18.08-flatpak.xml
        new file:   metadata/watchdog_pi-2.4.32.1-flatpak-x86_64-20.08-flatpak.xml
        new file:   metadata/watchdog_pi-2.4.32.1-mingw-x86_64-10-mingw.xml
        new file:   metadata/watchdog_pi-2.4.32.1-msvc-x86_64-10.0.14393-MSVC.xml
        new file:   metadata/watchdog_pi-2.4.32.1-raspbian-armhf-10.xml
        new file:   metadata/watchdog_pi-2.4.32.1-raspbian-armhf-9.13.xml
        new file:   metadata/watchdog_pi-2.4.32.1-ubuntu-x86_64-16.04-xenial.xml
        new file:   metadata/watchdog_pi-2.4.32.1-ubuntu-x86_64-18.04-bionic-gtk3.xml
        new file:   metadata/watchdog_pi-2.4.32.1-ubuntu-x86_64-18.04-bionic.xml
        new file:   metadata/watchdog_pi-2.4.32.1-ubuntu-x86_64-20.04-focal-gtk3.xml

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        FETCH_HEAD

Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha)
$ git commit -am "watchdog v2.4.32.1 test to fix flatpak"
C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd:26: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'ref': The QName value 'meta-url' does not resolve to a(n) element declaration.
WXS schema C:/Users/Rick/Documents/GitHub/plugins/ocpn-plugin.xsd failed to compile

Rick@Dart MINGW64 ~/documents/github/plugins (rg-alpha)

What should I do, change the meta-url to Alpha and try this?

rgleason commented 3 years ago

It appears that your changes have fixed Jon's problem and eliminated the meta-urls. I can't even commit the changes.

rgleason commented 3 years ago

Changed the meta-url and tried to commit on Alpha branch Sorry but this is not working.

Rick@Dart MINGW64 ~/documents/github/plugins (Alpha)
$ git status
On branch Alpha
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    metadata/meta-url-alpha-seandepagnier-rgleason.xml

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        FETCH_HEAD
        metadata/meta-url-alpha-rg-plugins.xml

no changes added to commit (use "git add" and/or "git commit -a")

Rick@Dart MINGW64 ~/documents/github/plugins (Alpha)
$ git add metadata/

Rick@Dart MINGW64 ~/documents/github/plugins (Alpha)
$ git commit -am "meta-url-alpha-rg-plugins.xml change"
metadata/meta-url-alpha-rg-plugins.xml:5: element summary: Schemas validity error : Element 'summary': This element is not expected. Expected is ( release ).
metadata/meta-url-alpha-rg-plugins.xml fails to validate
rgleason commented 3 years ago

Content of new meta-url on Alpha but the commit was Not Accepted.

meta-url-alpha-rg-plugins.xml

<?xml version="1.0" encoding="UTF-8"?>
<opencpn-plugin version="1">
  <name> Rick Gleason Alpha Plugins meta-url </name>
  <version> 1.0 </version>
  <summary> meta-url rgleason Alpha Plugins </summary>
    <meta-url> https://raw.githubusercontent.com/rgleason/plugins/Alpha/ocpn-plugins.xml </meta-url>
</opencpn-plugin>
rgleason commented 3 years ago

Idea:
Why not dedicate Alpha to be just for meta-url for preliminary testing etc with no intervention required? Then use Beta for normal push of metadata just like master branch. We don't need two testing branches work like beta.

bdbcat commented 3 years ago

Rick... Just to be clear: Are you working from the current plugins Alpha branch on github? Or on some other branch (e.g.r g-alpha)? Where is rg-alpha?

rgleason commented 3 years ago

As shown above, I have tried both rg-alpha (checkout from Alpha) and Alpha. They both fail.

Working from current pllugins Alpha branch on github. Have done git pull upstream (your repos) Alpha, then git push origin Alpha

Also I have tried to totally changed my meta-url name and content to point to Alpha but the commit fails as shown above. https://github.com/OpenCPN/plugins/issues/381#issuecomment-888311118

This is what I am trying to commit and push to Alpha https://github.com/OpenCPN/plugins/issues/381#issuecomment-888312673

Why can't this be reverted back to a time when it worked?

bdbcat commented 3 years ago

I'll take a look at this later today. "Why can't this be reverted back to a time when it worked?" Because we added strict XML checking due to popular demand, and meta-url tags were not being used actively at that time. If we revert, we break all XML validation, and I don't think we want to do that.

rgleason commented 3 years ago

Humm. On Alpha only, Could we just send a signal to somehow merge a commit? Or does that make you uncomfortable?

It sure would be nice to have those meta-urls working, but if it is too complicated, I will just push to Beta. The reason I'd like this is to test plugins on Ubuntu and Android without having to copy tarballs all over creation. I don't think may users are trying them out because months later I find out somethiing does not work.

bdbcat commented 3 years ago

Rick... OK, here is the deal. Now that we have very strict XML validation implemented, one needs to push a more complete XML file describing the meta-url target. Here is what you should commit:

<?xml version="1.0" encoding="UTF-8"?>
<opencpn-plugin version="1">
  <name> Rick Gleason Alpha Plugins meta-url </name>
  <version> 1.0 </version>
  <release> 0 </release>
  <summary> meta-url rgleason Alpha Plugins </summary>
  <api-version>  </api-version>
  <open-source> yes </open-source>
  <author>  </author>
  <source>  </source>
  <description>  </description>
  <target>all</target>
  <target-version> </target-version>
  <target-arch>noarch</target-arch>
  <tarball-url>  </tarball-url>
  <meta-url> https://raw.githubusercontent.com/rgleason/plugins/Alpha/ocpn-plugins.xml </meta-url>
</opencpn-plugin>

Of course, some of the required tags are non-sense in the context of a meta-url definition. But they are required, since we are "masquerading" as a valid plugin with this meta-url definition file.

This style of meta-url definition file commits OK. Runtime action not verified, but should now be OK. Dave

rgleason commented 3 years ago

I finally had some time to try the Alpha branch recent changes for meta-url use. Weather_routing v1.13.30.0 was added to local metadata, and pushed to my remote Alpha branch https://github.com/rgleason/plugins/tree/Alpha/metadata

I did not make a PR to opencpn/plugins as that is the purpose of a meta-url, to avoid having to do that.

With
[PlugIns] catalogexpert=1

I selected "Alpha" and tried to load it. There was a long pause and Opencpn went grey and never completed. I tried that again. Same issues. So I went back into opencpn.ini / config and changed "alpha" back to LatestCatalogDownloaded=master

Now Opencpn starts ok and I can update master, Beta but not Alpha, it just hangs up thinking with an hourglass.

Is it because of having to resolve duplicate metadata? Perhaps I should delete Jon's metadata that is in my local repos?

rgleason commented 3 years ago

I tried removing all metadata except weather_routing, from my remote rgleason/plugins branch Alpha https://github.com/rgleason/plugins/tree/Alpha/metadata

and loading Opencpn after changing LatestCatalogDownloaded=master

but the Options > Plugins still seems to hang up trying to download or something. Why isn't the opencpn.ini file change LatestCatalogDownloaded=master making a difference?

rgleason commented 3 years ago

Tried again, from start. Still hangs up. Is there a cache that needs clearing or something?

rgleason commented 3 years ago

Have now tried setting catalogexpert=0 and Opencpn still hangs up when going to Options > Plugins. What needs clearing here? Why does this happen?

rgleason commented 3 years ago

Log file shows:

16:29:16.515 WARNING Downloader.cpp:84 Failed to get 'https://raw.githubusercontent.com/rgleason/plugins/rg-alpha/ocpn-plugins.xml' [The requested URL returned error: 404 Not Found]

16:29:17.156 WARNING Downloader.cpp:84 Failed to get 'https://raw.githubusercontent.com/rgleason/plugins/rg-alpha/ocpn-plugins.xml' [The requested URL returned error: 404 Not Found]

Ok so there's a path somewhere that is not right and referring to the old rg-alpha repos.

rgleason commented 3 years ago

Next, locally under the Alpha branch, I did

> python tools/ocpn-metadata generate --userdir metadata --destfile ocpn-plugins.xml  --force

to regenerate the opcn-plugins.xml

This worked and only weather_routing metadata was in it because I had removed all the other external metadata from the metadata folder.

Next I tried pushiing that up to my remote rgleason/plugins Alpha branch but it would not work.

Opencppn still hangs up when going to Opptions > Plugins.

This is pretty broken and not very user friendly, but it is for devs. There could be some clues here about what the issue is.

Process: I am not sure what the process should be yet. Am I supposed to make the ocppn-plugins.xml file that gets uploaded to my remote repos? I think that is the way it used to be done.

rgleason commented 3 years ago

This is what I was trying to push up to rgleason/plugins// Alpha

ocpn-plugins.xml.docx

What is up there now has all the xml data See https://github.com/rgleason/plugins/blob/master/ocpn-plugins.xml

Also opencpn options>plugins is still broken even though catalogexpert=0

rgleason commented 3 years ago

Here is the result of going to Options > Plugins Screenshot (299)

with an endless hourglass.

This is loading Opencpn after changing LatestCatalogDownloaded=master with catalogexpert=0

What is causing this problem?

bdbcat commented 3 years ago

Rick... Root cause of the problem is missing meta-url. Fixed in github source. Please pull, rebuild, and try again. Dave

bdbcat commented 3 years ago

Rick.... Several things wrong here.

  1. The code logic did not gracefully handle erroneous meta-urls ( like this one: 'https://raw.githubusercontent.com/rgleason/plugins/rg-alpha/ocpn-plugins.xml, which is 404)
  2. The code logic did not properly handle multiple recursive meta-urls, that is, a meta-url spec that points back to itself, however indirectly. Note that this is indicative of incorrectly crafted metadata.
  3. Those two items are fixed in github now.

To use the meta-url function:

  1. The current Alpha catalog is OK, needs no change. It has a meta-url pointing to: https://raw.githubusercontent.com/rgleason/plugins/Alpha/ocpn-plugins.xml
  2. The code will fetch and merge the catalog at that url.
  3. You must populate that url with "real" plugins, usually one at a time. At the moment, I do not see anything related to weather-routing at that url. Probably best if that catalog does not include further meta-url statements, at least to start.

The code does not hang or crash now. But of course, with incorrect metadata, runtime results are undefined. GIGO. Best to start simple.

Dave

rgleason commented 3 years ago

Dave, thanks that is helpful. I think it is about to work, but the ocpn-plugins.xml created by

python tools/ocpn-metadata generate --userdir metadata --destfile ocpn-plugins.xml --force

does not appear to be the right format. ocpn-plugins.xml.docx

On github rgleason plugins Alpha branch https://github.com/rgleason/plugins/blob/Alpha/ocpn-plugins.xml

The metadata files appear to have been uploaded by the commit, but the ocpn-plugins.xml was not accepted I believe. https://github.com/rgleason/plugins/tree/Alpha/metadata

Rick@Dart MINGW64 ~/documents/github/plugins (Alpha)
$ git commit -am "add weather_routing 1.13.30.0 for meta-url"
metadata/weather_routing_pi-1.13.30.0-darwin-x86_64-11.4-macos.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-debian-x86_64-10-buster.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-flatpak-aarch64-20.08-flatpak-arm64.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-flatpak-x86_64-18.08-flatpak.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-flatpak-x86_64-20.08-flatpak.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-mingw-x86_64-10-mingw.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-msvc-x86_64-10.0.14393-MSVC.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-raspbian-armhf-10.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-raspbian-armhf-9.13.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-ubuntu-x86_64-16.04-xenial.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-ubuntu-x86_64-18.04-bionic-gtk3.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-ubuntu-x86_64-18.04-bionic.xml validates

0 urls checked, 0 errors
metadata/weather_routing_pi-1.13.30.0-ubuntu-x86_64-20.04-focal-gtk3.xml validates

0 urls checked, 0 errors
ocpn-plugins.xml:2: element plugins: Schemas validity error : Element 'plugins': No matching global declaration available for the validation root.
ocpn-plugins.xml fails to validate

Rick@Dart MINGW64 ~/documents/github/plugins (Alpha)
$
bdbcat commented 3 years ago

Rick... Simplify. The target of meta-url (https://raw.githubusercontent.com/rgleason/plugins/Alpha/ocpn-plugins.xml) should itself be a "mini-catalog", containing one or two plugins that you are working on, and no meta-url specification. You may like to hand edit the results of "ocpn-metadata generate" step to get down to the simplest possible configuration.

Dave

bdbcat commented 3 years ago

Rick... To clarify: One may not have a meta-url spec that points to itself. This does no longer crash, but it does nothing useful, either. I think that this is why you earlier used the "rg-alpha" location, as distinct from your working repo contents. Dave