pom-scijava icon indicating copy to clipboard operation
pom-scijava copied to clipboard

building ComDet plugin as maven artifact

Open ekatrukha opened this issue 3 years ago • 2 comments

Hello @ctrueden,

following on this topic https://github.com/imagej/pyimagej/issues/173#issuecomment-1038473992 If you can point me towards some docs on how I can build and publish the plugin in maven. Thanks in advance for your help!

Cheers, Eugene

ekatrukha avatar Feb 16 '22 09:02 ekatrukha

@ekatrukha The document describing how releases work with SciJava components is here.

The TL;DR version is:

  1. Add me as an admin to your repository. I will add environment variables with credentials for CI to deploy to maven.scijava.org on every build, and then remove myself from the repository.

  2. You will then be able to use the release-version.sh script to cut releases, which also get deployed to maven.scijava.org.

  3. Optionally, you can add your plugin to the SciJava Bill of Materials (pom-scijava) so that it becomes part of the SciJava component collection, and gets tested along with all the other things in there. This will let us detect version skew more quickly, e.g. if an underlying library you use breaks backward compatibility in a way that affects your plugin. It will also add your plugin to the status.scijava.org table, so that you can see at a glance where the plugin is at, maintenance-wise.

ctrueden avatar Feb 18 '22 20:02 ctrueden

Hey @ctrueden

I am sorry for delay, many things happened. I've added you as a collaborator to the repository, hope it works.

ekatrukha avatar May 13 '22 11:05 ekatrukha

@ekatrukha Sorry for dropping the ball on this. I tried to accept the invite to add the credentials, but it has expired. :frowning: Could you send the invite again? I promise to act more quickly in response this time.

ctrueden avatar Feb 01 '23 15:02 ctrueden

@ctrueden no worries, during this time I had opportunity to learn a bit about deployment, so your first message makes more sense now. I've sent invite again, no rush.

ekatrukha avatar Feb 02 '23 14:02 ekatrukha

@ekatrukha I accepted the invitation. But it looks like it is only push access, not admin. To add the secrets I need admin so that I can go into the Settings tab and create the environment variables. You can remove me again once they are added. Thanks!

ctrueden avatar Feb 02 '23 14:02 ctrueden

Hello @ctrueden,

after reading some docs, it seems that the addition of secrets to a personal account repository (as it is with ComDet now) via web UI is allowed only to the owner, not collaborators (they can use REST API though, but it doesn't seem very easy). And there is no admin role in the personal repositories, just owner/collaborator.

As a solution, I will transfer ComDet repo to our organization account tomorrow and add you as an admin there, for an organization it is possible/straightforward. Thank you for your patience :)

ekatrukha avatar Feb 02 '23 21:02 ekatrukha

As a solution, I will transfer ComDet repo to our organization account tomorrow

@ekatrukha Sounds good!

ctrueden avatar Feb 02 '23 21:02 ctrueden

It should work now

ekatrukha avatar Feb 03 '23 10:02 ekatrukha

@ekatrukha Sorry for the delay once again. I finally came back around to taking care of this. I added the needed secrets to the UU-cellbiology organization, and then with UU-cellbiology/ComDet@022b8da96189a61765404023537c50f291762b8d the project is now configured to use GitHub Actions CI. I also did various cleanups to the pom-xml to bring it up to the current best practices, and fixed the javadoc errors.

SNAPSHOT builds are now successfully deployed on maven.scijava.org. When you want to make a release of the plugin, just run release-version.sh from the scijava-scripts repository. For further details, see this wiki page.

:beers:

ctrueden avatar Mar 08 '23 01:03 ctrueden