ClearVolume / imglib2-clearvolume

11 stars 3 forks source link

Snapshot builds & Java 8 update site compatibility #3

Closed skalarproduktraum closed 8 years ago

skalarproduktraum commented 9 years ago

Heya!

This PR enables SNAPSHOT builds in pom.xml, making it easy to build a version of the plugin against a locally created ClearVolume package. The default build profile will be the SNAPSHOT configuration, while a production build can be made by mvn -Pproduction. Do @fjug or @tpietzsch have some feedback on whether this mechanism is good or should be scrapped?

fjug commented 9 years ago

Sounds good to me… not an expert though…

On 26 Oct 2015, at 17:28, Ulrik Guenther notifications@github.com wrote:

Heya!

This PR enables SNAPSHOT builds in pom.xml, making it easy to build a version of the plugin against a locally created ClearVolume package. The default build profile will be the SNAPSHOT configuration, while a production build can be made by mvn -Pproduction. Do @fjug https://github.com/fjug or @tpietzsch https://github.com/tpietzsch have some feedback on whether this mechanism is good or should be scrapped?

You can view, comment on, or merge this pull request online at:

https://github.com/ClearVolume/imglib2-clearvolume/pull/3 https://github.com/ClearVolume/imglib2-clearvolume/pull/3 Commit Summary

Added support for snapshot builds to the POM Merged Florian's recent changes File Changes

M pom.xml https://github.com/ClearVolume/imglib2-clearvolume/pull/3/files#diff-0 (83) Patch Links:

https://github.com/ClearVolume/imglib2-clearvolume/pull/3.patch https://github.com/ClearVolume/imglib2-clearvolume/pull/3.patch https://github.com/ClearVolume/imglib2-clearvolume/pull/3.diff https://github.com/ClearVolume/imglib2-clearvolume/pull/3.diff — Reply to this email directly or view it on GitHub https://github.com/ClearVolume/imglib2-clearvolume/pull/3.

skalarproduktraum commented 9 years ago

I forgot describing the basic workflow:

  1. you make awesome changes in the ClearVolume world, then you run gradle install there which installs a SNAPSHOT build of ClearVolume/GL/CUDA in the local Maven repo.
  2. you run mvn in the imglib2-clearvolume directory
  3. you get a shiny imglib2 plugin with your current changes that you can also easily transfer to other machines for testing.
  4. profit
fjug commented 9 years ago

Yes, that sounds 100% sweet!

On 26 Oct 2015, at 19:38, Ulrik Guenther notifications@github.com wrote:

I forgot describing the basic workflow:

you make awesome changes in the ClearVolume world, then you run gradle install there which installs a SNAPSHOT build of ClearVolume/GL/CUDA in the local Maven repo. you run mvn in the imglib2-clearvolume directory you get a shiny imglib2 plugin with your current changes that you can also easily transfer to other machines for testing. profit — Reply to this email directly or view it on GitHub https://github.com/ClearVolume/imglib2-clearvolume/pull/3#issuecomment-151242416.

tpietzsch commented 9 years ago

Hi,

maybe have a look at this: http://fiji.sc/Architecture#Using_snapshot_couplings_during_development

This is the “IJ2 way” of doing it. Basically, if you want SNAPSHOT couplings temporarily, you just put a (empty) "dev token" files: ~/.scijava/dev.imagej ~/.scijava/dev.imglib2 etc. and this is picked up by the pom somehow and it switches to SNAPSHOT couplings. I’m not familiar with the details however...

best regards, Tobias

On 26 Oct 2015, at 19:45, Florian Jug notifications@github.com wrote:

Yes, that sounds 100% sweet!

On 26 Oct 2015, at 19:38, Ulrik Guenther notifications@github.com wrote:

I forgot describing the basic workflow:

you make awesome changes in the ClearVolume world, then you run gradle install there which installs a SNAPSHOT build of ClearVolume/GL/CUDA in the local Maven repo. you run mvn in the imglib2-clearvolume directory you get a shiny imglib2 plugin with your current changes that you can also easily transfer to other machines for testing. profit — Reply to this email directly or view it on GitHub https://github.com/ClearVolume/imglib2-clearvolume/pull/3#issuecomment-151242416.

— Reply to this email directly or view it on GitHub.

royerloic commented 9 years ago

great work Ulrik!

Sent from my iPhone

On 26 Oct 2015, at 19:38, Ulrik Guenther notifications@github.com wrote:

I forgot describing the basic workflow:

you make awesome changes in the ClearVolume world, then you run gradle install there which installs a SNAPSHOT build of ClearVolume/GL/CUDA in the local Maven repo. you run mvn in the imglib2-clearvolume directory you get a shiny imglib2 plugin with your current changes that you can also easily transfer to other machines for testing. profit — Reply to this email directly or view it on GitHub.

fjug commented 9 years ago

That sounds interesting… if any of us ever understand some of the details… I would be happy to hear about it then… ;)

On 26 Oct 2015, at 20:57, tpietzsch notifications@github.com wrote:

Hi,

maybe have a look at this: http://fiji.sc/Architecture#Using_snapshot_couplings_during_development

This is the “IJ2 way” of doing it. Basically, if you want SNAPSHOT couplings temporarily, you just put a (empty) "dev token" files: ~/.scijava/dev.imagej ~/.scijava/dev.imglib2 etc. and this is picked up by the pom somehow and it switches to SNAPSHOT couplings. I’m not familiar with the details however...

best regards, Tobias

On 26 Oct 2015, at 19:45, Florian Jug notifications@github.com wrote:

Yes, that sounds 100% sweet!

On 26 Oct 2015, at 19:38, Ulrik Guenther notifications@github.com wrote:

I forgot describing the basic workflow:

you make awesome changes in the ClearVolume world, then you run gradle install there which installs a SNAPSHOT build of ClearVolume/GL/CUDA in the local Maven repo. you run mvn in the imglib2-clearvolume directory you get a shiny imglib2 plugin with your current changes that you can also easily transfer to other machines for testing. profit — Reply to this email directly or view it on GitHub https://github.com/ClearVolume/imglib2-clearvolume/pull/3#issuecomment-151242416.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub https://github.com/ClearVolume/imglib2-clearvolume/pull/3#issuecomment-151265641.

skalarproduktraum commented 9 years ago

Thanks @tpietzsch!

At the moment, I'd prefer the command line switch way, as it seems more portable and easier to achieve with both build systems:

tpietzsch commented 9 years ago

On 26 Oct 2015, at 21:11, Ulrik Guenther notifications@github.com wrote:

Thanks @tpietzsch!

At the moment, I'd prefer the command line switch way, as it seems more portable and easier to achieve with both build systems:

Sure, I understand that. where would the dotfiles go on Windows? C:\Users\myuser.clearvolume? No idea. I don't know if Maven can check for the existence of a file during the build and set flags accordingly. Obviously, yes :-)

But I agree, let’s do it your way for now. At the hackathon, we can ask Curtis to explain how the IJ2 dev-profiles work, then we can switch if it’s useful...

best regards, Tobias

— Reply to this email directly or view it on GitHub.

skalarproduktraum commented 8 years ago

This branch also removes the maven-shade plugin now, which makes the plugin compatible with the Java 8 update site in Fiji.