New Plugin for realease

Hi there,

I would like to submit a new plugin to be integrated in Fiji.
This plugin is aiming at providing a way to track markers used in high speed kinematic recordings.
I would like to share this .jar file to make it ready before publishing an article that documents it.

I have read quite a bit on submitting a plugin but information and/or vocabulary is obscure (to me).

So my question is: What should I do with myplugin.jar?

Did you read

I suggest you create an update site, upload the jar file there, and share the source code on github.


As @imagejan said, uploading your plugin to your own personal update site is the easiest way to share it. However, contributing it to the Fiji distribution means everyone will have it out of the box without needing to enable your update site in addition. The decision is really up to you. I suggest you read the Fiji contribution requirements to get a feel for whether the tradeoffs of including it with Fiji are worth it to you. Ultimately, it is mostly a social decision: Fiji plugins require an active maintainer to ensure they keep working. So by including with Fiji, you are pledging your continued dedication to this plugin for use by the community—while also receiving help in doing so from the Fiji maintainers.

Please ask for clarification here about any specific things which are unclear to you.

1 Like

Hi Ctrueden
Thank you very much for your reply.
I have uploaded the jar file in my GitHub account.
I would like also to provide a demo data as a .zip file.

Maybe you or someone else would be interested in having a try?
I would love to make it part of Fiji yet the requirement page you suggested is full of unknown words for me…
The path is long until I learn what is regression test, Marven artifacts, Travis, etc… Even with the description I still have hard time to understand what is behind…

Unfortunately, I do not have the time at the moment. I hope someone here takes a look and gives you feedback!

For those technical matters, if you do not have a preference, the Fiji maintainers can help you deal with it.

The question is really social: what level of control do you want to retain? If you use your own update site, you have sole control—but also sole responsibility—of things like bug-fixes, timing of releases, development and design choices… whereas if you contribute to Fiji, I inflict my opinions on your project. :wink: There is also a pledge of support: do you want to keep maintaining this plugin into the future, or “release and forget”? Because the Fiji project requires its plugins to have an active and dedicated maintainer.

1 Like

I can do that. @nstifani can you redirect me to your github project site?

1 Like

Seems to be this:

I just had a very quick look at
@nstifani The source code would be more easily accessible for comments if you uploaded your Java project instead of the jar file. We can also help you to mavenize your project to build it easily.

Regarding your plugin: instead of using Java code to call your macros, you can now just put your scripts into the resource directory scripts of our jar file (i.e. in ./src/main/resources/scripts within your Maven project) and they will be automatically discovered.


That’s right I put the jar there:

I am not sure what is my Java project.
I can unzip the jar as you did to find the other macros etc…

I am starting to understand (keep in mind that I have no background in anything and forgive my lack of knowledge).
Please correct me if I am wrong:
Maven is a way to tell people how to structure their plugin.
So within my plugin I will have specific directories and a pom.xml file to describe it.
Then I can release my plugin to something called Maven ImageJ as 0.x version and to Maven central when final release is hit.

How are GitHub and Maven connected I am not so sure yet…

About Fiji and maintaining the plugin. I am totally into it. We are currently writing an article in this direction.

I also have a demo data as a Zip file.
Would you like to have it?

GitHub is just the repository, Maven describes everything that is needed to have your code compiled. Here you are an example of minimal Maven project implementing an ImageJ 1.x plugin, with step by step instructions on how to create it.

1 Like

Sure! You can post it here or (even better) link it in the of the project with a description on how to use it.

Again please forgive my lack of knowledge…
So If Understand correctly
GitHub = Repository = Where developers store their code?
Maven= Kind of a standardized protocol to arrange the code and files?

1 Like

Yes, that’s pretty much it :slight_smile:

1 Like