Merging new plugin framework

Okay, we have something of a chicken-and-egg problem. I have a work-in-progress branch for the new plugin framework, including a pull request by @matterhorn103 for the generators.

I’m inclined to start merging this into HEAD even though things will be a bit rough for the next week or so as I get all the pieces into place.

Right now, it’s a little hard to test, because you have to have the correct branch for each of the plugins, etc.

My guess is that there aren’t many people using the continuous releases, so this is okay.

Any concerns?

Is there any way to just temporarily disable putting the continuous releases on the download page? When I recommend Avogadro to people I generally suggest the continuous releases since they often contain nice bug fixes. Perhaps it’s possible to override the link to just point to whatever continuous release was made right before the merging process?

I agree - I often recommend the continuous releases too. I can take the continous releases off the webpage, but I can’t point to older artifacts easily.

I don’t think any breakage will last long. I have a lot in place now (e.g., input generators) and fixing up the remaining pieces shouldn’t take more than a week or two.

I generally only download the continuous every few weeks or whenever I notice that something is broken, so I think if it’s not going to take too long it should be fine to start the merging.

1 Like

For my part I can hold off from bumping the beta Flatpak until you give the go ahead.

Okay, I’ve merged avogenerators and avogadroapp and of course avogadrolibs

I’m sure in particular there are still bugs, particularly since the menu-commands is only very lightly tested right now. (The input generators should pop up to be installed, .. their menu items show up asynchronously and then they work.)

1 Like

I’ve put in some more work, and I’m pretty confident that most things work now (except the download / install dialog)

It should register packages on first launch, with menu items appearing asynchronously. Besides a dialog asking if you want to install the packages, launches (and re-launches) are pretty much instantaneous.

So the next step is to start connecting the New plugin index and updating the “Install Plugins” window.

I’ll also start updating a few of the example packages.

1 Like

While I was waiting for a pull request to build, I updated GitHub - ghutchis/avogadro-rdkit: Avogadro2 scripts using RDKit to the new package format.

At this point, the download / install dialog isn’t ready, but anything that shows up in the “packages” directories should trigger a request to install on launch.

And in principle, new features should show up dynamically (e.g. Extensions ⇒ RDKit sub-menu)

Next up, I’ll convert the cclib plugin (for file formats) and add energy-models to the RDKit package for testing. (Maybe also the ase plugin.)