Hi Nico, >How does it deal with the "SNAPSHOT" designation? Does it see that as a separate plugin?
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". >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? 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. 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. Let us know if you have more questions. Best, Mark [1] http://imagej.net/Reproducible_builds#Reproducible_builds [2] http://stackoverflow.com/questions/4903879/package-names-impl-v-internal [3] https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html On Thu, Jul 30, 2015 at 3:09 PM, Nico Stuurman <nico.stuur...@ucsf.edu> wrote: > Hi Mark, > > > Are there guidelines for plugin developers to follow? > > 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]. > > 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? > > >Will the updater figure it out that this is the same plugin? > > 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. > > How does it deal with the "SNAPSHOT" designation? Does it see that as a > separate plugin? > > > Best, > > Nico > > > > Hope that helps. > > Best, > Mark > > [1] http://imagej.net/Development > [2] http://imagej.net/Versioning > [3] > http://imagej.net/Fiji_contribution_requirements#Versioning_and_dependency_convergence > > On Thu, Jul 30, 2015 at 2:38 PM, Nico Stuurman <nico.stuur...@ucsf.edu> > wrote: > >> 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? >> >> Thanks! >> >> Nico >> >> _______________________________________________ >> ImageJ-devel mailing list >> ImageJ-devel@imagej.net >> http://imagej.net/mailman/listinfo/imagej-devel >> > > > -- > Nico Stuurman > Vale lab, UCSF/HHMI > Genentech Hall, N316, MC2200 > 600 - 16th Street > San Francisco, CA 94158-2517415 514 3927nico.stuur...@ucsf.edu > >
_______________________________________________ ImageJ-devel mailing list ImageJ-devel@imagej.net http://imagej.net/mailman/listinfo/imagej-devel