<div dir="ltr">Hi Nico,<br><div><div><br>><span class="im"></span>How does it deal with the "SNAPSHOT" designation? Does it see that
as a separate plugin?<br><br></div><div>It will parse out the "SNAPSHOT" from the name to determine the base jar name; so "imagej-common-0.5.1.jar" is a different version of the same "entity" as "imagej-common-0.7.0-SNAPSHOT.jar".<br><br>><span class="im"></span>That page refers to plugins exposing APIs. What if I do not want
others to use my code as a library? Should I put everything in an
"internal" package?<span class="im"><br><br></span></div><div>In Fiji there's no mechanism for designating an "internal" package, e.g. in the OSGi sense[2] - just standard java visibility[3]. I suppose if every class or method in your plugin was private, protected or package-private then versioning would be fairly arbitrary.<br><br>But note that these questions are somewhat moot: for contributions to
the Fiji update
site only release versions (i.e. non-SNAPSHOTS) are used to
facilitate reproducibility[1] and some sort of semantic versioning is required to distinguish those releases; for
contributions to individual update sites there aren't any requirements.<br><br></div><div>Let us know if you have more questions.<br><br></div><div>Best,<br></div><div>Mark<br></div><div><br>[1] <a href="http://imagej.net/Reproducible_builds#Reproducible_builds">http://imagej.net/Reproducible_builds#Reproducible_builds</a><br>[2] <a href="http://stackoverflow.com/questions/4903879/package-names-impl-v-internal">http://stackoverflow.com/questions/4903879/package-names-impl-v-internal</a><br>[3] <a href="https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html">https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html</a><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 30, 2015 at 3:09 PM, Nico Stuurman <span dir="ltr"><<a href="mailto:nico.stuurman@ucsf.edu" target="_blank">nico.stuurman@ucsf.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<font size="-1">Hi Mark,</font><span class=""><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>> Are there guidelines for plugin developers to follow?<br>
<br>
</div>
<div>The development section[1] of the wiki is, in general,
intended to provide these guidelines. The versioning page[2]
in particular is relevant here, along with the Fiji
contribution requirements[3].<br>
</div>
</div>
</blockquote></span>
That page refers to plugins exposing APIs. What if I do not want
others to use my code as a library? Should I put everything in an
"internal" package?<span class=""><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>>Will the updater figure it out that this is the same
plugin?<br>
<br>
</div>
<div>Yes - if you use one of the patterns on the versioning page
then the updater will do the right thing and determine it's a
new version of the same jar.<br>
</div>
</div>
</blockquote></span>
How does it deal with the "SNAPSHOT" designation? Does it see that
as a separate plugin?<br>
<br>
<br>
Best,<br>
<br>
Nico<span class=""><br>
<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Hope that helps.<br>
<br>
</div>
<div>Best,<br>
</div>
<div>Mark<br>
</div>
<div><br>
[1] <a href="http://imagej.net/Development" target="_blank">http://imagej.net/Development</a><br>
[2] <a href="http://imagej.net/Versioning" target="_blank">http://imagej.net/Versioning</a><br>
[3] <a href="http://imagej.net/Fiji_contribution_requirements#Versioning_and_dependency_convergence" target="_blank">http://imagej.net/Fiji_contribution_requirements#Versioning_and_dependency_convergence</a><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Jul 30, 2015 at 2:38 PM, Nico
Stuurman <span dir="ltr"><<a href="mailto:nico.stuurman@ucsf.edu" target="_blank">nico.stuurman@ucsf.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What is
the recommended strategy for versioning of plugins? For
instance, I set up a maven project for my plugin, create a
jar (named myplugin_-0.1-SNAPSHOT.jar) and make that
available through the Fiji updater. I then make some
changes and want to increase the version in my pom.xml file
(lets say to 0.1.1-SNAPSHOT). This will change the name of
the jar. Will the updater figure it out that this is the
same plugin? Are there guidelines for plugin developers to
follow?<br>
<br>
Thanks!<br>
<br>
Nico<br>
<br>
_______________________________________________<br>
ImageJ-devel mailing list<br>
<a href="mailto:ImageJ-devel@imagej.net" target="_blank">ImageJ-devel@imagej.net</a><br>
<a href="http://imagej.net/mailman/listinfo/imagej-devel" rel="noreferrer" target="_blank">http://imagej.net/mailman/listinfo/imagej-devel</a><br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</span><span class="HOEnZb"><font color="#888888"><pre cols="72">--
Nico Stuurman
Vale lab, UCSF/HHMI
Genentech Hall, N316, MC2200
600 - 16th Street
San Francisco, CA 94158-2517
<a href="tel:415%20514%203927" value="+14155143927" target="_blank">415 514 3927</a>
<a href="mailto:nico.stuurman@ucsf.edu" target="_blank">nico.stuurman@ucsf.edu</a></pre>
</font></span></div>
</blockquote></div><br></div>