From d493195f526da20f0e59a5d8789fca057119913e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 18 May 2026 14:34:12 -0500 Subject: [PATCH 01/51] Update pombast.toml to current standards * The name 'bombast' was already taken on PyPI * Add SciJava Maven repository to pombast config * Various key additions, renames, reorganization * Use Unlicense instead of CC0 in mega-melt POM template --- bombast.toml => pombast.toml | 156 +++++++++++++++++++++++------------ tests/mega-melt-template.xml | 4 +- 2 files changed, 103 insertions(+), 57 deletions(-) rename bombast.toml => pombast.toml (58%) diff --git a/bombast.toml b/pombast.toml similarity index 58% rename from bombast.toml rename to pombast.toml index 0b37d1db..466ac5cc 100644 --- a/bombast.toml +++ b/pombast.toml @@ -1,28 +1,19 @@ -[filter] -includes = [ - "ca.mcgill:*", - "io.scif:*", - "jitk:*", - "mpicbg:*", - "net.imagej:*", - "net.imglib2:*", - "net.preibisch:*", - "org.bonej:*", - "org.janelia.saalfeldlab:*", - "org.janelia:*", - "org.morphonets:*", - "org.scijava:*", - "sc.fiji:*", -] +[common] +default-java-version = 8 +repositories = ["scijava.public=https://maven.scijava.org/content/groups/public"] + +[melt] +java-version = 11 +template = "tests/mega-melt-template.xml" excludes = [ # TEMP: Exclude org.bytedeco:hdf5 until cisd:jhdf5 is gone. 'org.bytedeco:hdf5', # TEMP: Skip components within multi-module reactors. - # Neither melting-pot.sh nor release-version.sh understand - # multi-module repositories; release-version.sh needs to learn - # how to tag and release individual components from multi-module - # repos, so that when melting-pot.sh shallow clones the repo at - # that tag and invokes a build, it will be building only the + # Neither pombast nor release-version.sh understand multi- + # module repositories; release-version.sh needs to learn how + # to tag and release individual components from multi-module + # repos, so that when pombast shallow clones the repo at that + # tag and invokes a build, it will be building only the # released component as it does with single-component repos. 'org.scijava:scijava-collections', 'org.scijava:scijava-common3', @@ -49,23 +40,23 @@ excludes = [ 'org.scijava:scijava-testutil', 'org.scijava:scijava-types', 'mpicbg:mpicbg', 'mpicbg:mpicbg_', - # NB: Skip artifacts requiring minimum Java version >8. - '*:algart-tiff', - '*:javafx-base', - '*:javafx-controls', - '*:javafx-fxml', - '*:javafx-graphics', - '*:javafx-media', - '*:javafx-swing', - '*:javafx-web', - '*:SNT', + # NB: Skip artifacts requiring minimum Java version >11. + 'net.algart:algart-tiff', + 'org.openjfx:javafx-base', + 'org.openjfx:javafx-controls', + 'org.openjfx:javafx-fxml', + 'org.openjfx:javafx-graphics', + 'org.openjfx:javafx-media', + 'org.openjfx:javafx-swing', + 'org.openjfx:javafx-web', + 'org.morphonets:SNT', # NB: Skip closed-source artifacts. - '*:bonej-plus', + 'org.bonej:bonej-plus', # NB: The following artifacts have messy dependency trees. # Too many problems to test as part of the mega-melt. # See WARNING block in pom-scijava's pom.xml for details. 'net.imagej:imagej-server', - '*:spark-core_2.11', + 'org.apache.spark:spark-core_2.11', # NB: Skip scijava forks of third-party projects. # These are very stable, with few/no dependencies, and # don't need to be retested as pom-scijava evolves. @@ -75,25 +66,25 @@ excludes = [ 'org.scijava:junit-benchmarks', 'org.scijava:vecmath', # NB: Skip alternate flavors of other managed components. - '*:gluegen', # uberjar flavor of gluegen-rt - '*:jogl-all-noawt', # slimmed down flavor of jogl-all + 'org.jogamp.gluegen:gluegen', # uberjar flavor of gluegen-rt + 'org.jogamp.jogl:jogl-all-noawt', # slimmed down flavor of jogl-all # NB: All the SWT platform JARs have the same classes. # The current platform will be brought in transitively. - '*:org.eclipse.swt.cocoa.macosx', - '*:org.eclipse.swt.cocoa.macosx.x86_64', - '*:org.eclipse.swt.gtk.aix.ppc', - '*:org.eclipse.swt.gtk.aix.ppc64', - '*:org.eclipse.swt.gtk.hpux.ia64', - '*:org.eclipse.swt.gtk.linux.ppc', - '*:org.eclipse.swt.gtk.linux.ppc64', - '*:org.eclipse.swt.gtk.linux.s390', - '*:org.eclipse.swt.gtk.linux.s390x', - '*:org.eclipse.swt.gtk.linux.x86', - '*:org.eclipse.swt.gtk.linux.x86_64', - '*:org.eclipse.swt.gtk.solaris.sparc', - '*:org.eclipse.swt.gtk.solaris.x86', - '*:org.eclipse.swt.win32.win32.x86', - '*:org.eclipse.swt.win32.win32.x86_64', + 'org.eclipse.swt:org.eclipse.swt.cocoa.macosx', + 'org.eclipse.swt:org.eclipse.swt.cocoa.macosx.x86_64', + 'org.eclipse.swt:org.eclipse.swt.gtk.aix.ppc', + 'org.eclipse.swt:org.eclipse.swt.gtk.aix.ppc64', + 'org.eclipse.swt:org.eclipse.swt.gtk.hpux.ia64', + 'org.eclipse.swt:org.eclipse.swt.gtk.linux.ppc', + 'org.eclipse.swt:org.eclipse.swt.gtk.linux.ppc64', + 'org.eclipse.swt:org.eclipse.swt.gtk.linux.s390', + 'org.eclipse.swt:org.eclipse.swt.gtk.linux.s390x', + 'org.eclipse.swt:org.eclipse.swt.gtk.linux.x86', + 'org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64', + 'org.eclipse.swt:org.eclipse.swt.gtk.solaris.sparc', + 'org.eclipse.swt:org.eclipse.swt.gtk.solaris.x86', + 'org.eclipse.swt:org.eclipse.swt.win32.win32.x86', + 'org.eclipse.swt:org.eclipse.swt.win32.win32.x86_64', # NB: All SLF4J bindings have the same classes. # We'll rely on logback-classic being present here. 'org.slf4j:slf4j-jcl', @@ -105,11 +96,66 @@ excludes = [ 'org.slf4j:jcl-over-slf4j', ] -[build] -min-java-version = 8 - -[skip-tests] -components = [ +[smelt] +includes = [ + "ca.mcgill:*", + "io.scif:*", + "jitk:*", + "mpicbg:*", + "net.imagej:*", + "net.imglib2:*", + "net.preibisch:*", + "org.bonej:*", + "org.janelia.saalfeldlab:*", + "org.janelia:*", + "org.morphonets:*", + "org.scijava:*", + "sc.fiji:*", +] +excludes = [ + # NB: Skip closed-source artifacts. + 'org.bonej:bonej-plus', + # NB: Skip scijava forks of third-party projects. + # These are very stable, with few/no dependencies, and + # don't need to be retested as pom-scijava evolves. + 'org.scijava:j3dcore', + 'org.scijava:j3dutils', + 'org.scijava:jep', + 'org.scijava:junit-benchmarks', + 'org.scijava:vecmath', + # TEMP: Skip components within multi-module reactors. + # Neither pombast nor release-version.sh understand multi- + # module repositories; release-version.sh needs to learn how + # to tag and release individual components from multi-module + # repos, so that when pombast shallow clones the repo at that + # tag and invokes a build, it will be building only the + # released component as it does with single-component repos. + 'org.scijava:scijava-collections', + 'org.scijava:scijava-common3', + 'org.scijava:scijava-concurrent', + 'org.scijava:scijava-discovery-test', + 'org.scijava:scijava-discovery', + 'org.scijava:scijava-function', + 'org.scijava:scijava-legacy', + 'org.scijava:scijava-meta', + 'org.scijava:scijava-ops-api', + 'org.scijava:scijava-ops-benchmarks', + 'org.scijava:scijava-ops-engine', + 'org.scijava:scijava-ops-ext-parser', + 'org.scijava:scijava-ops-flim', + 'org.scijava:scijava-ops-image', + 'org.scijava:scijava-ops-indexer', + 'org.scijava:scijava-ops-opencv', + 'org.scijava:scijava-ops-spi', + 'org.scijava:scijava-ops-tutorial', + 'org.scijava:scijava-priority', + 'org.scijava:scijava-progress', + 'org.scijava:scijava-struct', + 'org.scijava:scijava-taglets', + 'org.scijava:scijava-testutil', + 'org.scijava:scijava-types', +] +skip-tests = [ # java.lang.AssertionError # at org.scijava.minimaven.BasicTest.testClassifiers(BasicTest.java:216) "org.scijava:minimaven", diff --git a/tests/mega-melt-template.xml b/tests/mega-melt-template.xml index c8709f34..d776adc6 100644 --- a/tests/mega-melt-template.xml +++ b/tests/mega-melt-template.xml @@ -19,8 +19,8 @@ - CC0 1.0 Universal License - https://creativecommons.org/publicdomain/zero/1.0/ + Unlicense + https://unlicense.org/ repo From 1b9ef2fbc79c3ca041a5502e011d6829537cd19e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 19 May 2026 15:22:02 -0500 Subject: [PATCH 02/51] Add pombast status configuration This generates the web content of status.scijava.org, and eliminates the need for a separate mainline branch of the status.scijava.org repository -- only gh-pages needed now. --- ci-badges.txt | 45 ++++++++++++++ footer.html | 50 +++++++++++++++ header.html | 1 + pombast.toml | 9 +++ projects.txt | 25 ++++++++ timestamps.txt | 161 +++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 291 insertions(+) create mode 100644 ci-badges.txt create mode 100644 footer.html create mode 100644 header.html create mode 100644 projects.txt create mode 100644 timestamps.txt diff --git a/ci-badges.txt b/ci-badges.txt new file mode 100644 index 00000000..cfe892d2 --- /dev/null +++ b/ci-badges.txt @@ -0,0 +1,45 @@ +bigdataviewer/bigvolumeviewer-core +fiji/Colocalisation_Analysis +imagej/imagej-common +imagej/imagej-legacy +imglib/imglib2-mesh +imagej/imagej-matlab +ome/bioformats +ome/ome-codecs +ome/ome-common-java +ome/ome-metakit +ome/ome-model +ome/ome-poi +ome/omero-blitz +ome/omero-common +ome/omero-dsl-plugin +ome/omero-gateway-java +ome/omero-model +ome/omero-renderer +ome/omero-romio +ome/omero-server +scijava/java3d-core None +scijava/java3d-utils None +scijava/jep None +scijava/junit-benchmarks None +scijava/minimaven +scijava/native-lib-loader +scijava/parsington +scijava/scijava-coding-style +scijava/scijava-common +scijava/scijava-config +scijava/scijava-log-slf4j +scijava/scijava-maven-plugin +scijava/script-editor-scala +scijava/swing-checkbox-tree +scijava/vecmath None +trackmate-sc/TrackMate +trackmate-sc/TrackMate-CSVImporter +trackmate-sc/TrackMate-Cellpose +trackmate-sc/TrackMate-ExTrack +trackmate-sc/TrackMate-Ilastik +trackmate-sc/TrackMate-MorphoLibJ +trackmate-sc/TrackMate-Oneat +trackmate-sc/TrackMate-Skeleton +trackmate-sc/TrackMate-StarDist +trackmate-sc/TrackMate-Weka diff --git a/footer.html b/footer.html new file mode 100644 index 00000000..4d7603b2 --- /dev/null +++ b/footer.html @@ -0,0 +1,50 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/header.html b/header.html new file mode 100644 index 00000000..16d992a7 --- /dev/null +++ b/header.html @@ -0,0 +1 @@ + diff --git a/pombast.toml b/pombast.toml index 466ac5cc..89b0e802 100644 --- a/pombast.toml +++ b/pombast.toml @@ -204,3 +204,12 @@ skip-tests = [ [components."net.imglib2:imglib2-mesh"] "java-version" = 11 + +[status] +rules = "rules.xml" +projects = "projects.txt" +badges = "ci-badges.txt" +timestamps = "timestamps.txt" +html = "index.html" +header = "header.html" +footer = "footer.html" diff --git a/projects.txt b/projects.txt new file mode 100644 index 00000000..49959fef --- /dev/null +++ b/projects.txt @@ -0,0 +1,25 @@ +mpicbg:mpicbg https://github.com/axtimwalde/mpicbg +mpicbg:mpicbg_ https://github.com/axtimwalde/mpicbg +net.imagej:ij https://github.com/imagej/ImageJ +net.imglib2:imglib2-label-multisets https://github.com/saalfeldlab/imglib2-label-multisets +ome:bio-formats_plugins https://github.com/ome/bioformats +ome:formats-api https://github.com/ome/bioformats +ome:formats-bsd https://github.com/ome/bioformats +ome:formats-gpl https://github.com/ome/bioformats +org.janelia:H5J_Loader_Plugin https://github.com/fiji/H5J_Loader_Plugin +org.openmicroscopy:metakit https://github.com/ome/ome-metakit +org.openmicroscopy:ome-common https://github.com/ome/ome-common-java +org.openmicroscopy:ome-xml https://github.com/ome/ome-model +org.openmicroscopy:omero-gateway https://github.com/ome/omero-gateway-java +org.openmicroscopy:specification https://github.com/ome/ome-model +org.scijava:j3dcore https://github.com/scijava/java3d-core +org.scijava:j3dutils https://github.com/scijava/java3d-utils +sc.fiji:T2-NIT https://github.com/trakem2/T2-NIT +sc.fiji:T2-TreelineGraph https://github.com/trakem2/T2-TreelineGraph +sc.fiji:TrakEM2_ https://github.com/trakem2/TrakEM2 +sc.fiji:VectorString https://github.com/trakem2/VectorString +sc.fiji:bigwarp_fiji https://github.com/saalfeldlab/bigwarp +sc.fiji:spim_data https://github.com/bigdataviewer/spimdata +sc.fiji:trakem2-transform https://github.com/trakem2/trakem2-transform +sc.fiji:trakem2_tps https://github.com/saalfeldlab/trakem2-tps +sc.fiji:z_spacing https://github.com/saalfeldlab/z-spacing diff --git a/timestamps.txt b/timestamps.txt new file mode 100644 index 00000000..d3b86f2f --- /dev/null +++ b/timestamps.txt @@ -0,0 +1,161 @@ +# Stable forks of third-party projects. +org.scijava:j3dcore 20180905120000 +org.scijava:j3dutils 20180905120000 +org.scijava:jep 20171225120000 +org.scijava:junit-benchmarks 20180905120000 +org.scijava:vecmath 20180905120000 + +# Newer versions break stuff... freeze for now. +hsqldb:hsqldb 20190101000000 +org.codehaus.groovy:groovy 20250101000000 +org.codehaus.groovy:groovy-ant 20250101000000 +org.codehaus.groovy:groovy-astbuilder 20250101000000 +org.codehaus.groovy:groovy-bsf 20250101000000 +org.codehaus.groovy:groovy-cli-commons 20250101000000 +org.codehaus.groovy:groovy-cli-picocli 20250101000000 +org.codehaus.groovy:groovy-console 20250101000000 +org.codehaus.groovy:groovy-datetime 20250101000000 +org.codehaus.groovy:groovy-dateutil 20250101000000 +org.codehaus.groovy:groovy-docgenerator 20250101000000 +org.codehaus.groovy:groovy-groovydoc 20250101000000 +org.codehaus.groovy:groovy-groovysh 20250101000000 +org.codehaus.groovy:groovy-jaxb 20250101000000 +org.codehaus.groovy:groovy-jmx 20250101000000 +org.codehaus.groovy:groovy-json 20250101000000 +org.codehaus.groovy:groovy-jsr223 20250101000000 +org.codehaus.groovy:groovy-macro 20250101000000 +org.codehaus.groovy:groovy-nio 20250101000000 +org.codehaus.groovy:groovy-servlet 20250101000000 +org.codehaus.groovy:groovy-sql 20250101000000 +org.codehaus.groovy:groovy-swing 20250101000000 +org.codehaus.groovy:groovy-templates 20250101000000 +org.codehaus.groovy:groovy-test 20250101000000 +org.codehaus.groovy:groovy-test-junit5 20250101000000 +org.codehaus.groovy:groovy-testng 20250101000000 +org.codehaus.groovy:groovy-xml 20250101000000 +org.codehaus.groovy:groovy-yaml 20250101000000 +org.mockito:mockito-core 20250101000000 +org.ojalgo:ojalgo 20250101000000 +org.python:jython-slim 20230309000000 +org.springframework:spring-aop 20250101000000 +org.springframework:spring-beans 20250101000000 +org.springframework:spring-core 20250101000000 +org.tensorflow:libtensorflow 20200701000000 +org.tensorflow:libtensorflow_jni 20200701000000 +org.tensorflow:libtensorflow_jni_gpu 20200701000000 +org.tensorflow:proto 20200701000000 +org.tensorflow:tensorflow 20200701000000 + +# Not maintaining ImageJ Server currently... +net.imagej:imagej-server 20250101000000 + +# SciJava projects with only CI+POM changes. +io.scif:scifio-cli 20230309000000 +io.scif:scifio-hdf5 20230309000000 +io.scif:scifio-jai-imageio 20230309000000 +io.scif:scifio-labeling 20230309000000 +io.scif:scifio-lifesci 20230309000000 +net.imagej:imagej-deprecated 20230309000000 +net.imagej:imagej-mesh 20230309000000 +net.imagej:imagej-mesh-io 20230309000000 +net.imagej:imagej-notebook 20230309000000 +net.imagej:imagej-plugins-batch 20230309000000 +net.imagej:imagej-plugins-commands 20230309000000 +net.imagej:imagej-plugins-tools 20230309000000 +net.imagej:imagej-plugins-uploader-ssh 20230309000000 +net.imagej:imagej-ui-awt 20230309000000 +net.imagej:op-finder 20230309000000 +net.imglib2:imglib2-algorithm-fft 20230309000000 +net.imglib2:imglib2-algorithm-gpl 20230309000000 +net.imglib2:imglib2-unsafe 20230309000000 +org.scijava:minimaven 20230309000000 +org.scijava:native-lib-loader 20230309000000 +org.scijava:scijava-cache 20230309000000 +org.scijava:scijava-grab 20230309000000 +org.scijava:scijava-io-http 20230309000000 +org.scijava:scijava-java3d 20230309000000 +org.scijava:scijava-listeners 20211021000000 +org.scijava:scijava-maven-plugin 20230309000000 +org.scijava:scijava-optional 20230309000000 +org.scijava:scijava-plot 20230309000000 +org.scijava:scijava-plugins-platforms 20230309000000 +org.scijava:scijava-plugins-text-markdown 20230309000000 +org.scijava:scijava-ui-awt 20230309000000 +org.scijava:scripting-clojure 20230309000000 +org.scijava:scripting-java 20230309000000 +org.scijava:scripting-jruby 20230309000000 +org.scijava:scripting-matlab 20230309000000 +org.scijava:scripting-scala 20230309000000 +org.scijava:swing-checkbox-tree 20230309000000 +sc.fiji:3D_Objects_Counter 20230313000000 +sc.fiji:3D_Viewer 20230313000000 +sc.fiji:AnalyzeSkeleton_ 20230309000000 +sc.fiji:Anisotropic_Diffusion_2D 20230309000000 +sc.fiji:Archipelago_Plugins 20230309000000 +sc.fiji:Arrow_ 20230309000000 +sc.fiji:Auto_Local_Threshold 20230309000000 +sc.fiji:BalloonSegmentation_ 20230309000000 +sc.fiji:Bug_Submitter 20230309000000 +sc.fiji:Calculator_Plus 20230309000000 +sc.fiji:Cell_Counter 20230309000000 +sc.fiji:Colocalisation_Analysis 20230309000000 +sc.fiji:Color_Histogram 20230309000000 +sc.fiji:Color_Inspector_3D 20230309000000 +sc.fiji:Colour_Deconvolution 20230309000000 +sc.fiji:Correct_3D_Drift 20230309000000 +sc.fiji:Dichromacy_ 20230309000000 +sc.fiji:Directionality_ 20230309000000 +sc.fiji:Fiji_Archipelago 20230309000000 +sc.fiji:Fiji_Package_Maker 20230309000000 +sc.fiji:FlowJ_ 20230309000000 +sc.fiji:Graph_Cut 20230309000000 +sc.fiji:Gray_Morphology 20230309000000 +sc.fiji:Helmholtz_Analysis 20230309000000 +sc.fiji:IJ_Robot 20230309000000 +sc.fiji:Image_5D 20230309000000 +sc.fiji:Image_Expression_Parser 20230309000000 +sc.fiji:Interactive_3D_Surface_Plot 20230309000000 +sc.fiji:IsoData_Classifier 20230309000000 +sc.fiji:Kappa 20230309000000 +sc.fiji:Kuwahara_Filter 20230309000000 +sc.fiji:LSM_Reader 20230309000000 +sc.fiji:LSM_Toolbox 20230309000000 +sc.fiji:Lasso_and_Blow_Tool 20230309000000 +sc.fiji:Linear_Kuwahara 20230309000000 +sc.fiji:LocalThickness_ 20230309000000 +sc.fiji:MTrack2_ 20230309000000 +sc.fiji:M_I_P 20230309000000 +sc.fiji:Manual_Tracking 20230309000000 +sc.fiji:Multi_Kymograph 20230309000000 +sc.fiji:OMEVisual 20230309000000 +sc.fiji:PIV_analyser 20230309000000 +sc.fiji:QuickPALM_ 20230309000000 +sc.fiji:RATS_ 20230309000000 +sc.fiji:SPIM_Opener 20230309000000 +sc.fiji:Samples_ 20230309000000 +sc.fiji:Series_Labeler 20230309000000 +sc.fiji:Siox_Segmentation 20230309000000 +sc.fiji:Skeletonize3D_ 20230309000000 +sc.fiji:SplineDeformationGenerator_ 20230309000000 +sc.fiji:Stack_Manipulation 20230309000000 +sc.fiji:Statistical_Region_Merging 20230309000000 +sc.fiji:Sync_Win 20230309000000 +sc.fiji:Thread_Killer 20230309000000 +sc.fiji:Time_Lapse 20230309000000 +sc.fiji:Time_Stamper 20230309000000 +sc.fiji:ToAST_ 20230309000000 +sc.fiji:TopoJ_ 20230309000000 +sc.fiji:VIB-lib 20230309000000 +sc.fiji:Vaa3d_Reader 20230309000000 +sc.fiji:Vaa3d_Writer 20230309000000 +sc.fiji:Video_Editing 20230309000000 +sc.fiji:bUnwarpJ_ 20230309000000 +sc.fiji:bij 20230309000000 +sc.fiji:fiji-lib 20230309000000 +sc.fiji:level_sets 20230309000000 +sc.fiji:pal-optimization 20230309000000 +sc.fiji:panorama_ 20230309000000 +sc.fiji:registration_3d 20230309000000 +sc.fiji:spimdata 20230309000000 +sc.fiji:trakem2-transform 20230309000000 +sc.fiji:weave_jy2java 20230309000000 From 9abe43da627cf99830bed4da58e79c4e0e0dbda0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 19 May 2026 18:49:53 -0500 Subject: [PATCH 03/51] CI: try another way of deleting the cache --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c2298d4a..1a9a5e49 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,8 @@ on: jobs: build: runs-on: ubuntu-latest + permissions: + actions: write steps: - uses: actions/checkout@v4 @@ -52,7 +54,7 @@ jobs: run: | gh api --method DELETE -H "Accept: application/vnd.github+json" /repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-cache || true env: - GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Save the melting-pot cache if: env.cacheChanged == 'true' From 01ac4baa6ec574483e4de1bffd1e55315a5270bb Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 19 May 2026 18:55:46 -0500 Subject: [PATCH 04/51] pombast: move status section up --- pombast.toml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pombast.toml b/pombast.toml index 89b0e802..a21e2b9f 100644 --- a/pombast.toml +++ b/pombast.toml @@ -2,6 +2,15 @@ default-java-version = 8 repositories = ["scijava.public=https://maven.scijava.org/content/groups/public"] +[status] +rules = "rules.xml" +projects = "projects.txt" +badges = "ci-badges.txt" +timestamps = "timestamps.txt" +html = "index.html" +header = "header.html" +footer = "footer.html" + [melt] java-version = 11 template = "tests/mega-melt-template.xml" @@ -204,12 +213,3 @@ skip-tests = [ [components."net.imglib2:imglib2-mesh"] "java-version" = 11 - -[status] -rules = "rules.xml" -projects = "projects.txt" -badges = "ci-badges.txt" -timestamps = "timestamps.txt" -html = "index.html" -header = "header.html" -footer = "footer.html" From 39b82bfb1410fa5abd74c85c25b28975211ce386 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 19 May 2026 18:56:06 -0500 Subject: [PATCH 05/51] pombast: remove unneeded quotes --- pombast.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pombast.toml b/pombast.toml index a21e2b9f..0f0868a3 100644 --- a/pombast.toml +++ b/pombast.toml @@ -209,7 +209,7 @@ skip-tests = [ "sc.fiji:labkit-ui" = ["sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest"] [components."net.imagej:ij"] -"java-version" = 11 +java-version = 11 [components."net.imglib2:imglib2-mesh"] -"java-version" = 11 +java-version = 11 From 9c68a60dbe45973548a03c079f82132daedc8324 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 19 May 2026 18:56:12 -0500 Subject: [PATCH 06/51] pombast: note BoneJ components needing Java 11+ --- pombast.toml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pombast.toml b/pombast.toml index 0f0868a3..07a86529 100644 --- a/pombast.toml +++ b/pombast.toml @@ -213,3 +213,9 @@ java-version = 11 [components."net.imglib2:imglib2-mesh"] java-version = 11 + +[components."org.bonej:bonej-legacy-plugins_"] +java-version = 11 + +[components."org.bonej:bonej-ops"] +java-version = 11 From b44a74b8af9abd09b0d6db51ec3bf118195109c6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 19 May 2026 19:21:28 -0500 Subject: [PATCH 07/51] Overhaul CI to use pombast smelt/status instead of melting-pot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit build.yml: - Replace old tests/run.sh (melting-pot) with pombast smelt - Drop the melting-pot cache restore/save/delete steps and exit.sh trick - Add astral-sh/setup-uv and webfactory/ssh-agent (master push only) - On master push: publish smelt.json to status.scijava.org gh-pages New status.yml: - Runs daily (and on master push) to regenerate status.scijava.org index.html - Lives in pom-scijava to avoid GitHub's 60-day dormancy kill of scheduled jobs - Installs pombast, runs pombast status --config pombast.toml, publishes index.html release.yml: - Use release-setup.sh (no apt packages -- only needed for smelt builds) - Use simplified build.sh (no melting-pot logic) Script renames and new files: - setup.sh → build-setup.sh (drops libxml2-utils, keeps smelt native deps) - new release-setup.sh (ci-setup-github-actions.sh only) - build.sh stripped to just ci-build.sh (no release detection, no melting-pot) - new smelt.sh (installs pombast, runs smelt, writes smelt.json) - new status.sh (installs pombast, runs status, publishes index.html) - new publish.sh (shared helper: commit a file to status.scijava.org gh-pages) - exit.sh deleted (no longer needed) pombast.toml: - Add nexus-base to [status] section Co-Authored-By: Claude Sonnet 4.6 --- .github/build-setup.sh | 10 +++++++ .github/build.sh | 56 ++--------------------------------- .github/exit.sh | 8 ----- .github/publish.sh | 25 ++++++++++++++++ .github/release-setup.sh | 3 ++ .github/setup.sh | 11 ------- .github/smelt.sh | 3 ++ .github/status.sh | 5 ++++ .github/workflows/build.yml | 46 ++++++++++------------------ .github/workflows/release.yml | 7 ++--- .github/workflows/status.yml | 26 ++++++++++++++++ pombast.toml | 1 + 12 files changed, 94 insertions(+), 107 deletions(-) create mode 100755 .github/build-setup.sh delete mode 100755 .github/exit.sh create mode 100755 .github/publish.sh create mode 100755 .github/release-setup.sh delete mode 100755 .github/setup.sh create mode 100755 .github/smelt.sh create mode 100755 .github/status.sh create mode 100644 .github/workflows/status.yml diff --git a/.github/build-setup.sh b/.github/build-setup.sh new file mode 100755 index 00000000..64b4c955 --- /dev/null +++ b/.github/build-setup.sh @@ -0,0 +1,10 @@ +#!/bin/sh +curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-setup-github-actions.sh +sh ci-setup-github-actions.sh + +# Install native libraries needed to build and test smelt components. +pkgs="libxcb-shape0" # org.janelia:H5J_Loader_Plugin +pkgs="$pkgs libgtk2.0-0" # net.imagej:imagej-opencv +pkgs="$pkgs libblosc1" # org.janelia.saalfeldlab:n5-blosc +sudo apt-get update +sudo apt-get -y install $pkgs diff --git a/.github/build.sh b/.github/build.sh index ba5e7a29..523abeb8 100755 --- a/.github/build.sh +++ b/.github/build.sh @@ -1,55 +1,3 @@ #!/bin/sh - -# Discern whether this is a release build. -releasing= -if [ -f release.properties ]; then - releasing=1 -fi - -# Run the SciJava CI build script. -curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-build.sh && -sh ci-build.sh || { echo "Maven build failed. Skipping melting pot tests."; exit 1; } - -# Skip melting pot if cutting a release. -if [ "$releasing" ]; then - exit 0 -fi - -# Helper method to get the last cache modified date as seconds since epoch -last_cache_modified() { - find "$HOME/.cache/scijava/melting-pot" -type f | while read f - do - stat -c '%Y' "$f" - done | sort -nr 2>/dev/null | head -n1 -} - -# Record the last time of cache modification before running melting-pot -cache_modified_pre=0 -cache_modified_post=0 - -if [ -d "$HOME/.cache/scijava/melting-pot" ]; then - cache_modified_pre=$(last_cache_modified) -fi - -# run melting-pot -tests/run.sh -meltResult=$? - -# Record the last time of cache modification after running melting-pot -if [ -d "$HOME/.cache/scijava/melting-pot" ]; then - cache_modified_post=$(last_cache_modified) -fi - -# Determine if cache needs to be re-generated -echo "cache_modified_pre=$cache_modified_pre" -echo "cache_modified_post=$cache_modified_post" -if [ "$cache_modified_post" -gt "$cache_modified_pre" ]; then - echo "cacheChanged=true" - echo "cacheChanged=true" >> $GITHUB_ENV -else - echo "cacheChanged=false" - echo "cacheChanged=false" >> $GITHUB_ENV -fi - -# NB: This script exits 0, but saves the exit code for a later build step. -echo $meltResult > exit-code +curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-build.sh +sh ci-build.sh diff --git a/.github/exit.sh b/.github/exit.sh deleted file mode 100755 index b5ab4d19..00000000 --- a/.github/exit.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -test -f exit-code || { - echo "[ERROR] No build exit code was saved!" - exit 255 -} -exitCode=$(cat exit-code) -rm -f exit-code -exit $exitCode diff --git a/.github/publish.sh b/.github/publish.sh new file mode 100755 index 00000000..ac79edb3 --- /dev/null +++ b/.github/publish.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Commit a file to the status.scijava.org gh-pages branch. +# Usage: publish.sh [commit-message] +# Requires SSH agent to be running with write access to status.scijava.org. +set -e +file=$1 +message=${2:-"Update $(basename "$file")"} +test -f "$file" || { echo "File not found: $file" >&2; exit 1; } +dest=$(basename "$file") + +git config --global user.name github-actions +git config --global user.email github-actions@github.com + +git clone --depth=1 --branch=gh-pages git@github.com:scijava/status.scijava.org site-publish +cp "$file" "site-publish/$dest" +cd site-publish +if git diff --quiet "$dest" +then + echo "== No changes to $dest ==" +else + echo "== Committing $dest ==" + git add "$dest" + git commit -m "$message" + git push +fi diff --git a/.github/release-setup.sh b/.github/release-setup.sh new file mode 100755 index 00000000..a03464be --- /dev/null +++ b/.github/release-setup.sh @@ -0,0 +1,3 @@ +#!/bin/sh +curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-setup-github-actions.sh +sh ci-setup-github-actions.sh diff --git a/.github/setup.sh b/.github/setup.sh deleted file mode 100755 index 6f254a7e..00000000 --- a/.github/setup.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-setup-github-actions.sh -sh ci-setup-github-actions.sh - -# Install needed packages. -pkgs="libxml2-utils" # needed for melting pot -pkgs="$pkgs libxcb-shape0" # org.janelia:H5J_Loader_Plugin (fiji/H5J_Loader_Plugin@d026a1bb) -pkgs="$pkgs libgtk2.0-0" # net.imagej:imagej-opencv (imagej/imagej-opencv@21113e08) -pkgs="$pkgs libblosc1" # org.janelia.saalfeldlab:n5-blosc -sudo apt-get update -sudo apt-get -y install $(echo "$pkgs") diff --git a/.github/smelt.sh b/.github/smelt.sh new file mode 100755 index 00000000..1a92a196 --- /dev/null +++ b/.github/smelt.sh @@ -0,0 +1,3 @@ +#!/bin/sh +uv tool install "git+https://github.com/scijava/pombast.git@66a1e3abff431846a900703f7450e0c21f1456cc" +pombast smelt --config pombast.toml --json smelt.json . diff --git a/.github/status.sh b/.github/status.sh new file mode 100755 index 00000000..f94d572e --- /dev/null +++ b/.github/status.sh @@ -0,0 +1,5 @@ +#!/bin/sh +uv tool install "git+https://github.com/scijava/pombast.git@66a1e3abff431846a900703f7450e0c21f1456cc" +pombast status --config pombast.toml --html index.html . +commitNote="$(TZ=UTC date +'%Y-%m-%d %H:%M:%S UTC')" +.github/publish.sh index.html "Update component table ($commitNote)" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1a9a5e49..197a336c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,16 +8,16 @@ on: branches: - master schedule: - - cron: "4 5 * * 0" # every Sunday at 0405, to keep cache alive + # Run weekly on Sunday to keep the Maven cache alive. + - cron: '4 5 * * 0' jobs: build: runs-on: ubuntu-latest - permissions: - actions: write steps: - uses: actions/checkout@v4 + - name: Set up Java uses: actions/setup-java@v4 with: @@ -26,18 +26,17 @@ jobs: distribution: 'zulu' cache: 'maven' - - name: Set up CI environment - run: .github/setup.sh + - uses: astral-sh/setup-uv@v6 - - name: Restore the melting-pot cache - id: restore-cache - uses: actions/cache/restore@v3 + - uses: webfactory/ssh-agent@v0.9.0 + if: github.ref == 'refs/heads/master' && github.event_name == 'push' with: - path: ~/.cache/scijava/melting-pot - key: ${{ runner.os }}-cache + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Set up build environment + run: .github/build-setup.sh - - name: Execute the build - id: execute-build + - name: Maven CI build run: .github/build.sh env: GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} @@ -48,22 +47,9 @@ jobs: CENTRAL_PASS: ${{ secrets.CENTRAL_PASS }} SIGNING_ASC: ${{ secrets.SIGNING_ASC }} - - name: Delete the melting-pot cache - if: env.cacheChanged == 'true' - id: delete-cache - run: | - gh api --method DELETE -H "Accept: application/vnd.github+json" /repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-cache || true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Save the melting-pot cache - if: env.cacheChanged == 'true' - id: save-cache - uses: actions/cache/save@v3 - with: - path: ~/.cache/scijava/melting-pot - key: ${{ runner.os }}-cache + - name: Smelt components + run: .github/smelt.sh - - name: Return the exit code - id: exit-build - run: .github/exit.sh + - name: Publish smelt results + if: always() && github.ref == 'refs/heads/master' && github.event_name == 'push' + run: .github/publish.sh smelt.json "Update smelt results" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1848a199..046834ad 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,11 +19,10 @@ jobs: distribution: 'zulu' cache: 'maven' - - name: Set up CI environment - run: .github/setup.sh + - name: Set up release environment + run: .github/release-setup.sh - - name: Execute the build - id: execute-build + - name: Execute the release run: .github/build.sh env: GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml new file mode 100644 index 00000000..9826cdb9 --- /dev/null +++ b/.github/workflows/status.yml @@ -0,0 +1,26 @@ +name: status + +on: + schedule: + # Run daily at 0500 UTC. + - cron: '0 5 * * *' + push: + branches: + - master + workflow_dispatch: + +jobs: + status: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: astral-sh/setup-uv@v6 + + - uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Generate and publish status page + run: .github/status.sh diff --git a/pombast.toml b/pombast.toml index 07a86529..c83f285b 100644 --- a/pombast.toml +++ b/pombast.toml @@ -10,6 +10,7 @@ timestamps = "timestamps.txt" html = "index.html" header = "header.html" footer = "footer.html" +nexus-base = "https://maven.scijava.org" [melt] java-version = 11 From 55c5d4e4f203f4f4ec7198d48f1398f0a79971a7 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 19 May 2026 19:25:29 -0500 Subject: [PATCH 08/51] CI: declare bash shell In case we ever run any of these jobs on Windows. --- .github/workflows/build.yml | 4 ++++ .github/workflows/release.yml | 2 ++ .github/workflows/status.yml | 1 + 3 files changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 197a336c..e7c4d77b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,9 +35,11 @@ jobs: - name: Set up build environment run: .github/build-setup.sh + shell: bash - name: Maven CI build run: .github/build.sh + shell: bash env: GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} @@ -49,7 +51,9 @@ jobs: - name: Smelt components run: .github/smelt.sh + shell: bash - name: Publish smelt results if: always() && github.ref == 'refs/heads/master' && github.event_name == 'push' run: .github/publish.sh smelt.json "Update smelt results" + shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 046834ad..00302b65 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,9 +21,11 @@ jobs: - name: Set up release environment run: .github/release-setup.sh + shell: bash - name: Execute the release run: .github/build.sh + shell: bash env: GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index 9826cdb9..d3cf85e2 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -24,3 +24,4 @@ jobs: - name: Generate and publish status page run: .github/status.sh + shell: bash From dd2f51a9fd3ebd5d5823e9a157b771d4f2b2f20d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 20 May 2026 12:57:14 -0500 Subject: [PATCH 09/51] CI: restore pombast cache across smelt runs Adds restore/delete/save steps for ~/.cache/pombast around the smelt step, matching the pattern used for the old melting-pot cache. Cache must be deleted before re-saving because GitHub Actions does not allow overwriting an existing cache key. Both delete and save run unconditionally (if: always()) so the cache is preserved even when smelt has failures. Co-Authored-By: Claude Sonnet 4.6 --- .github/{build-setup.sh => setup-build.sh} | 4 +-- .../{release-setup.sh => setup-release.sh} | 0 .github/workflows/build.yml | 26 ++++++++++++++++++- .github/workflows/release.yml | 2 +- .github/workflows/status.yml | 1 - 5 files changed, 28 insertions(+), 5 deletions(-) rename .github/{build-setup.sh => setup-build.sh} (72%) rename .github/{release-setup.sh => setup-release.sh} (100%) diff --git a/.github/build-setup.sh b/.github/setup-build.sh similarity index 72% rename from .github/build-setup.sh rename to .github/setup-build.sh index 64b4c955..ff44a365 100755 --- a/.github/build-setup.sh +++ b/.github/setup-build.sh @@ -3,8 +3,8 @@ curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-set sh ci-setup-github-actions.sh # Install native libraries needed to build and test smelt components. -pkgs="libxcb-shape0" # org.janelia:H5J_Loader_Plugin +pkgs="libxcb-shape0" # org.janelia:H5J_Loader_Plugin pkgs="$pkgs libgtk2.0-0" # net.imagej:imagej-opencv -pkgs="$pkgs libblosc1" # org.janelia.saalfeldlab:n5-blosc +pkgs="$pkgs libblosc1" # org.janelia.saalfeldlab:n5-blosc sudo apt-get update sudo apt-get -y install $pkgs diff --git a/.github/release-setup.sh b/.github/setup-release.sh similarity index 100% rename from .github/release-setup.sh rename to .github/setup-release.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e7c4d77b..909668a8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,6 +14,8 @@ on: jobs: build: runs-on: ubuntu-latest + permissions: + actions: write # needed to delete and re-save the pombast cache steps: - uses: actions/checkout@v4 @@ -34,7 +36,7 @@ jobs: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Set up build environment - run: .github/build-setup.sh + run: .github/setup-build.sh shell: bash - name: Maven CI build @@ -49,10 +51,32 @@ jobs: CENTRAL_PASS: ${{ secrets.CENTRAL_PASS }} SIGNING_ASC: ${{ secrets.SIGNING_ASC }} + - name: Restore pombast cache + uses: actions/cache/restore@v4 + with: + path: ~/.cache/pombast + key: ${{ runner.os }}-pombast-cache + - name: Smelt components run: .github/smelt.sh shell: bash + - name: Delete old pombast cache + if: always() + run: | + gh api --method DELETE \ + -H "Accept: application/vnd.github+json" \ + "/repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-pombast-cache" || true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Save pombast cache + if: always() + uses: actions/cache/save@v4 + with: + path: ~/.cache/pombast + key: ${{ runner.os }}-pombast-cache + - name: Publish smelt results if: always() && github.ref == 'refs/heads/master' && github.event_name == 'push' run: .github/publish.sh smelt.json "Update smelt results" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 00302b65..27edfcb2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: cache: 'maven' - name: Set up release environment - run: .github/release-setup.sh + run: .github/setup-release.sh shell: bash - name: Execute the release diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index d3cf85e2..b74a2746 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -7,7 +7,6 @@ on: push: branches: - master - workflow_dispatch: jobs: status: From 0239160f156db7754f293e37118c06523b09699f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 20 May 2026 13:04:34 -0500 Subject: [PATCH 10/51] CI: cache pombast timestamps in status workflow Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/status.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index b74a2746..c9eceeec 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -21,6 +21,19 @@ jobs: with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Restore pombast cache + uses: actions/cache/restore@v4 + with: + path: ~/.cache/pombast/pom-timestamps + restore-keys: ${{ runner.os }}-pombast-status- + - name: Generate and publish status page run: .github/status.sh shell: bash + + - name: Save pombast cache + if: always() + uses: actions/cache/save@v4 + with: + path: ~/.cache/pombast/pom-timestamps + key: ${{ runner.os }}-pombast-status-${{ github.run_id }} From f590b0ef3592dc680b29c3813507c1dfe2641b24 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 20 May 2026 17:30:25 -0500 Subject: [PATCH 11/51] CI: also run the pombast *melt* command --- .github/melt.sh | 4 ++++ .github/setup-build.sh | 2 +- .github/smelt.sh | 3 --- .github/status.sh | 2 +- .github/workflows/build.yml | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) create mode 100755 .github/melt.sh delete mode 100755 .github/smelt.sh diff --git a/.github/melt.sh b/.github/melt.sh new file mode 100755 index 00000000..0785de67 --- /dev/null +++ b/.github/melt.sh @@ -0,0 +1,4 @@ +#!/bin/sh +uv tool install "git+https://github.com/scijava/pombast.git" +pombast melt . || true +pombast smelt --json smelt.json . diff --git a/.github/setup-build.sh b/.github/setup-build.sh index ff44a365..bdc2ff72 100755 --- a/.github/setup-build.sh +++ b/.github/setup-build.sh @@ -2,7 +2,7 @@ curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-setup-github-actions.sh sh ci-setup-github-actions.sh -# Install native libraries needed to build and test smelt components. +# Install native libraries needed to smelt components. pkgs="libxcb-shape0" # org.janelia:H5J_Loader_Plugin pkgs="$pkgs libgtk2.0-0" # net.imagej:imagej-opencv pkgs="$pkgs libblosc1" # org.janelia.saalfeldlab:n5-blosc diff --git a/.github/smelt.sh b/.github/smelt.sh deleted file mode 100755 index 1a92a196..00000000 --- a/.github/smelt.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -uv tool install "git+https://github.com/scijava/pombast.git@66a1e3abff431846a900703f7450e0c21f1456cc" -pombast smelt --config pombast.toml --json smelt.json . diff --git a/.github/status.sh b/.github/status.sh index f94d572e..86500ccf 100755 --- a/.github/status.sh +++ b/.github/status.sh @@ -1,5 +1,5 @@ #!/bin/sh uv tool install "git+https://github.com/scijava/pombast.git@66a1e3abff431846a900703f7450e0c21f1456cc" -pombast status --config pombast.toml --html index.html . +pombast status . commitNote="$(TZ=UTC date +'%Y-%m-%d %H:%M:%S UTC')" .github/publish.sh index.html "Update component table ($commitNote)" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 909668a8..b55033b7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,8 +57,8 @@ jobs: path: ~/.cache/pombast key: ${{ runner.os }}-pombast-cache - - name: Smelt components - run: .github/smelt.sh + - name: Run pombast melt+smelt commands + run: .github/melt.sh shell: bash - name: Delete old pombast cache From 3600df85ab54a4bb1a96d22c267ae31e5a336637 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 22 May 2026 17:43:48 -0500 Subject: [PATCH 12/51] CI: publish pombast team reports, improve caching Co-authored-by: Claude Sonnet 4.6 --- .github/publish.sh | 39 ++++++++++++++++++++---------- .github/status.sh | 6 ++--- .github/workflows/build.yml | 2 +- .github/workflows/status.yml | 46 ++++++++++++++++++++++++++++++++---- 4 files changed, 72 insertions(+), 21 deletions(-) diff --git a/.github/publish.sh b/.github/publish.sh index ac79edb3..be5b0745 100755 --- a/.github/publish.sh +++ b/.github/publish.sh @@ -1,25 +1,40 @@ #!/bin/sh # Commit a file to the status.scijava.org gh-pages branch. -# Usage: publish.sh [commit-message] # Requires SSH agent to be running with write access to status.scijava.org. set -e -file=$1 -message=${2:-"Update $(basename "$file")"} -test -f "$file" || { echo "File not found: $file" >&2; exit 1; } -dest=$(basename "$file") + +test $# -gt 1 || { + echo "Usage: publish.sh \"Commit message\" file1 [file2 ...]" + exit 2 +} + +datestamp="$(TZ=UTC date +'%Y-%m-%d %H:%M:%S UTC')" +message="$1 ($datestamp)" +shift git config --global user.name github-actions git config --global user.email github-actions@github.com -git clone --depth=1 --branch=gh-pages git@github.com:scijava/status.scijava.org site-publish -cp "$file" "site-publish/$dest" -cd site-publish -if git diff --quiet "$dest" +dest_dir=site-publish + +git clone --depth=1 --branch=gh-pages git@github.com:scijava/status.scijava.org "$dest_dir" + +while [ $# -gt 0 ] +do + file=$1 + shift + test -f "$file" || { echo "File not found: $file" >&2; exit 1; } + dest=$(basename "$file") + cp "$file" "$dest_dir/$dest" + (cd "$dest_dir" && git add "$dest") +done + +cd "$dest_dir" +if git diff --quiet . then - echo "== No changes to $dest ==" + echo "== No changes ==" else - echo "== Committing $dest ==" - git add "$dest" + echo "== Committing changes ==" git commit -m "$message" git push fi diff --git a/.github/status.sh b/.github/status.sh index 86500ccf..d06ecd1d 100755 --- a/.github/status.sh +++ b/.github/status.sh @@ -1,5 +1,5 @@ #!/bin/sh -uv tool install "git+https://github.com/scijava/pombast.git@66a1e3abff431846a900703f7450e0c21f1456cc" +uv tool install "git+https://github.com/scijava/pombast.git@1cece3cab4d9be78fe06203db6f9b87d4db99f2f" pombast status . -commitNote="$(TZ=UTC date +'%Y-%m-%d %H:%M:%S UTC')" -.github/publish.sh index.html "Update component table ($commitNote)" +pombast team . --html team.html +.github/publish.sh "Update status reports" index.html team.html diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b55033b7..6b8cd558 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -79,5 +79,5 @@ jobs: - name: Publish smelt results if: always() && github.ref == 'refs/heads/master' && github.event_name == 'push' - run: .github/publish.sh smelt.json "Update smelt results" + run: .github/publish.sh "Update smelt results" smelt.json shell: bash diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index c9eceeec..6809dd19 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -11,6 +11,8 @@ on: jobs: status: runs-on: ubuntu-latest + permissions: + actions: write # needed to delete and re-save caches steps: - uses: actions/checkout@v4 @@ -24,16 +26,50 @@ jobs: - name: Restore pombast cache uses: actions/cache/restore@v4 with: - path: ~/.cache/pombast/pom-timestamps - restore-keys: ${{ runner.os }}-pombast-status- + path: ~/.cache/pombast + key: ${{ runner.os }}-pombast-status + restore-keys: ${{ runner.os }}-pombast-cache - - name: Generate and publish status page + - name: Restore monoqueue cache + uses: actions/cache/restore@v4 + with: + path: ~/.cache/monoqueue + key: ${{ runner.os }}-monoqueue-status + + - name: Generate and publish status and team pages run: .github/status.sh shell: bash + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Delete old pombast status cache + if: always() + run: | + gh api --method DELETE \ + -H "Accept: application/vnd.github+json" \ + "/repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-pombast-status" || true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Save pombast cache if: always() uses: actions/cache/save@v4 with: - path: ~/.cache/pombast/pom-timestamps - key: ${{ runner.os }}-pombast-status-${{ github.run_id }} + path: ~/.cache/pombast + key: ${{ runner.os }}-pombast-status + + - name: Delete old monoqueue cache + if: always() + run: | + gh api --method DELETE \ + -H "Accept: application/vnd.github+json" \ + "/repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-monoqueue-status" || true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Save monoqueue cache + if: always() + uses: actions/cache/save@v4 + with: + path: ~/.cache/monoqueue + key: ${{ runner.os }}-monoqueue-status From f755ca31c98ede0846288777f59ebeb2238f6738 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 23 May 2026 08:39:10 -0500 Subject: [PATCH 13/51] CI: further improve caching --- .github/delete-cache.sh | 5 +++++ .github/workflows/build.yml | 10 ++++------ .github/workflows/status.yml | 14 +++++--------- 3 files changed, 14 insertions(+), 15 deletions(-) create mode 100755 .github/delete-cache.sh diff --git a/.github/delete-cache.sh b/.github/delete-cache.sh new file mode 100755 index 00000000..6c3dbb9c --- /dev/null +++ b/.github/delete-cache.sh @@ -0,0 +1,5 @@ +#!/bin/sh +test "$1" || { echo "Usage: delete-cache.sh cache-key"; exit 1; } +gh api --method DELETE \ + -H "Accept: application/vnd.github+json" \ + "/repos/scijava/pom-scijava/actions/caches?key=$1" || true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b8cd558..a29e656c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,7 +55,7 @@ jobs: uses: actions/cache/restore@v4 with: path: ~/.cache/pombast - key: ${{ runner.os }}-pombast-cache + key: ${{ runner.os }}-pombast-build - name: Run pombast melt+smelt commands run: .github/melt.sh @@ -63,10 +63,8 @@ jobs: - name: Delete old pombast cache if: always() - run: | - gh api --method DELETE \ - -H "Accept: application/vnd.github+json" \ - "/repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-pombast-cache" || true + run: .github/delete-cache.sh "${{ runner.os }}-pombast-build" + shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -75,7 +73,7 @@ jobs: uses: actions/cache/save@v4 with: path: ~/.cache/pombast - key: ${{ runner.os }}-pombast-cache + key: ${{ runner.os }}-pombast-build - name: Publish smelt results if: always() && github.ref == 'refs/heads/master' && github.event_name == 'push' diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index 6809dd19..c14eaf3d 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -28,8 +28,8 @@ jobs: with: path: ~/.cache/pombast key: ${{ runner.os }}-pombast-status - restore-keys: ${{ runner.os }}-pombast-cache + # The monoqueue library is used by pombast to read GitHub issues. - name: Restore monoqueue cache uses: actions/cache/restore@v4 with: @@ -44,10 +44,8 @@ jobs: - name: Delete old pombast status cache if: always() - run: | - gh api --method DELETE \ - -H "Accept: application/vnd.github+json" \ - "/repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-pombast-status" || true + run: .github/delete-cache.sh "${{ runner.os }}-pombast-status" + shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -60,10 +58,8 @@ jobs: - name: Delete old monoqueue cache if: always() - run: | - gh api --method DELETE \ - -H "Accept: application/vnd.github+json" \ - "/repos/scijava/pom-scijava/actions/caches?key=${{ runner.os }}-monoqueue-status" || true + run: .github/delete-cache.sh "${{ runner.os }}-monoqueue-status" + shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 53646cd6d13d8a99f91197b7e16c9a25d674a042 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sun, 24 May 2026 13:29:05 -0500 Subject: [PATCH 14/51] Update component versions * scijava-common: 2.99.2 -> 2.100.1 * scijava-optional: 1.0.1 -> 1.0.2 * scijava-table: 1.0.2 -> 1.0.3 These releases support the release of imagej-server 0.2.0. --- pom.xml | 6 +++--- pombast.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 781fb597..f8dc529e 100644 --- a/pom.xml +++ b/pom.xml @@ -376,7 +376,7 @@ ${scijava-cache.version} - 2.99.2 + 2.100.1 ${scijava-common.version} @@ -408,7 +408,7 @@ ${scijava-log-slf4j.version} - 1.0.1 + 1.0.2 ${scijava-optional.version} @@ -436,7 +436,7 @@ ${scijava-search.version} - 1.0.2 + 1.0.3 ${scijava-table.version} diff --git a/pombast.toml b/pombast.toml index c83f285b..f875df8a 100644 --- a/pombast.toml +++ b/pombast.toml @@ -63,7 +63,7 @@ excludes = [ # NB: Skip closed-source artifacts. 'org.bonej:bonej-plus', # NB: The following artifacts have messy dependency trees. - # Too many problems to test as part of the mega-melt. + # Too many problems to test as part of the melt action. # See WARNING block in pom-scijava's pom.xml for details. 'net.imagej:imagej-server', 'org.apache.spark:spark-core_2.11', From 12c3fd779444c78ed1fc0d1cc039ea34589dc821 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 25 May 2026 17:34:37 -0500 Subject: [PATCH 15/51] Update SNT: 4.2.1 -> 5.0.9 --- pom.xml | 2 +- pombast.toml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f8dc529e..5877c321 100644 --- a/pom.xml +++ b/pom.xml @@ -1257,7 +1257,7 @@ ${bonej-utilities.version} - 4.2.1 + 5.0.9 ${SNT.version} diff --git a/pombast.toml b/pombast.toml index f875df8a..3108add1 100644 --- a/pombast.toml +++ b/pombast.toml @@ -220,3 +220,6 @@ java-version = 11 [components."org.bonej:bonej-ops"] java-version = 11 + +[components."org.morphonets:SNT"] +java-version = 21 From c5e9565e5b2276c0036654ca0c9f0ea0a147a5d5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 25 May 2026 17:45:27 -0500 Subject: [PATCH 16/51] Set Java version to 21 for pombast melt This lets the melt action pass -- for now. A comment explains why this is tenuous, though. --- pombast.toml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pombast.toml b/pombast.toml index 3108add1..724d6953 100644 --- a/pombast.toml +++ b/pombast.toml @@ -13,7 +13,13 @@ footer = "footer.html" nexus-base = "https://maven.scijava.org" [melt] -java-version = 11 +# Some managed components require Java 21+. So it makes sense to melt with that version of Java. +# Unfortunately, the scijava.jvm.version is currently set to 11 by default. +# So even though OpenJDK 21 is being used to run Maven, the enforcer plugin still +# complains when encountering any Java libraries with bytecode newer than 11. +# Setting scijava.jvm.version to 21 by default would avoid the issue, but... +# is that really a good idea? Setting to 11 seems like a nice baseline compromise right now. +java-version = 21 # Maximum Java version of all included component + deps. template = "tests/mega-melt-template.xml" excludes = [ # TEMP: Exclude org.bytedeco:hdf5 until cisd:jhdf5 is gone. From 47bc3dcfabaf2d77cf4f749d2f853d3c51d80778 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 26 May 2026 14:05:40 -0500 Subject: [PATCH 17/51] CI: always use latest pombast (for now) --- .github/status.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/status.sh b/.github/status.sh index d06ecd1d..096e57c5 100755 --- a/.github/status.sh +++ b/.github/status.sh @@ -1,5 +1,5 @@ #!/bin/sh -uv tool install "git+https://github.com/scijava/pombast.git@1cece3cab4d9be78fe06203db6f9b87d4db99f2f" +uv tool install "git+https://github.com/scijava/pombast.git" pombast status . pombast team . --html team.html .github/publish.sh "Update status reports" index.html team.html From 95c2862091d426628fffd17953d874282830d26a Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 26 May 2026 14:06:09 -0500 Subject: [PATCH 18/51] Exclude OME artifacts from team analysis --- pombast.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pombast.toml b/pombast.toml index 724d6953..56716c8e 100644 --- a/pombast.toml +++ b/pombast.toml @@ -12,6 +12,9 @@ header = "header.html" footer = "footer.html" nexus-base = "https://maven.scijava.org" +[team] +excludes = ["ome:*", "org.openmicroscopy:*"] + [melt] # Some managed components require Java 21+. So it makes sense to melt with that version of Java. # Unfortunately, the scijava.jvm.version is currently set to 11 by default. From 05e80c180eb739f3d9d1d2a1b702d9f667e6138c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 26 May 2026 23:44:44 -0500 Subject: [PATCH 19/51] Consolidate status sidecars into pombast.toml --- ci-badges.txt | 45 --- pombast.toml | 821 ++++++++++++++++++++++++++++++++++++++++++++++++- projects.txt | 25 -- timestamps.txt | 161 ---------- 4 files changed, 818 insertions(+), 234 deletions(-) delete mode 100644 ci-badges.txt delete mode 100644 projects.txt delete mode 100644 timestamps.txt diff --git a/ci-badges.txt b/ci-badges.txt deleted file mode 100644 index cfe892d2..00000000 --- a/ci-badges.txt +++ /dev/null @@ -1,45 +0,0 @@ -bigdataviewer/bigvolumeviewer-core -fiji/Colocalisation_Analysis -imagej/imagej-common -imagej/imagej-legacy -imglib/imglib2-mesh -imagej/imagej-matlab -ome/bioformats -ome/ome-codecs -ome/ome-common-java -ome/ome-metakit -ome/ome-model -ome/ome-poi -ome/omero-blitz -ome/omero-common -ome/omero-dsl-plugin -ome/omero-gateway-java -ome/omero-model -ome/omero-renderer -ome/omero-romio -ome/omero-server -scijava/java3d-core None -scijava/java3d-utils None -scijava/jep None -scijava/junit-benchmarks None -scijava/minimaven -scijava/native-lib-loader -scijava/parsington -scijava/scijava-coding-style -scijava/scijava-common -scijava/scijava-config -scijava/scijava-log-slf4j -scijava/scijava-maven-plugin -scijava/script-editor-scala -scijava/swing-checkbox-tree -scijava/vecmath None -trackmate-sc/TrackMate -trackmate-sc/TrackMate-CSVImporter -trackmate-sc/TrackMate-Cellpose -trackmate-sc/TrackMate-ExTrack -trackmate-sc/TrackMate-Ilastik -trackmate-sc/TrackMate-MorphoLibJ -trackmate-sc/TrackMate-Oneat -trackmate-sc/TrackMate-Skeleton -trackmate-sc/TrackMate-StarDist -trackmate-sc/TrackMate-Weka diff --git a/pombast.toml b/pombast.toml index 56716c8e..7a6fc3ef 100644 --- a/pombast.toml +++ b/pombast.toml @@ -4,9 +4,6 @@ repositories = ["scijava.public=https://maven.scijava.org/content/groups/public" [status] rules = "rules.xml" -projects = "projects.txt" -badges = "ci-badges.txt" -timestamps = "timestamps.txt" html = "index.html" header = "header.html" footer = "footer.html" @@ -15,6 +12,24 @@ nexus-base = "https://maven.scijava.org" [team] excludes = ["ome:*", "org.openmicroscopy:*"] +[badges] +includes = [ + "io.scif:*", + "de.nanoimaging:*", + "fr.inra.ijpb:*", + "mpicbg:*", + "net.imagej:*", + "net.imglib2:*", + "net.preibisch:*", + "ome:*", + "org.bonej:*", + "org.janelia*:*", + "org.morphonets:*", + "org.openmicroscopy:*", + "org.scijava:*", + "sc.fiji:*", +] + [melt] # Some managed components require Java 21+. So it makes sense to melt with that version of Java. # Unfortunately, the scijava.jvm.version is currently set to 11 by default. @@ -218,17 +233,817 @@ skip-tests = [ # at sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest.test(CalculateProbabilityMapWithLabkitIJ1PluginTest.java:65) "sc.fiji:labkit-ui" = ["sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest"] +[components."fr.inra.ijpb:MorphoLibJ"] +ci-build = "build-main" + +[components."hsqldb:hsqldb"] +last-vetted = "20190101000000" + +[components."io.scif:scifio-bf-compat"] +ci-build = "build-main" + +[components."io.scif:scifio-cli"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."io.scif:scifio-hdf5"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."io.scif:scifio-jai-imageio"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."io.scif:scifio-labeling"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."io.scif:scifio-lifesci"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."io.scif:scifio-ome-xml"] +ci-build = "build-main" + [components."net.imagej:ij"] java-version = 11 +[components."net.imagej:imagej-deprecated"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-mesh"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-mesh-io"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-notebook"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-omero"] +ci-build = "build-main" + +[components."net.imagej:imagej-omero-legacy"] +ci-build = "build-main" + +[components."net.imagej:imagej-opencv"] +ci-build = "build-main" + +[components."net.imagej:imagej-ops"] +ci-build = "build-main" + +[components."net.imagej:imagej-plugins-batch"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-plugins-commands"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-plugins-tools"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-plugins-uploader-ssh"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-plugins-uploader-webdav"] +ci-build = "build-main" + +[components."net.imagej:imagej-scripting"] +ci-build = "build-main" + +[components."net.imagej:imagej-server"] +last-vetted = "20250101000000" + +[components."net.imagej:imagej-tensorflow"] +ci-build = "build-main" + +[components."net.imagej:imagej-ui-awt"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imagej:imagej-ui-swing"] +ci-build = "build-main" + +[components."net.imagej:imagej-updater"] +ci-build = "build-main" + +[components."net.imagej:op-finder"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."net.imglib2:imglib2-algorithm"] +ci-build = "build-main" + +[components."net.imglib2:imglib2-algorithm-fft"] +last-vetted = "20230309000000" + +[components."net.imglib2:imglib2-algorithm-gpl"] +last-vetted = "20230309000000" + [components."net.imglib2:imglib2-mesh"] java-version = 11 +[components."net.imglib2:imglib2-unsafe"] +last-vetted = "20230309000000" + +[components."net.preibischlab:multiview-simulation"] +ci-build = "build-main" + +[components."ome:bioformats"] +ci-build = "maven" + +[components."ome:ome-codecs"] +ci-build = "maven" + +[components."ome:ome-common-java"] +ci-build = "maven" + +[components."ome:ome-metakit"] +ci-build = "maven" + +[components."ome:ome-model"] +ci-build = "maven" + +[components."ome:ome-poi"] +ci-build = "maven" + [components."org.bonej:bonej-legacy-plugins_"] java-version = 11 +ci-build = "build-main" [components."org.bonej:bonej-ops"] java-version = 11 +ci-build = "build-main" + +[components."org.codehaus.groovy:groovy"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-ant"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-astbuilder"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-bsf"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-cli-commons"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-cli-picocli"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-console"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-datetime"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-dateutil"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-docgenerator"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-groovydoc"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-groovysh"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-jaxb"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-jmx"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-json"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-jsr223"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-macro"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-nio"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-servlet"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-sql"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-swing"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-templates"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-test"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-test-junit5"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-testng"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-xml"] +last-vetted = "20250101000000" + +[components."org.codehaus.groovy:groovy-yaml"] +last-vetted = "20250101000000" + +[components."org.janelia.saalfeldlab:jitk-tps"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:n5-aws-s3"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:n5-google-cloud"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:n5-hdf5"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:n5-ij"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:n5-imglib2"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:n5-universe"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:n5-viewer"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:trakem2-tps"] +ci-build = "build-main" + +[components."org.janelia.saalfeldlab:z-spacing"] +ci-build = "build-main" + +[components."org.mockito:mockito-core"] +last-vetted = "20250101000000" [components."org.morphonets:SNT"] java-version = 21 + +[components."org.ojalgo:ojalgo"] +last-vetted = "20250101000000" + +[components."org.openmicroscopy:omero-blitz"] +ci-build = "gradle" + +[components."org.openmicroscopy:omero-common"] +ci-build = "gradle" + +[components."org.openmicroscopy:omero-dsl-plugin"] +ci-build = "gradle" + +[components."org.openmicroscopy:omero-gateway-java"] +ci-build = "gradle" + +[components."org.openmicroscopy:omero-model"] +ci-build = "gradle" + +[components."org.openmicroscopy:omero-renderer"] +ci-build = "gradle" + +[components."org.openmicroscopy:omero-romio"] +ci-build = "gradle" + +[components."org.openmicroscopy:omero-server"] +ci-build = "gradle" + +[components."org.python:jython-slim"] +last-vetted = "20230309000000" + +[components."org.scijava:batch-processor"] +ci-build = "build-main" + +[components."org.scijava:j3dcore"] +last-vetted = "20180905120000" + +[components."org.scijava:j3dutils"] +last-vetted = "20180905120000" + +[components."org.scijava:java3d-core"] +ci-build = false + +[components."org.scijava:java3d-utils"] +ci-build = false + +[components."org.scijava:jep"] +ci-build = false +last-vetted = "20171225120000" + +[components."org.scijava:junit-benchmarks"] +ci-build = false +last-vetted = "20180905120000" + +[components."org.scijava:minimaven"] +last-vetted = "20230309000000" + +[components."org.scijava:native-lib-loader"] +last-vetted = "20230309000000" + +[components."org.scijava:scijava-cache"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scijava-grab"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scijava-io-http"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scijava-java3d"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scijava-listeners"] +last-vetted = "20211021000000" + +[components."org.scijava:scijava-maven-plugin"] +last-vetted = "20230309000000" + +[components."org.scijava:scijava-optional"] +last-vetted = "20230309000000" + +[components."org.scijava:scijava-plot"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scijava-plugins-commands"] +ci-build = "build-main" + +[components."org.scijava:scijava-plugins-platforms"] +last-vetted = "20230309000000" + +[components."org.scijava:scijava-plugins-text-markdown"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scijava-plugins-text-plain"] +ci-build = "build-main" + +[components."org.scijava:scijava-search"] +ci-build = "build-main" + +[components."org.scijava:scijava-table"] +ci-build = "build-main" + +[components."org.scijava:scijava-ui-awt"] +last-vetted = "20230309000000" + +[components."org.scijava:scijava-ui-swing"] +ci-build = "build-main" + +[components."org.scijava:script-editor"] +ci-build = "build-main" + +[components."org.scijava:script-editor-jython"] +ci-build = "build-main" + +[components."org.scijava:scripting-beanshell"] +ci-build = "build-main" + +[components."org.scijava:scripting-clojure"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scripting-groovy"] +ci-build = "build-main" + +[components."org.scijava:scripting-java"] +last-vetted = "20230309000000" + +[components."org.scijava:scripting-javascript"] +ci-build = "build-main" + +[components."org.scijava:scripting-jruby"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scripting-jython"] +ci-build = "build-main" + +[components."org.scijava:scripting-kotlin"] +ci-build = "build-main" + +[components."org.scijava:scripting-matlab"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:scripting-renjin"] +ci-build = "build-main" + +[components."org.scijava:scripting-scala"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."org.scijava:swing-checkbox-tree"] +last-vetted = "20230309000000" + +[components."org.scijava:ui-behaviour"] +ci-build = "build-main" + +[components."org.scijava:vecmath"] +ci-build = false +last-vetted = "20180905120000" + +[components."org.springframework:spring-aop"] +last-vetted = "20250101000000" + +[components."org.springframework:spring-beans"] +last-vetted = "20250101000000" + +[components."org.springframework:spring-core"] +last-vetted = "20250101000000" + +[components."org.tensorflow:libtensorflow"] +last-vetted = "20200701000000" + +[components."org.tensorflow:libtensorflow_jni"] +last-vetted = "20200701000000" + +[components."org.tensorflow:libtensorflow_jni_gpu"] +last-vetted = "20200701000000" + +[components."org.tensorflow:proto"] +last-vetted = "20200701000000" + +[components."org.tensorflow:tensorflow"] +last-vetted = "20200701000000" + +[components."sc.fiji:3D_Blob_Segmentation"] +ci-build = "build-main" + +[components."sc.fiji:3D_Objects_Counter"] +ci-build = "build-main" +last-vetted = "20230313000000" + +[components."sc.fiji:3D_Viewer"] +ci-build = "build-main" +last-vetted = "20230313000000" + +[components."sc.fiji:AnalyzeSkeleton"] +ci-build = "build-main" + +[components."sc.fiji:AnalyzeSkeleton_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Anisotropic_Diffusion_2D"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Archipelago_Plugins"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Arrow"] +ci-build = "build-main" + +[components."sc.fiji:Arrow_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Auto_Local_Threshold"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Auto_Threshold"] +ci-build = "build-main" + +[components."sc.fiji:BalloonSegmentation"] +ci-build = "build-main" + +[components."sc.fiji:BalloonSegmentation_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Bug_Submitter"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:CPU_Meter"] +ci-build = "build-main" + +[components."sc.fiji:Calculator_Plus"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Cell_Counter"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Colocalisation_Analysis"] +last-vetted = "20230309000000" + +[components."sc.fiji:Color_Histogram"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Color_Inspector_3D"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Colour_Deconvolution"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:CorrectBleach"] +ci-build = "build-main" + +[components."sc.fiji:Correct_3D_Drift"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Descriptor_based_registration"] +ci-build = "build-main" + +[components."sc.fiji:Dichromacy"] +ci-build = "build-main" + +[components."sc.fiji:Dichromacy_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Directionality"] +ci-build = "build-main" + +[components."sc.fiji:Directionality_"] +last-vetted = "20230309000000" + +[components."sc.fiji:FS_Align_TrakEM2"] +ci-build = "build-main" + +[components."sc.fiji:Feature_Detection"] +ci-build = "build-main" + +[components."sc.fiji:Fiji_Archipelago"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Fiji_Developer"] +ci-build = "build-main" + +[components."sc.fiji:Fiji_Package_Maker"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:FlowJ"] +ci-build = "build-main" + +[components."sc.fiji:FlowJ_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Graph_Cut"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Gray_Morphology"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:H5J_Loader_Plugin"] +ci-build = "build-main" + +[components."sc.fiji:HDF5_Vibez"] +ci-build = "build-main" + +[components."sc.fiji:Helmholtz_Analysis"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:IJ_Robot"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:IO"] +ci-build = "build-main" + +[components."sc.fiji:Image_5D"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Image_Expression_Parser"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Interactive_3D_Surface_Plot"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:IsoData_Classifier"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Kappa"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Kuwahara_Filter"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:LSM_Reader"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:LSM_Toolbox"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Lasso_and_Blow_Tool"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Linear_Kuwahara"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:LocalThickness"] +ci-build = "build-main" + +[components."sc.fiji:LocalThickness_"] +last-vetted = "20230309000000" + +[components."sc.fiji:MTrack2"] +ci-build = "build-main" + +[components."sc.fiji:MTrack2_"] +last-vetted = "20230309000000" + +[components."sc.fiji:M_I_P"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:MaMuT"] +ci-build = "build-main" + +[components."sc.fiji:Manual_Tracking"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Multi_Kymograph"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:OMEVisual"] +last-vetted = "20230309000000" + +[components."sc.fiji:PIV_analyser"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:QuickPALM"] +ci-build = "build-main" + +[components."sc.fiji:QuickPALM_"] +last-vetted = "20230309000000" + +[components."sc.fiji:RATS"] +ci-build = "build-main" + +[components."sc.fiji:RATS_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Reconstruct_Reader"] +ci-build = "build-main" + +[components."sc.fiji:SPIM_Opener"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:SPIM_Registration"] +ci-build = "build-main" + +[components."sc.fiji:Samples"] +ci-build = "build-main" + +[components."sc.fiji:Samples_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Series_Labeler"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Siox_Segmentation"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Skeletonize3D"] +ci-build = "build-main" + +[components."sc.fiji:Skeletonize3D_"] +last-vetted = "20230309000000" + +[components."sc.fiji:SplineDeformationGenerator"] +ci-build = "build-main" + +[components."sc.fiji:SplineDeformationGenerator_"] +last-vetted = "20230309000000" + +[components."sc.fiji:Stack_Manipulation"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Statistical_Region_Merging"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Stitching"] +ci-build = "build-main" + +[components."sc.fiji:Sync_Win"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:T2-NIT"] +ci-build = "build-main" + +[components."sc.fiji:T2-TreelineGraph"] +ci-build = "build-main" + +[components."sc.fiji:Thread_Killer"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Time_Lapse"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:Time_Stamper"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:ToAST_"] +last-vetted = "20230309000000" + +[components."sc.fiji:TopoJ_"] +last-vetted = "20230309000000" + +[components."sc.fiji:VIB-lib"] +last-vetted = "20230309000000" + +[components."sc.fiji:Vaa3d_Reader"] +last-vetted = "20230309000000" + +[components."sc.fiji:Vaa3d_Writer"] +last-vetted = "20230309000000" + +[components."sc.fiji:Video_Editing"] +last-vetted = "20230309000000" + +[components."sc.fiji:bUnwarpJ_"] +last-vetted = "20230309000000" + +[components."sc.fiji:bij"] +last-vetted = "20230309000000" + +[components."sc.fiji:fiji-lib"] +last-vetted = "20230309000000" + +[components."sc.fiji:legacy-imglib1"] +ci-build = "build-main" + +[components."sc.fiji:level_sets"] +last-vetted = "20230309000000" + +[components."sc.fiji:pal-optimization"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:panorama_"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:register_virtual_stack_slices"] +ci-build = "build-main" + +[components."sc.fiji:registration_3d"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:spimdata"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:trakem2-transform"] +ci-build = "build-main" +last-vetted = "20230309000000" + +[components."sc.fiji:weave_jy2java"] +ci-build = "build-main" +last-vetted = "20230309000000" diff --git a/projects.txt b/projects.txt deleted file mode 100644 index 49959fef..00000000 --- a/projects.txt +++ /dev/null @@ -1,25 +0,0 @@ -mpicbg:mpicbg https://github.com/axtimwalde/mpicbg -mpicbg:mpicbg_ https://github.com/axtimwalde/mpicbg -net.imagej:ij https://github.com/imagej/ImageJ -net.imglib2:imglib2-label-multisets https://github.com/saalfeldlab/imglib2-label-multisets -ome:bio-formats_plugins https://github.com/ome/bioformats -ome:formats-api https://github.com/ome/bioformats -ome:formats-bsd https://github.com/ome/bioformats -ome:formats-gpl https://github.com/ome/bioformats -org.janelia:H5J_Loader_Plugin https://github.com/fiji/H5J_Loader_Plugin -org.openmicroscopy:metakit https://github.com/ome/ome-metakit -org.openmicroscopy:ome-common https://github.com/ome/ome-common-java -org.openmicroscopy:ome-xml https://github.com/ome/ome-model -org.openmicroscopy:omero-gateway https://github.com/ome/omero-gateway-java -org.openmicroscopy:specification https://github.com/ome/ome-model -org.scijava:j3dcore https://github.com/scijava/java3d-core -org.scijava:j3dutils https://github.com/scijava/java3d-utils -sc.fiji:T2-NIT https://github.com/trakem2/T2-NIT -sc.fiji:T2-TreelineGraph https://github.com/trakem2/T2-TreelineGraph -sc.fiji:TrakEM2_ https://github.com/trakem2/TrakEM2 -sc.fiji:VectorString https://github.com/trakem2/VectorString -sc.fiji:bigwarp_fiji https://github.com/saalfeldlab/bigwarp -sc.fiji:spim_data https://github.com/bigdataviewer/spimdata -sc.fiji:trakem2-transform https://github.com/trakem2/trakem2-transform -sc.fiji:trakem2_tps https://github.com/saalfeldlab/trakem2-tps -sc.fiji:z_spacing https://github.com/saalfeldlab/z-spacing diff --git a/timestamps.txt b/timestamps.txt deleted file mode 100644 index d3b86f2f..00000000 --- a/timestamps.txt +++ /dev/null @@ -1,161 +0,0 @@ -# Stable forks of third-party projects. -org.scijava:j3dcore 20180905120000 -org.scijava:j3dutils 20180905120000 -org.scijava:jep 20171225120000 -org.scijava:junit-benchmarks 20180905120000 -org.scijava:vecmath 20180905120000 - -# Newer versions break stuff... freeze for now. -hsqldb:hsqldb 20190101000000 -org.codehaus.groovy:groovy 20250101000000 -org.codehaus.groovy:groovy-ant 20250101000000 -org.codehaus.groovy:groovy-astbuilder 20250101000000 -org.codehaus.groovy:groovy-bsf 20250101000000 -org.codehaus.groovy:groovy-cli-commons 20250101000000 -org.codehaus.groovy:groovy-cli-picocli 20250101000000 -org.codehaus.groovy:groovy-console 20250101000000 -org.codehaus.groovy:groovy-datetime 20250101000000 -org.codehaus.groovy:groovy-dateutil 20250101000000 -org.codehaus.groovy:groovy-docgenerator 20250101000000 -org.codehaus.groovy:groovy-groovydoc 20250101000000 -org.codehaus.groovy:groovy-groovysh 20250101000000 -org.codehaus.groovy:groovy-jaxb 20250101000000 -org.codehaus.groovy:groovy-jmx 20250101000000 -org.codehaus.groovy:groovy-json 20250101000000 -org.codehaus.groovy:groovy-jsr223 20250101000000 -org.codehaus.groovy:groovy-macro 20250101000000 -org.codehaus.groovy:groovy-nio 20250101000000 -org.codehaus.groovy:groovy-servlet 20250101000000 -org.codehaus.groovy:groovy-sql 20250101000000 -org.codehaus.groovy:groovy-swing 20250101000000 -org.codehaus.groovy:groovy-templates 20250101000000 -org.codehaus.groovy:groovy-test 20250101000000 -org.codehaus.groovy:groovy-test-junit5 20250101000000 -org.codehaus.groovy:groovy-testng 20250101000000 -org.codehaus.groovy:groovy-xml 20250101000000 -org.codehaus.groovy:groovy-yaml 20250101000000 -org.mockito:mockito-core 20250101000000 -org.ojalgo:ojalgo 20250101000000 -org.python:jython-slim 20230309000000 -org.springframework:spring-aop 20250101000000 -org.springframework:spring-beans 20250101000000 -org.springframework:spring-core 20250101000000 -org.tensorflow:libtensorflow 20200701000000 -org.tensorflow:libtensorflow_jni 20200701000000 -org.tensorflow:libtensorflow_jni_gpu 20200701000000 -org.tensorflow:proto 20200701000000 -org.tensorflow:tensorflow 20200701000000 - -# Not maintaining ImageJ Server currently... -net.imagej:imagej-server 20250101000000 - -# SciJava projects with only CI+POM changes. -io.scif:scifio-cli 20230309000000 -io.scif:scifio-hdf5 20230309000000 -io.scif:scifio-jai-imageio 20230309000000 -io.scif:scifio-labeling 20230309000000 -io.scif:scifio-lifesci 20230309000000 -net.imagej:imagej-deprecated 20230309000000 -net.imagej:imagej-mesh 20230309000000 -net.imagej:imagej-mesh-io 20230309000000 -net.imagej:imagej-notebook 20230309000000 -net.imagej:imagej-plugins-batch 20230309000000 -net.imagej:imagej-plugins-commands 20230309000000 -net.imagej:imagej-plugins-tools 20230309000000 -net.imagej:imagej-plugins-uploader-ssh 20230309000000 -net.imagej:imagej-ui-awt 20230309000000 -net.imagej:op-finder 20230309000000 -net.imglib2:imglib2-algorithm-fft 20230309000000 -net.imglib2:imglib2-algorithm-gpl 20230309000000 -net.imglib2:imglib2-unsafe 20230309000000 -org.scijava:minimaven 20230309000000 -org.scijava:native-lib-loader 20230309000000 -org.scijava:scijava-cache 20230309000000 -org.scijava:scijava-grab 20230309000000 -org.scijava:scijava-io-http 20230309000000 -org.scijava:scijava-java3d 20230309000000 -org.scijava:scijava-listeners 20211021000000 -org.scijava:scijava-maven-plugin 20230309000000 -org.scijava:scijava-optional 20230309000000 -org.scijava:scijava-plot 20230309000000 -org.scijava:scijava-plugins-platforms 20230309000000 -org.scijava:scijava-plugins-text-markdown 20230309000000 -org.scijava:scijava-ui-awt 20230309000000 -org.scijava:scripting-clojure 20230309000000 -org.scijava:scripting-java 20230309000000 -org.scijava:scripting-jruby 20230309000000 -org.scijava:scripting-matlab 20230309000000 -org.scijava:scripting-scala 20230309000000 -org.scijava:swing-checkbox-tree 20230309000000 -sc.fiji:3D_Objects_Counter 20230313000000 -sc.fiji:3D_Viewer 20230313000000 -sc.fiji:AnalyzeSkeleton_ 20230309000000 -sc.fiji:Anisotropic_Diffusion_2D 20230309000000 -sc.fiji:Archipelago_Plugins 20230309000000 -sc.fiji:Arrow_ 20230309000000 -sc.fiji:Auto_Local_Threshold 20230309000000 -sc.fiji:BalloonSegmentation_ 20230309000000 -sc.fiji:Bug_Submitter 20230309000000 -sc.fiji:Calculator_Plus 20230309000000 -sc.fiji:Cell_Counter 20230309000000 -sc.fiji:Colocalisation_Analysis 20230309000000 -sc.fiji:Color_Histogram 20230309000000 -sc.fiji:Color_Inspector_3D 20230309000000 -sc.fiji:Colour_Deconvolution 20230309000000 -sc.fiji:Correct_3D_Drift 20230309000000 -sc.fiji:Dichromacy_ 20230309000000 -sc.fiji:Directionality_ 20230309000000 -sc.fiji:Fiji_Archipelago 20230309000000 -sc.fiji:Fiji_Package_Maker 20230309000000 -sc.fiji:FlowJ_ 20230309000000 -sc.fiji:Graph_Cut 20230309000000 -sc.fiji:Gray_Morphology 20230309000000 -sc.fiji:Helmholtz_Analysis 20230309000000 -sc.fiji:IJ_Robot 20230309000000 -sc.fiji:Image_5D 20230309000000 -sc.fiji:Image_Expression_Parser 20230309000000 -sc.fiji:Interactive_3D_Surface_Plot 20230309000000 -sc.fiji:IsoData_Classifier 20230309000000 -sc.fiji:Kappa 20230309000000 -sc.fiji:Kuwahara_Filter 20230309000000 -sc.fiji:LSM_Reader 20230309000000 -sc.fiji:LSM_Toolbox 20230309000000 -sc.fiji:Lasso_and_Blow_Tool 20230309000000 -sc.fiji:Linear_Kuwahara 20230309000000 -sc.fiji:LocalThickness_ 20230309000000 -sc.fiji:MTrack2_ 20230309000000 -sc.fiji:M_I_P 20230309000000 -sc.fiji:Manual_Tracking 20230309000000 -sc.fiji:Multi_Kymograph 20230309000000 -sc.fiji:OMEVisual 20230309000000 -sc.fiji:PIV_analyser 20230309000000 -sc.fiji:QuickPALM_ 20230309000000 -sc.fiji:RATS_ 20230309000000 -sc.fiji:SPIM_Opener 20230309000000 -sc.fiji:Samples_ 20230309000000 -sc.fiji:Series_Labeler 20230309000000 -sc.fiji:Siox_Segmentation 20230309000000 -sc.fiji:Skeletonize3D_ 20230309000000 -sc.fiji:SplineDeformationGenerator_ 20230309000000 -sc.fiji:Stack_Manipulation 20230309000000 -sc.fiji:Statistical_Region_Merging 20230309000000 -sc.fiji:Sync_Win 20230309000000 -sc.fiji:Thread_Killer 20230309000000 -sc.fiji:Time_Lapse 20230309000000 -sc.fiji:Time_Stamper 20230309000000 -sc.fiji:ToAST_ 20230309000000 -sc.fiji:TopoJ_ 20230309000000 -sc.fiji:VIB-lib 20230309000000 -sc.fiji:Vaa3d_Reader 20230309000000 -sc.fiji:Vaa3d_Writer 20230309000000 -sc.fiji:Video_Editing 20230309000000 -sc.fiji:bUnwarpJ_ 20230309000000 -sc.fiji:bij 20230309000000 -sc.fiji:fiji-lib 20230309000000 -sc.fiji:level_sets 20230309000000 -sc.fiji:pal-optimization 20230309000000 -sc.fiji:panorama_ 20230309000000 -sc.fiji:registration_3d 20230309000000 -sc.fiji:spimdata 20230309000000 -sc.fiji:trakem2-transform 20230309000000 -sc.fiji:weave_jy2java 20230309000000 From 27bf0476496e8756de6cef8dd890c0947fb15984 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 27 May 2026 15:42:46 -0500 Subject: [PATCH 20/51] Manage version of scijava-desktop The scijava-desktop component now unifies scijava-links and scijava-plugins-platforms into a single artifact, responsible for managing OS-platform-level integrations. --- pom.xml | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 5877c321..9a1d2506 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ pom-scijava - 44.0.1-SNAPSHOT + 45.0.0-SNAPSHOT pom SciJava Parent POM @@ -383,6 +383,10 @@ 2.0.3 ${scijava-config.version} + + 1.0.0 + ${scijava-desktop.version} + 0.1.2 ${scijava-grab.version} @@ -395,10 +399,6 @@ 0.1.0 ${scijava-java3d.version} - - 1.0.0 - ${scijava-links.version} - 1.0.0-beta-3 ${scijava-listeners.version} @@ -419,10 +419,6 @@ 0.2.5 ${scijava-plugins-commands.version} - - 0.3.1 - ${scijava-plugins-platforms.version} - 0.1.3 ${scijava-plugins-text-markdown.version} @@ -2651,6 +2647,13 @@ ${org.scijava.scijava-config.version} + + + org.scijava + scijava-desktop + ${org.scijava.scijava-desktop.version} + + org.scijava @@ -2672,13 +2675,6 @@ ${org.scijava.scijava-java3d.version} - - - org.scijava - scijava-links - ${org.scijava.scijava-links.version} - - org.scijava @@ -2714,13 +2710,6 @@ ${org.scijava.scijava-plugins-commands.version} - - - org.scijava - scijava-plugins-platforms - ${org.scijava.scijava-plugins-platforms.version} - - org.scijava From 8dbb21fdb7461866bc453aa7b1f118a22a8fc804 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 27 May 2026 15:47:14 -0500 Subject: [PATCH 21/51] Fix build badge locations for all components --- pombast.toml | 187 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 118 insertions(+), 69 deletions(-) diff --git a/pombast.toml b/pombast.toml index 7a6fc3ef..1ec8670d 100644 --- a/pombast.toml +++ b/pombast.toml @@ -14,9 +14,10 @@ excludes = ["ome:*", "org.openmicroscopy:*"] [badges] includes = [ - "io.scif:*", "de.nanoimaging:*", "fr.inra.ijpb:*", + "io.scif:*", + "jitk:*", "mpicbg:*", "net.imagej:*", "net.imglib2:*", @@ -233,7 +234,7 @@ skip-tests = [ # at sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest.test(CalculateProbabilityMapWithLabkitIJ1PluginTest.java:65) "sc.fiji:labkit-ui" = ["sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest"] -[components."fr.inra.ijpb:MorphoLibJ"] +[components."fr.inra.ijpb:MorphoLibJ_"] ci-build = "build-main" [components."hsqldb:hsqldb"] @@ -265,6 +266,9 @@ last-vetted = "20230309000000" [components."io.scif:scifio-ome-xml"] ci-build = "build-main" +[components."jitk:jitk-tps"] +ci-build = "build-main" + [components."net.imagej:ij"] java-version = 11 @@ -353,32 +357,35 @@ java-version = 11 [components."net.imglib2:imglib2-unsafe"] last-vetted = "20230309000000" -[components."net.preibischlab:multiview-simulation"] +[components."net.preibisch:multiview-simulation"] ci-build = "build-main" -[components."ome:bioformats"] +[components."ome:formats-api"] ci-build = "maven" -[components."ome:ome-codecs"] +[components."ome:formats-bsd"] ci-build = "maven" -[components."ome:ome-common-java"] +[components."ome:formats-gpl"] ci-build = "maven" -[components."ome:ome-metakit"] -ci-build = "maven" +[components."org.bonej:bonej-legacy-plugins_"] +java-version = 11 +ci-build = "build-main" -[components."ome:ome-model"] -ci-build = "maven" +[components."org.bonej:bonej-legacy-util_"] +java-version = 11 +ci-build = "build-main" -[components."ome:ome-poi"] -ci-build = "maven" +[components."org.bonej:bonej-ops"] +java-version = 11 +ci-build = "build-main" -[components."org.bonej:bonej-legacy-plugins_"] +[components."org.bonej:bonej-plugins"] java-version = 11 ci-build = "build-main" -[components."org.bonej:bonej-ops"] +[components."org.bonej:bonej-utilities"] java-version = 11 ci-build = "build-main" @@ -463,7 +470,7 @@ last-vetted = "20250101000000" [components."org.codehaus.groovy:groovy-yaml"] last-vetted = "20250101000000" -[components."org.janelia.saalfeldlab:jitk-tps"] +[components."org.janelia:H5J_Loader_Plugin"] ci-build = "build-main" [components."org.janelia.saalfeldlab:n5-aws-s3"] @@ -484,13 +491,7 @@ ci-build = "build-main" [components."org.janelia.saalfeldlab:n5-universe"] ci-build = "build-main" -[components."org.janelia.saalfeldlab:n5-viewer"] -ci-build = "build-main" - -[components."org.janelia.saalfeldlab:trakem2-tps"] -ci-build = "build-main" - -[components."org.janelia.saalfeldlab:z-spacing"] +[components."org.janelia.saalfeldlab:n5-viewer_fiji"] ci-build = "build-main" [components."org.mockito:mockito-core"] @@ -502,6 +503,23 @@ java-version = 21 [components."org.ojalgo:ojalgo"] last-vetted = "20250101000000" +[components."org.openmicroscopy:metakit"] +project-url = "https://github.com/ome/ome-metakit" +ci-build = "maven" + +[components."org.openmicroscopy:ome-codecs"] +ci-build = "maven" + +[components."org.openmicroscopy:ome-common"] +ci-build = "maven" + +[components."org.openmicroscopy:ome-poi"] +ci-build = "maven" + +[components."org.openmicroscopy:ome-xml"] +project-url = "https://github.com/ome/ome-model" +ci-build = "maven" + [components."org.openmicroscopy:omero-blitz"] ci-build = "gradle" @@ -511,7 +529,8 @@ ci-build = "gradle" [components."org.openmicroscopy:omero-dsl-plugin"] ci-build = "gradle" -[components."org.openmicroscopy:omero-gateway-java"] +[components."org.openmicroscopy:omero-gateway"] +project-url = "https://github.com/ome/omero-gateway-java" ci-build = "gradle" [components."org.openmicroscopy:omero-model"] @@ -526,6 +545,10 @@ ci-build = "gradle" [components."org.openmicroscopy:omero-server"] ci-build = "gradle" +[components."org.openmicroscopy:specification"] +project-url = "https://github.com/ome/ome-model" +ci-build = "maven" + [components."org.python:jython-slim"] last-vetted = "20230309000000" @@ -700,10 +723,8 @@ last-vetted = "20230313000000" ci-build = "build-main" last-vetted = "20230313000000" -[components."sc.fiji:AnalyzeSkeleton"] -ci-build = "build-main" - [components."sc.fiji:AnalyzeSkeleton_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Anisotropic_Diffusion_2D"] @@ -714,10 +735,8 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:Arrow"] -ci-build = "build-main" - [components."sc.fiji:Arrow_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Auto_Local_Threshold"] @@ -727,10 +746,8 @@ last-vetted = "20230309000000" [components."sc.fiji:Auto_Threshold"] ci-build = "build-main" -[components."sc.fiji:BalloonSegmentation"] -ci-build = "build-main" - [components."sc.fiji:BalloonSegmentation_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Bug_Submitter"] @@ -763,7 +780,7 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:CorrectBleach"] +[components."sc.fiji:CorrectBleach_"] ci-build = "build-main" [components."sc.fiji:Correct_3D_Drift"] @@ -773,16 +790,12 @@ last-vetted = "20230309000000" [components."sc.fiji:Descriptor_based_registration"] ci-build = "build-main" -[components."sc.fiji:Dichromacy"] -ci-build = "build-main" - [components."sc.fiji:Dichromacy_"] -last-vetted = "20230309000000" - -[components."sc.fiji:Directionality"] ci-build = "build-main" +last-vetted = "20230309000000" [components."sc.fiji:Directionality_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:FS_Align_TrakEM2"] @@ -802,10 +815,8 @@ ci-build = "build-main" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:FlowJ"] -ci-build = "build-main" - [components."sc.fiji:FlowJ_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Graph_Cut"] @@ -816,9 +827,6 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:H5J_Loader_Plugin"] -ci-build = "build-main" - [components."sc.fiji:HDF5_Vibez"] ci-build = "build-main" @@ -830,7 +838,7 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:IO"] +[components."sc.fiji:IO_"] ci-build = "build-main" [components."sc.fiji:Image_5D"] @@ -873,16 +881,12 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:LocalThickness"] -ci-build = "build-main" - [components."sc.fiji:LocalThickness_"] -last-vetted = "20230309000000" - -[components."sc.fiji:MTrack2"] ci-build = "build-main" +last-vetted = "20230309000000" [components."sc.fiji:MTrack2_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:M_I_P"] @@ -907,16 +911,12 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:QuickPALM"] -ci-build = "build-main" - [components."sc.fiji:QuickPALM_"] -last-vetted = "20230309000000" - -[components."sc.fiji:RATS"] ci-build = "build-main" +last-vetted = "20230309000000" [components."sc.fiji:RATS_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Reconstruct_Reader"] @@ -929,10 +929,8 @@ last-vetted = "20230309000000" [components."sc.fiji:SPIM_Registration"] ci-build = "build-main" -[components."sc.fiji:Samples"] -ci-build = "build-main" - [components."sc.fiji:Samples_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Series_Labeler"] @@ -943,16 +941,12 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:Skeletonize3D"] -ci-build = "build-main" - [components."sc.fiji:Skeletonize3D_"] -last-vetted = "20230309000000" - -[components."sc.fiji:SplineDeformationGenerator"] ci-build = "build-main" +last-vetted = "20230309000000" [components."sc.fiji:SplineDeformationGenerator_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Stack_Manipulation"] @@ -963,7 +957,7 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:Stitching"] +[components."sc.fiji:Stitching_"] ci-build = "build-main" [components."sc.fiji:Sync_Win"] @@ -989,36 +983,85 @@ ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:ToAST_"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:TopoJ_"] +ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:Trainable_Segmentation"] +ci-build = "build-main" + +[components."sc.fiji:TrakEM2_"] +ci-build = "build-main" + +[components."sc.fiji:TrakEM2_Archipelago"] +ci-build = "build-main" + [components."sc.fiji:VIB-lib"] +ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:VIB_"] +ci-build = "build-main" + [components."sc.fiji:Vaa3d_Reader"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:Vaa3d_Writer"] +ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:VectorString"] +ci-build = "build-main" + [components."sc.fiji:Video_Editing"] +ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:Volume_Calculator"] +ci-build = "build-main" + +[components."sc.fiji:Volume_Viewer"] +ci-build = "build-main" + [components."sc.fiji:bUnwarpJ_"] +ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:bigdataviewer-server"] +ci-build = "build-main" + +[components."sc.fiji:bigdataviewer-vistools"] +ci-build = "build-main" + +[components."sc.fiji:bigdataviewer_fiji"] +ci-build = "build-main" + [components."sc.fiji:bij"] +ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:blockmatching_"] +ci-build = "build-main" + [components."sc.fiji:fiji-lib"] +ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:labkit-pixel-classification"] +ci-build = "build-main" + +[components."sc.fiji:labkit-ui"] +ci-build = "build-main" + [components."sc.fiji:legacy-imglib1"] ci-build = "build-main" [components."sc.fiji:level_sets"] +ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:pal-optimization"] @@ -1036,7 +1079,7 @@ ci-build = "build-main" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:spimdata"] +[components."sc.fiji:spim_data"] ci-build = "build-main" last-vetted = "20230309000000" @@ -1044,6 +1087,12 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:trakem2_tps"] +ci-build = "build-main" + [components."sc.fiji:weave_jy2java"] ci-build = "build-main" last-vetted = "20230309000000" + +[components."sc.fiji:z_spacing"] +ci-build = "build-main" From 9a8855bbeb945e534dabf9a8cd50a98932f6b4d7 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 27 May 2026 15:53:28 -0500 Subject: [PATCH 22/51] Include MorphoLibJ in the smelt action --- pombast.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pombast.toml b/pombast.toml index 1ec8670d..285bdb4c 100644 --- a/pombast.toml +++ b/pombast.toml @@ -134,6 +134,7 @@ excludes = [ [smelt] includes = [ "ca.mcgill:*", + "fr.inra.ijpb:*", "io.scif:*", "jitk:*", "mpicbg:*", From 7c6e49f6b8f2eae2a6ee7c6b187106cbbf68ae67 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 27 May 2026 15:53:45 -0500 Subject: [PATCH 23/51] Remove obsolete vetting timestamps --- pombast.toml | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/pombast.toml b/pombast.toml index 285bdb4c..3512af47 100644 --- a/pombast.toml +++ b/pombast.toml @@ -258,7 +258,6 @@ last-vetted = "20230309000000" [components."io.scif:scifio-labeling"] ci-build = "build-main" -last-vetted = "20230309000000" [components."io.scif:scifio-lifesci"] ci-build = "build-main" @@ -275,11 +274,9 @@ java-version = 11 [components."net.imagej:imagej-deprecated"] ci-build = "build-main" -last-vetted = "20230309000000" [components."net.imagej:imagej-mesh"] ci-build = "build-main" -last-vetted = "20230309000000" [components."net.imagej:imagej-mesh-io"] ci-build = "build-main" @@ -307,7 +304,6 @@ last-vetted = "20230309000000" [components."net.imagej:imagej-plugins-commands"] ci-build = "build-main" -last-vetted = "20230309000000" [components."net.imagej:imagej-plugins-tools"] ci-build = "build-main" @@ -323,9 +319,6 @@ ci-build = "build-main" [components."net.imagej:imagej-scripting"] ci-build = "build-main" -[components."net.imagej:imagej-server"] -last-vetted = "20250101000000" - [components."net.imagej:imagej-tensorflow"] ci-build = "build-main" @@ -349,15 +342,9 @@ ci-build = "build-main" [components."net.imglib2:imglib2-algorithm-fft"] last-vetted = "20230309000000" -[components."net.imglib2:imglib2-algorithm-gpl"] -last-vetted = "20230309000000" - [components."net.imglib2:imglib2-mesh"] java-version = 11 -[components."net.imglib2:imglib2-unsafe"] -last-vetted = "20230309000000" - [components."net.preibisch:multiview-simulation"] ci-build = "build-main" @@ -550,9 +537,6 @@ ci-build = "gradle" project-url = "https://github.com/ome/ome-model" ci-build = "maven" -[components."org.python:jython-slim"] -last-vetted = "20230309000000" - [components."org.scijava:batch-processor"] ci-build = "build-main" @@ -579,20 +563,15 @@ last-vetted = "20180905120000" [components."org.scijava:minimaven"] last-vetted = "20230309000000" -[components."org.scijava:native-lib-loader"] -last-vetted = "20230309000000" - [components."org.scijava:scijava-cache"] ci-build = "build-main" last-vetted = "20230309000000" [components."org.scijava:scijava-grab"] ci-build = "build-main" -last-vetted = "20230309000000" [components."org.scijava:scijava-io-http"] ci-build = "build-main" -last-vetted = "20230309000000" [components."org.scijava:scijava-java3d"] ci-build = "build-main" @@ -604,9 +583,6 @@ last-vetted = "20211021000000" [components."org.scijava:scijava-maven-plugin"] last-vetted = "20230309000000" -[components."org.scijava:scijava-optional"] -last-vetted = "20230309000000" - [components."org.scijava:scijava-plot"] ci-build = "build-main" last-vetted = "20230309000000" @@ -647,14 +623,10 @@ ci-build = "build-main" [components."org.scijava:scripting-clojure"] ci-build = "build-main" -last-vetted = "20230309000000" [components."org.scijava:scripting-groovy"] ci-build = "build-main" -[components."org.scijava:scripting-java"] -last-vetted = "20230309000000" - [components."org.scijava:scripting-javascript"] ci-build = "build-main" @@ -677,7 +649,6 @@ ci-build = "build-main" [components."org.scijava:scripting-scala"] ci-build = "build-main" -last-vetted = "20230309000000" [components."org.scijava:swing-checkbox-tree"] last-vetted = "20230309000000" @@ -722,7 +693,6 @@ last-vetted = "20230313000000" [components."sc.fiji:3D_Viewer"] ci-build = "build-main" -last-vetted = "20230313000000" [components."sc.fiji:AnalyzeSkeleton_"] ci-build = "build-main" @@ -766,9 +736,6 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:Colocalisation_Analysis"] -last-vetted = "20230309000000" - [components."sc.fiji:Color_Histogram"] ci-build = "build-main" last-vetted = "20230309000000" @@ -786,7 +753,6 @@ ci-build = "build-main" [components."sc.fiji:Correct_3D_Drift"] ci-build = "build-main" -last-vetted = "20230309000000" [components."sc.fiji:Descriptor_based_registration"] ci-build = "build-main" @@ -884,7 +850,6 @@ last-vetted = "20230309000000" [components."sc.fiji:LocalThickness_"] ci-build = "build-main" -last-vetted = "20230309000000" [components."sc.fiji:MTrack2_"] ci-build = "build-main" @@ -1082,7 +1047,6 @@ last-vetted = "20230309000000" [components."sc.fiji:spim_data"] ci-build = "build-main" -last-vetted = "20230309000000" [components."sc.fiji:trakem2-transform"] ci-build = "build-main" From 7b78709c255d2ca67a05bdfef2bd7c58367bb479 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 27 May 2026 17:37:15 -0500 Subject: [PATCH 24/51] Mark which components are considered cuttable A cuttable component is one for which SciJava maintainers can cut new releases. Such components are assumed to abide by SciJava development principles, particularly having a release-ready mainline branch. --- pombast.toml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pombast.toml b/pombast.toml index 3512af47..e7815278 100644 --- a/pombast.toml +++ b/pombast.toml @@ -8,6 +8,21 @@ html = "index.html" header = "header.html" footer = "footer.html" nexus-base = "https://maven.scijava.org" +cuttable = [ + "de.nanoimaging:*", + "fr.inra.ijpb:*", + "io.scif:*", + "jitk:*", + "mpicbg:*", + "net.imagej:*", + "net.imglib2:*", + "net.preibisch:*", + "org.bonej:*", + "org.janelia*:*", + "org.morphonets:*", + "org.scijava:*", + "sc.fiji:*", +] [team] excludes = ["ome:*", "org.openmicroscopy:*"] @@ -134,6 +149,7 @@ excludes = [ [smelt] includes = [ "ca.mcgill:*", + "de.nanoimaging:*", "fr.inra.ijpb:*", "io.scif:*", "jitk:*", From e2f2707cea25f0b8c2024521e7b31ff6b9da7ac4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 27 May 2026 18:04:02 -0500 Subject: [PATCH 25/51] Update View5D: 2.5.4 -> 2.5.6 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9a1d2506..19eaad64 100644 --- a/pom.xml +++ b/pom.xml @@ -1028,7 +1028,7 @@ - 2.5.4 + 2.5.6 ${View5D.version} ${View5D_.version} From 2651956c3c3691ff148291c3ba8099be8d7d8efa Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 28 May 2026 13:06:20 -0500 Subject: [PATCH 26/51] Update status header and footer Move pom-scijava and pom-scijava-base to header from footer. Use immediate src attribute on footer images. (Otherwise nothing populates them and they remain blank.) --- footer.html | 28 ++++++++-------------------- header.html | 23 ++++++++++++++++++++++- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/footer.html b/footer.html index 4d7603b2..2227e84a 100644 --- a/footer.html +++ b/footer.html @@ -4,47 +4,35 @@ Build -scijava/pom-scijava-base - - - -scijava/pom-scijava - - - -scijava/status.scijava.org - - - scijava/incubator - + imagej/list-of-update-sites - + imagej/tutorials - + fiji/fiji-builds - + scijava/jgo - + scijava/scyjava - + imglib/imglyb - + imagej/pyimagej - + diff --git a/header.html b/header.html index 16d992a7..832e4d59 100644 --- a/header.html +++ b/header.html @@ -1 +1,22 @@ - + + + From 323c606916752e567ab4eaa2c227da79a4bdcaa0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 28 May 2026 13:07:11 -0500 Subject: [PATCH 27/51] Add includes to pombast team, to limit org search Without this, 65 orgs get searched, most of which are not under the purview of SciJava maintenance. --- pombast.toml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pombast.toml b/pombast.toml index e7815278..13b00c8b 100644 --- a/pombast.toml +++ b/pombast.toml @@ -25,7 +25,21 @@ cuttable = [ ] [team] -excludes = ["ome:*", "org.openmicroscopy:*"] +includes = [ + "de.nanoimaging:*", + "fr.inra.ijpb:*", + "io.scif:*", + "jitk:*", + "mpicbg:*", + "net.imagej:*", + "net.imglib2:*", + "net.preibisch:*", + "org.bonej:*", + "org.janelia*:*", + "org.morphonets:*", + "org.scijava:*", + "sc.fiji:*", +] [badges] includes = [ From 92181dd2135b2dd30b99357e0779f1f096ff440d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 28 May 2026 16:51:05 -0500 Subject: [PATCH 28/51] Let status and team pages share common navigation --- footer.html => footer-status.html | 3 ++ footer-team.html | 2 ++ header-status.html | 47 +++++++++++++++++++++++++++++++ header-team.html | 27 ++++++++++++++++++ header.html | 22 --------------- pombast.toml | 9 ++++-- 6 files changed, 85 insertions(+), 25 deletions(-) rename footer.html => footer-status.html (99%) create mode 100644 footer-team.html create mode 100644 header-status.html create mode 100644 header-team.html delete mode 100644 header.html diff --git a/footer.html b/footer-status.html similarity index 99% rename from footer.html rename to footer-status.html index 2227e84a..e5c038dd 100644 --- a/footer.html +++ b/footer-status.html @@ -36,3 +36,6 @@ + +
+👍 diff --git a/footer-team.html b/footer-team.html new file mode 100644 index 00000000..64db37f1 --- /dev/null +++ b/footer-team.html @@ -0,0 +1,2 @@ +
+👍 diff --git a/header-status.html b/header-status.html new file mode 100644 index 00000000..923b0e61 --- /dev/null +++ b/header-status.html @@ -0,0 +1,47 @@ + + + + diff --git a/header-team.html b/header-team.html new file mode 100644 index 00000000..41befe76 --- /dev/null +++ b/header-team.html @@ -0,0 +1,27 @@ + + diff --git a/header.html b/header.html deleted file mode 100644 index 832e4d59..00000000 --- a/header.html +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/pombast.toml b/pombast.toml index 13b00c8b..18c18895 100644 --- a/pombast.toml +++ b/pombast.toml @@ -4,9 +4,9 @@ repositories = ["scijava.public=https://maven.scijava.org/content/groups/public" [status] rules = "rules.xml" -html = "index.html" -header = "header.html" -footer = "footer.html" +html = "../status.scijava.org/index.html" +header = "header-status.html" +footer = "footer-status.html" nexus-base = "https://maven.scijava.org" cuttable = [ "de.nanoimaging:*", @@ -25,6 +25,9 @@ cuttable = [ ] [team] +html = "../status.scijava.org/team.html" +header = "header-team.html" +footer = "footer-team.html" includes = [ "de.nanoimaging:*", "fr.inra.ijpb:*", From 71be2ef092b5ea3e7e3baa70c9e1055464802b91 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 30 May 2026 12:58:03 -0500 Subject: [PATCH 29/51] CI: generate badges.json as part of status refresh --- .github/status.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/status.sh b/.github/status.sh index 096e57c5..81186a08 100755 --- a/.github/status.sh +++ b/.github/status.sh @@ -1,5 +1,6 @@ #!/bin/sh uv tool install "git+https://github.com/scijava/pombast.git" pombast status . -pombast team . --html team.html -.github/publish.sh "Update status reports" index.html team.html +pombast badges -o badges.json . +pombast team . +.github/publish.sh "Update status reports" index.html badges.json team.html From 319bf40f2b3f28be626cba40ca3cdad27df8e361 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 30 May 2026 15:46:35 -0500 Subject: [PATCH 30/51] Downgrade recommended JavaFX version to v19 This is so that the recommended/default JavaFX aligns with the recommended/default version of Java: currently version 11. When scijava.jvm.version is increased, we can/should/will also increase the recommended/default version of JavaFX. This alignment is necessary for pombast validation checks; whereas with them misaligned, the javafx components in the pombast melt dependency graph result in enforcer validation errors: [ERROR] Rule 6: org.codehaus.mojo.extraenforcer.dependencies.EnforceBytecodeVersion failed with message: [ERROR] Found Banned Dependency: org.openjfx:javafx-media:jar:linux:23.0.2 [ERROR] Found Banned Dependency: org.openjfx:javafx-swing:jar:linux:23.0.2 [ERROR] Found Banned Dependency: org.openjfx:javafx-fxml:jar:linux:23.0.2 [ERROR] Found Banned Dependency: org.openjfx:javafx-web:jar:linux:23.0.2 [ERROR] Found Banned Dependency: org.openjfx:javafx-base:jar:linux:23.0.2 [ERROR] Found Banned Dependency: org.openjfx:javafx-controls:jar:linux:23.0.2 [ERROR] Found Banned Dependency: org.openjfx:javafx-graphics:jar:linux:23.0.2 [ERROR] Use 'mvn dependency:tree' to locate the source of the banned dependencies. The reason the javafx components are part of the pombast melt's dependency graph is because several other included components (OMEVisual, FilamentDetector, multiview-reconstruction) depend on javafx, so even with javafx components excluded from the melt operation's direct dependency graph, they still come in transitively. We could alternately work around the issue by excluding all the components depending on javafx, but that would be a hacky workaround compared to just unifying expectations here. With this adjustment, errors could now surface in the "other direction": if a component Foo21 overrides scijava.jvm.version to 21 and javafx.version to v23, it will be buildable and releasable -- but if that Foo21 component is then added to the pom-scijava BOM, it will be smelted with JavaFX v19, meaning any too-new API of JavaFX v23 will not be available, and the Foo21 smelt will fail accordingly. But this is actually correct: we are asserting that all versions of components in the BOM actually work together, and if Foo21 tries to make use of a too-new JavaFX, it *would* fail at runtime if a downstream component added dependencies on Foo21 and JavaFX at the BOM's declared versions. So: working as intended! --- pom.xml | 2 +- pombast.toml | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 19eaad64..8b7d4509 100644 --- a/pom.xml +++ b/pom.xml @@ -2115,7 +2115,7 @@ 26 | 24 27 | 25 --> - 23.0.2 + 19.0.2.1 ${javafx.version} ${javafx.version} ${javafx.version} diff --git a/pombast.toml b/pombast.toml index 18c18895..5b6af95b 100644 --- a/pombast.toml +++ b/pombast.toml @@ -109,13 +109,6 @@ excludes = [ 'mpicbg:mpicbg', 'mpicbg:mpicbg_', # NB: Skip artifacts requiring minimum Java version >11. 'net.algart:algart-tiff', - 'org.openjfx:javafx-base', - 'org.openjfx:javafx-controls', - 'org.openjfx:javafx-fxml', - 'org.openjfx:javafx-graphics', - 'org.openjfx:javafx-media', - 'org.openjfx:javafx-swing', - 'org.openjfx:javafx-web', 'org.morphonets:SNT', # NB: Skip closed-source artifacts. 'org.bonej:bonej-plus', From 1b70c2a07e32803ffbe61ea6724aa57f4c8d529f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 1 Jun 2026 14:09:50 -0500 Subject: [PATCH 31/51] Tidy up the pombast/mega-melt configuration * Move pombast-specific templates into pombast subfolder. * Remove tests subfolder containing obsolete shell scripts. --- pombast.toml | 10 +- .../footer-status.html | 0 footer-team.html => pombast/footer-team.html | 0 .../header-status.html | 0 header-team.html => pombast/header-team.html | 0 {tests => pombast}/mega-melt-template.xml | 0 tests/filter-build-log.py | 48 -- tests/generate-mega-melt.py | 147 ------ tests/run.sh | 484 ------------------ 9 files changed, 5 insertions(+), 684 deletions(-) rename footer-status.html => pombast/footer-status.html (100%) rename footer-team.html => pombast/footer-team.html (100%) rename header-status.html => pombast/header-status.html (100%) rename header-team.html => pombast/header-team.html (100%) rename {tests => pombast}/mega-melt-template.xml (100%) delete mode 100644 tests/filter-build-log.py delete mode 100644 tests/generate-mega-melt.py delete mode 100755 tests/run.sh diff --git a/pombast.toml b/pombast.toml index 5b6af95b..613fd821 100644 --- a/pombast.toml +++ b/pombast.toml @@ -5,8 +5,8 @@ repositories = ["scijava.public=https://maven.scijava.org/content/groups/public" [status] rules = "rules.xml" html = "../status.scijava.org/index.html" -header = "header-status.html" -footer = "footer-status.html" +header = "pombast/header-status.html" +footer = "pombast/footer-status.html" nexus-base = "https://maven.scijava.org" cuttable = [ "de.nanoimaging:*", @@ -26,8 +26,8 @@ cuttable = [ [team] html = "../status.scijava.org/team.html" -header = "header-team.html" -footer = "footer-team.html" +header = "pombast/header-team.html" +footer = "pombast/footer-team.html" includes = [ "de.nanoimaging:*", "fr.inra.ijpb:*", @@ -71,7 +71,7 @@ includes = [ # Setting scijava.jvm.version to 21 by default would avoid the issue, but... # is that really a good idea? Setting to 11 seems like a nice baseline compromise right now. java-version = 21 # Maximum Java version of all included component + deps. -template = "tests/mega-melt-template.xml" +template = "pombast/mega-melt-template.xml" excludes = [ # TEMP: Exclude org.bytedeco:hdf5 until cisd:jhdf5 is gone. 'org.bytedeco:hdf5', diff --git a/footer-status.html b/pombast/footer-status.html similarity index 100% rename from footer-status.html rename to pombast/footer-status.html diff --git a/footer-team.html b/pombast/footer-team.html similarity index 100% rename from footer-team.html rename to pombast/footer-team.html diff --git a/header-status.html b/pombast/header-status.html similarity index 100% rename from header-status.html rename to pombast/header-status.html diff --git a/header-team.html b/pombast/header-team.html similarity index 100% rename from header-team.html rename to pombast/header-team.html diff --git a/tests/mega-melt-template.xml b/pombast/mega-melt-template.xml similarity index 100% rename from tests/mega-melt-template.xml rename to pombast/mega-melt-template.xml diff --git a/tests/filter-build-log.py b/tests/filter-build-log.py deleted file mode 100644 index 4e8f1942..00000000 --- a/tests/filter-build-log.py +++ /dev/null @@ -1,48 +0,0 @@ -# -# filter-build-log.py - Cuts out cruft to focus on build failure details. -# - -# This script filters build logs down to only [WARNING] and [ERROR] lines, -# and consolidates lengthy duplicate class listings down to packages only. - -import sys - -def print_filtered_log(log): - dups = [] - parsingdups = False - atbeginning = True - for line in log: - line = line.rstrip('\n') - if line.startswith('[INFO]'): - # Filter out non-error build messages. - continue - if line.startswith('Download') or line.startswith('Progress'): - # Filter out details of remote resource queries. - continue - if atbeginning and not line.strip(): - # Filter out leading blank lines. - continue - atbeginning = False - if parsingdups: - if line.startswith(' '): - if line.find('/') >= 0: - # Strip to containing package only. - line = line[:line.rindex('/')] - dups.append(line) - else: - parsingdups = False - for dup in sorted(set(dups)): - print(dup) - print('') - dups = [] - else: - if line == ' Duplicate classes:': - print(' Duplicate packages:') - parsingdups = True - else: - print(line) - -for arg in sys.argv[1:]: - with open(arg) as f: - print_filtered_log(f) - diff --git a/tests/generate-mega-melt.py b/tests/generate-mega-melt.py deleted file mode 100644 index fef2758d..00000000 --- a/tests/generate-mega-melt.py +++ /dev/null @@ -1,147 +0,0 @@ -# -# generate-mega-melt.py - Make a POM depending on everything in pom-scijava. -# - -import os, re, sys -from xml.dom import minidom - -def child(node, tag): - nodes = node.getElementsByTagName(tag) - return None if len(nodes) == 0 else nodes[0] - -script_dir = os.path.dirname(os.path.realpath(__file__)) if __file__ else '.' -out = minidom.parse(os.path.join(script_dir, 'mega-melt-template.xml')) -out.getElementsByTagName('project')[0].appendChild(out.createElement('dependencies')) -outDeps = out.getElementsByTagName('dependencies')[0] - -psj = minidom.parse(os.path.join(script_dir, '..', 'pom.xml')) -depMgmt = psj.getElementsByTagName('dependencyManagement')[0] -deps = depMgmt.getElementsByTagName('dependencies')[0] -depList = deps.getElementsByTagName('dependency') - -# Artifacts to exclude from the mega melt. -ignoredArtifacts = [ - # TEMP: Exclude org.bytedeco:hdf5 until cisd:jhdf5 is gone. - 'hdf5', - # TEMP: The original ImageJ requires Java 9+ to compile, - # because it has a module-info.java, so skip it until the - # component collection is updated from Java 8 to Java 11. - 'ij', - # TEMP: Skip components within multi-module reactors. - # Neither melting-pot.sh nor release-version.sh understand - # multi-module repositories; release-version.sh needs to learn - # how to tag and release individual components from multi-module - # repos, so that when melting-pot.sh shallow clones the repo at - # that tag and invokes a build, it will be building only the - # released component as it does with single-component repos. - 'scijava-collections', - 'scijava-common3', - 'scijava-concurrent', - 'scijava-discovery-test', - 'scijava-discovery', - 'scijava-function', - 'scijava-legacy', - 'scijava-meta', - 'scijava-ops-api', - 'scijava-ops-benchmarks', - 'scijava-ops-engine', - 'scijava-ops-ext-parser', - 'scijava-ops-flim', - 'scijava-ops-image', - 'scijava-ops-indexer', - 'scijava-ops-opencv', - 'scijava-ops-spi', - 'scijava-ops-tutorial', - 'scijava-priority', - 'scijava-progress', - 'scijava-struct', - 'scijava-taglets', - 'scijava-testutil', - 'scijava-types', - 'mpicbg', 'mpicbg_', - # NB: Skip artifacts requiring minimum Java version >8. - 'algart-tiff', - 'javafx-base', - 'javafx-controls', - 'javafx-fxml', - 'javafx-graphics', - 'javafx-media', - 'javafx-swing', - 'javafx-web', - 'SNT', - # NB: Skip closed-source artifacts. - 'bonej-plus', - # NB: The following artifacts have messy dependency trees. - # Too many problems to test as part of the mega-melt. - # See WARNING block in pom-scijava's pom.xml for details. - 'imagej-server', - 'spark-core_2.11', - # NB: Skip scijava forks of third-party projects. - # These are very stable, with few/no dependencies, and - # don't need to be retested as pom-scijava evolves. - 'j3dcore', - 'j3dutils', - 'jep', - 'junit-benchmarks', - 'vecmath', - # NB: Skip alternate flavors of other managed components. - 'gluegen', # uberjar flavor of gluegen-rt - 'jogl-all-noawt', # slimmed down flavor of jogl-all - # NB: All the SWT platform JARs have the same classes. - # The current platform will be brought in transitively. - 'org.eclipse.swt.cocoa.macosx', - 'org.eclipse.swt.cocoa.macosx.x86_64', - 'org.eclipse.swt.gtk.aix.ppc', - 'org.eclipse.swt.gtk.aix.ppc64', - 'org.eclipse.swt.gtk.hpux.ia64', - 'org.eclipse.swt.gtk.linux.ppc', - 'org.eclipse.swt.gtk.linux.ppc64', - 'org.eclipse.swt.gtk.linux.s390', - 'org.eclipse.swt.gtk.linux.s390x', - 'org.eclipse.swt.gtk.linux.x86', - 'org.eclipse.swt.gtk.linux.x86_64', - 'org.eclipse.swt.gtk.solaris.sparc', - 'org.eclipse.swt.gtk.solaris.x86', - 'org.eclipse.swt.win32.win32.x86', - 'org.eclipse.swt.win32.win32.x86_64', - # NB: All SLF4J bindings have the same classes. - # We'll rely on logback-classic being present here. - 'slf4j-jcl', - 'slf4j-jdk14', - 'slf4j-nop', - 'slf4j-simple', - # NB: Cannot include both commons-logging and jcl-over-slf4j; - # see: http://www.slf4j.org/codes.html#jclDelegationLoop - 'jcl-over-slf4j' -] - -for dep in depList: - # Harvest relevant information (ignore exclusions and version). - groupId = child(dep, 'groupId') - artifactId = child(dep, 'artifactId') - classifier = child(dep, 'classifier') - scope = child(dep, 'scope') - - if artifactId.firstChild.data in ignoredArtifacts: - continue - - outDep = out.createElement('dependency') - outDep.appendChild(groupId) - outDep.appendChild(artifactId) - if classifier: - outDep.appendChild(classifier) - if scope: - outDep.appendChild(scope) - outDeps.appendChild(outDep) - -# Filter XML through a hacky substitution to avoid unwanted whitespace. -xml = re.sub('\n[\n\r\t]*\n', '\n', out.toprettyxml()) - -outDir = sys.argv[1] if len(sys.argv) > 1 else 'mega-melt' -try: - os.mkdir(outDir) -except: - pass - -with open(os.path.join(outDir, 'pom.xml'), 'w') as outPOM: - outPOM.write(xml) diff --git a/tests/run.sh b/tests/run.sh deleted file mode 100755 index 6ddc8716..00000000 --- a/tests/run.sh +++ /dev/null @@ -1,484 +0,0 @@ -#!/bin/sh - -# -# run.sh - Tests correctness of the pom-scijava BOM. -# - -die () { echo "$*" >&2; exit 1; } - -changed () { ! diff $@ >/dev/null; } - -sectionStart() { - startTime=$(date +%s) - echo - printf "$1... " -} - -sectionEnd() { - endTime=$(date +%s) - echo "Done! [$((endTime-startTime))s]" -} - -# Check prerequisites. - -# HACK: Work around macOS Python naming inconsistency. -if command -v python3 >/dev/null 2>&1; then - PYTHON=python3 -elif command -v python >/dev/null 2>&1; then - PYTHON=python -else - die "This script requires Python." -fi - -sectionStart 'Generating mega-melt project' - -dir=$(cd "$(dirname "$0")" && pwd) -pom="$dir/../pom.xml" -test -f "$pom" || die 'Where is pom.xml?!' - -generateMegaMeltScript="$dir/generate-mega-melt.py" -filterBuildLogScript="$dir/filter-build-log.py" - -megaMeltDir="$dir/../target/mega-melt" -megaMeltDir=$(mkdir -p "$megaMeltDir" && cd "$megaMeltDir" && pwd) -pomParent="$megaMeltDir/../pom.xml" -versionSwapLog="$megaMeltDir/version-swap.log" -dependencyTreeLog="$megaMeltDir/dependency-tree.log" -validationLog="$megaMeltDir/validation.log" -validationErrorsLog="$megaMeltDir/validation-errors.log" -megaMeltPOM="$megaMeltDir/pom.xml" -meltingPotLocal="$dir/../../scijava-scripts/melting-pot.sh" -meltingPotURL=https://raw.githubusercontent.com/scijava/scijava-scripts/main/melting-pot.sh -meltingPotScript="$megaMeltDir/melting-pot.sh" -meltingPotLog="$megaMeltDir/melting-pot.log" -meltingPotDir="$megaMeltDir/melting-pot" -skipTestsFile="$meltingPotDir/skipTests.txt" -meltScript="$meltingPotDir/melt.sh" - -# HACK: List of artifacts with known-duplicate short version properties. -shortVersionClashes=\ -'net.sourceforge.findbugs.annotations'\ -'|antlr.antlr'\ -'|org.jogamp.jocl.jocl'\ -'|net.sf.opencsv.opencsv'\ -'|org.jetbrains.intellij.deps.trove4j' - -rm -rf "$megaMeltDir" && mkdir -p "$megaMeltDir" || die "Creation of $megaMeltDir failed!" -cp "$pom" "$pomParent" && -mvn -B -f "$pomParent" versions:set -DnewVersion=999-mega-melt > "$versionSwapLog" && - mvn -B -f "$pomParent" install:install >> "$versionSwapLog" || - die "pom-scijava version update failed:\n$(cat "$versionSwapLog")" -$PYTHON "$generateMegaMeltScript" "$megaMeltDir" || die 'Generation failed!' -sectionEnd # Generating mega-melt project - -# Ensure the mega-melt dependency structure validates. -# In particular, this runs our enforcer rules: the build -# will fail if there are any snapshot dependencies, or -# any duplicate classes across artifacts on the classpath. -sectionStart 'Validating mega-melt project' -mvn -B -f "$megaMeltPOM" dependency:tree > "$dependencyTreeLog" || - die "Invalid dependency tree:\n$(cat "$dependencyTreeLog")" -mvn -B -f "$megaMeltPOM" -U clean package > "$validationLog" || { - $PYTHON "$filterBuildLogScript" "$validationLog" > "$validationErrorsLog" - die "Validation build failed!\n\nDependency tree:\n$(cat "$dependencyTreeLog")\n\nBuild log:\n$(cat "$validationErrorsLog")" -} -sectionEnd # Validating mega-melt project - -# Run mega-melt through the melting pot, with all SciJava-affiliated groupIds, -# minus excluded artifacts (see ignoredArtifacts in generate-mega-melt.py). -echo && -echo 'Generating melting pot...' && -if [ -e "$meltingPotLocal" ] -then - cp "$meltingPotLocal" "$meltingPotScript" -else - curl -fsL "$meltingPotURL" > "$meltingPotScript" -fi || - die "Failed to obtain melting pot script!" - -# Build the melting pot structure. -chmod +x "$meltingPotScript" && -"$meltingPotScript" "$megaMeltDir" \ - -r scijava.public::::https://maven.scijava.org/content/groups/public \ - -o "$meltingPotDir" \ - -i 'ca.mcgill:*' \ - -i 'io.scif:*' \ - -i 'jitk:*' \ - -i 'mpicbg:*' \ - -i 'net.imagej:*' \ - -i 'net.imglib2:*' \ - -i 'net.preibisch:*' \ - -i 'org.bonej:*' \ - -i 'org.janelia.saalfeldlab:*' \ - -i 'org.janelia:*' \ - -i 'org.morphonets:*' \ - -i 'org.scijava:*' \ - -i 'sc.fiji:*' \ - -e 'net.imagej:ij' \ - -e 'net.imglib2:imglib2-mesh' \ - -e 'org.bonej:bonej-plus' \ - -e 'org.openjfx:*' \ - -e 'org.scijava:j3dcore' \ - -e 'org.scijava:j3dutils' \ - -e 'org.scijava:jep' \ - -e 'org.scijava:junit-benchmarks' \ - -e 'org.scijava:vecmath' \ - -f -v -s $@ 2>&1 | tee "$meltingPotLog" - -# NB: The pipe to tee eats the melting-pot error code. -# Even with the POSIX-unfriendly pipefail flag set. -# So we resort to this hacky error check of the log. -test "$(grep -F "[ERROR]" "$meltingPotLog" | grep -v "using default branch")" && - die 'Melting pot generation failed!' - -buildScript="$meltingPotDir/build.sh" -versionPins="$meltingPotDir/version-pins.xml" - -echo -echo 'Hacking in any changed components...' - -# Mix in changed components. Syntax is: -# -# groupId|artifactId|path-to-remote|remote-ref -# -# Example: -# -# components=' -# org.janelia.saalfeldlab|n5-imglib2|git@github.com:saalfeldlab/n5-imglib2|pull/54/head -# sc.fiji|SPIM_Registration|git@github.com:fiji/SPIM_Registration|pull/142/head -# sc.fiji|labkit-ui|git@github.com:juglab/labkit-ui|pull/115/head -# sc.fiji|labkit-pixel-classification|git@github.com:juglab/labkit-pixel-classification|pull/12/head -# sc.fiji|z_spacing|git@github.com:saalfeldlab/z-spacing|pull/28/head -# net.imagej|imagej-common|git@github.com:imagej/imagej-common|pull/112/head -# sc.fiji|TrackMate|git@github.com:trackmate-sc/TrackMate|pull/289/head -# sc.fiji|TrackMate-Skeleton|git@github.com:trackmate-sc/TrackMate-Skeleton|pull/2/head -# sc.fiji|bigwarp_fiji|git@github.com:saalfeldlab/bigwarp|pull/170/head -# net.imagej|imagej-ops|git@github.com:imagej/imagej-ops|pull/654/head -# ' -# -# One entry per line inside the components variable declaration. -# No leading or trailing whitespace anywhere. -# -# Each component will: -# 1. Be updated to that ref (cloning as needed); -# 2. Have its version adjusted to 999 in its pom.xml and gav marker; -# 3. Be `mvn install`ed to the local repo cache at that version; -# 4. Have its version adjusted to 999 in melting pot's build.sh; -# 5. Be added to the list of components to build in melt.sh (if not already present). -components=' -' -failFile="$meltingPotDir/fail" -rm -f "$failFile" -echo "$components" | while read component -do - test "$component" || continue - - g=${component%%|*}; r=${component#*|} - a=${r%%|*}; r=${r#*|} - remote=${r%%|*}; ref=${r#*|} - test "$g" -a "$a" -a "$remote" -a "$ref" || { - touch "$failFile" - die "Invalid component line: $component" - } - d="$meltingPotDir/$g/$a" - printf "[$g:$a] " - - # Update component working copy to desired ref (cloning as needed). - mkdir -p "$d" && - echo "Log of actions for custom version of $g:$a" > "$d/surgery.log" && - echo >> "$d/surgery.log" && - test -f "$d/.git" || git init "$d" >> "$d/surgery.log" || { - touch "$failFile" - die "Failed to access or initialize repository in directory $d" - } - printf . - cd "$d" && - git remote add mega-melt "$remote" >> surgery.log && - printf . && - git fetch mega-melt --depth 1 "$ref":mega-melt >> surgery.log 2>&1 && - printf . && - git switch mega-melt >> surgery.log 2>&1 || { - touch "$failFile" - die "$g:$a: failed to fetch ref '$ref' from remote $remote" - } - printf . - - # Adjust component version to 999. - mvn versions:set -DnewVersion=999 >> surgery.log || { - touch "$failFile" - die "$g:$a: failed to adjust pom.xml version" - } - printf . - if [ -f gav ] - then - mv gav gav.prehacks - sed -E "s;:[^:]*$;:999;" gav.prehacks > gav && changed gav.prehacks gav || { - touch "$failFile" - die "$g:$a: failed to adjust gav version" - } - fi - printf . - - # Install changed component into the local repo cache. - mvn -Denforcer.skip -Dmaven.test.skip install >> surgery.log || { - touch "$failFile" - die "$g:$a: failed to build and install component" - } - printf . - - # Adjust component version to 999 in melting pot's version-pins.xml. - cd "$meltingPotDir" - test -f "$versionPins.prehacks" || cp "$versionPins" "$versionPins.prehacks" || { - touch "$failFile" - die "$g:$a: failed to back up $versionPins" - } - printf . - echo "$a" | grep -q '^[0-9]' && aa="_$a" || aa="$a" - mv -f "$versionPins" "$versionPins.tmp" && - sed -E "s;<\($g\\.$a\|$aa\)\\.version>[^<]*;<\1.version>999;g" "$versionPins.tmp" > "$versionPins" && - changed "$versionPins.tmp" "$versionPins" || - { - touch "$failFile" - die "$g:$a: failed to adjust component version in $versionPins" - } - printf . - - # Add component to the build list in melt.sh (if not already present). - grep -q "\b$g/$a\b" "$meltScript" || { - test -f "$meltScript.prehacks" || cp "$meltScript" "$meltScript.prehacks" - mv -f "$meltScript" "$meltScript.tmp" && - perl -0777 -pe 's;\n+do\n;\n '"$g/$a"' \\$&;igs' "$meltScript.tmp" > "$meltScript" - } || { - touch "$failFile" - die "$g:$a: failed to add component to the build list in $meltScript" - } - printf ".\n" -done -rm -f "$versionPins.tmp" "$meltScript.tmp" -test ! -f "$failFile" || - die "Failed to hack in changed components!" - -sectionStart 'Adjusting the melting pot: version-pins.xml configuration' - -cp "$versionPins" "$versionPins.original" && - -# HACK: Remove known-duplicate short version properties, keeping -# the short version declaration only for the more common groupId. -# E.g.: org.antlr:antlr is preferred over antlr:antlr, so we set -# antlr.version to match org.antlr:antlr, not antlr:antlr. -mv -f "$versionPins" "$versionPins.tmp" && -sed -E 's;(<('"$shortVersionClashes"')\.version>[^ ]*) <[^ ]*;\1;' "$versionPins.tmp" > "$versionPins" && - changed "$versionPins.tmp" "$versionPins" || - die 'Error adjusting melting pot version pins! [1]' - -# HACK: Add non-standard version properties used prior to -# pom-scijava 32.0.0-beta-1; see d0bf752070d96a2613c42e4e1ab86ebdd07c29ee. -mv -f "$versionPins" "$versionPins.tmp" && -sed -E 's; ([^<]*);& \1;' "$versionPins.tmp" > "$versionPins" && - changed "$versionPins.tmp" "$versionPins" && -mv -f "$versionPins" "$versionPins.tmp" && -sed -E 's; ([^<]*);& \2;' "$versionPins.tmp" > "$versionPins" && - changed "$versionPins.tmp" "$versionPins" || - die 'Error adjusting melting pot version pins! [2]' - -# HACK: Add non-standard net.imagej:ij version property used prior to -# pom-scijava 28.0.0; see 7d2cc442b107b3ac2dcb799d282f2c0b5822649d. -mv -f "$versionPins" "$versionPins.tmp" && -sed -E 's; ([^<]*);& \1;' "$versionPins.tmp" > "$versionPins" && - changed "$versionPins.tmp" "$versionPins" || - die 'Error adjusting melting pot version pins! [3]' - -rm "$versionPins.tmp" || - die 'Error adjusting melting pot version pins! [4]' - -sectionEnd # Adjusting the melting pot: version-pins.xml configuration - -sectionStart 'Adjusting the melting pot: build.sh script' - -cp "$buildScript" "$buildScript.original" && - -# HACK: Add explicit kotlin.version to match our pom-scijava-base. -# Otherwise, components built on older pom-scijava-base will have -# mismatched kotlin component versions. The sed expression avoids -# a bug in mvn's batch mode that results in [0m[0m still -# appearing as a leading ANSI sequence when echoing the property. -kotlinVersion=$( - mvn -B -U -q -Denforcer.skip=true -Dexec.executable=echo \ - -Dexec.args='${kotlin.version}' --non-recursive validate exec:exec 2>&1 | - head -n1 | sed 's;\(.\[[0-9]m\)*;;') && -# TEMP: Also fix the version of maven-enforcer-plugin, to prevent n5 from -# overriding it with a too-old version. Even though we pass enforcer.skip, -# so that the enforcer plugin does not actually do any checking, this version -# mismatch still triggers a problem: -# -# [ERROR] Failed to execute goal -# org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce -# (enforce-rules) on project n5-blosc: Unable to parse configuration of -# mojo org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce -# for parameter banDuplicateClasses: Cannot create instance of interface -# org.apache.maven.enforcer.rule.api.EnforcerRule: -# org.apache.maven.enforcer.rule.api.EnforcerRule.() -> [Help 1] -# -# Once n5 components stop doing that version pin, we can remove this here. -enforcerVersion=$( - mvn -B -U -q -Denforcer.skip=true -Dexec.executable=echo \ - -Dexec.args='${maven-enforcer-plugin.version}' --non-recursive validate exec:exec 2>&1 | - head -n1 | sed 's;\(.\[[0-9]m\)*;;') && -mv -f "$buildScript" "$buildScript.tmp" && -sed -E "s;mvn .*-Denforcer.skip;& -Dmaven-enforcer-plugin.version=$enforcerVersion -Dkotlin.version=$kotlinVersion;" "$buildScript.tmp" > "$buildScript" && - changed "$buildScript.tmp" "$buildScript" && - -chmod +x "$buildScript" && -rm "$buildScript.tmp" || - die 'Error adjusting melting pot build script!' - -sectionEnd # Adjusting the melting pot: build.sh script - -sectionStart 'Adjusting the melting pot: component POMs' - -# HACK: Adjust component POMs to satisfy Maven HTTPS strictness. -find "$meltingPotDir" -name pom.xml | - while read pom -do - mv "$pom" "$pom.original" && - sed -E -e 's_(https?://maven.imagej.net|http://maven.scijava.org)_https://maven.scijava.org_g' \ - -e 's_http://maven.apache.org/xsd_https://maven.apache.org/xsd_g' "$pom.original" > "$pom" || - die "Failed to adjust $pom" -done - -# HACK: Make component POMs extend the same version of pom-scijava -# being tested. This reduces dependency skew for transitively inherited -# components that were not managed at the time of that component release. -find "$meltingPotDir" -name pom.xml | while read pom -do - perl -0777 -i -pe 's/(\s*org.scijava<\/groupId>\s*pom-scijava<\/artifactId>\s*)[^\n]*/${1}999-mega-melt<\/version>/igs' "$pom" -done - -sectionEnd # Adjusting the melting pot: component POMs - -sectionStart 'Adjusting the melting pot: melt.sh script' - -# HACK: Skip tests for projects with known problems. - -mv "$meltScript" "$meltScript.original" && -sed 's_\s*"$dir/build.sh"_\ -# HACK: If project is on the skipTests list, then skip the tests.\ -buildFlags=-Djava.awt.headless=true\ -grep -qxF "$f" $dir/skipTests.txt \&\& buildFlags=-DskipTests\ -\ -& $buildFlags_' "$meltScript.original" > "$meltScript" && -chmod +x "$meltScript" || - die "Failed to adjust $meltScript" - -sectionEnd # Adjusting the melting pot: melt.sh script - -sectionStart 'Adjusting the melting pot: unit test hacks' - -# Remove flaky tests. - -# CachedOpEnvironmentTest fails intermittently. Of course, it should be -# somehow fixed in imagej-ops. But for now, let's not let it ruin the melt. -rm -f "$meltingPotDir/net.imagej/imagej-ops/src/test/java/net/imagej/ops/cached/CachedOpEnvironmentTest.java" - -# In org.janelia.saalfeldlab.n5.metadata.ome.ngff.v04.WriteAxesTests.testXYT: -# java.util.NoSuchElementException: No value present -rm -f "$meltingPotDir/org.janelia.saalfeldlab/n5-ij/src/test/java/org/janelia/saalfeldlab/n5/metadata/ome/ngff/v04/WriteAxesTests.java" - -# Avoid notNull assertion error at -# org.janelia.saalfeldlab.n5.universe.metadata.MetadataTests.testEmptyBase(MetadataTests.java:346) -rm -f "$meltingPotDir/org.janelia.saalfeldlab/n5-universe/src/test/java/org/janelia/saalfeldlab/n5/universe/metadata/MetadataTests.java" - -# In org.janelia.saalfeldlab.n5.zarr.ZarrCachedFSTest.cacheBehaviorTest: -# arrays first differed at element [0]; expected:<[a]> but was:<[c]> -rm -f "$meltingPotDir/org.janelia.saalfeldlab/n5-zarr/src/test/java/org/janelia/saalfeldlab/n5/zarr/ZarrCachedFSTest.java" -# Note: The above test is fixed with saalfeldlab/n5-zarr@e7edcec3, -# but the fix is only available in n5-zarr 2.0.0-alpha-1, and we -# do not want to update the SciJava BOM to the alpha version. - -# In sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest.test: -# Macro Error: "probability map for blobs.tif" not found in line 4 -# selectImage ( <"probability map for blobs.tif"> ) ; -# java.lang.RuntimeException: Macro canceled -# at ij.macro.Interpreter.error(Interpreter.java:1403) -# at ij.macro.Functions.selectImage(Functions.java:3225) -# at ij.macro.Functions.doFunction(Functions.java:136) -# at ij.macro.Interpreter.doStatement(Interpreter.java:280) -# at ij.macro.Interpreter.doStatements(Interpreter.java:266) -# at ij.macro.Interpreter.run(Interpreter.java:162) -# at ij.macro.Interpreter.run(Interpreter.java:92) -# at sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest.test(CalculateProbabilityMapWithLabkitIJ1PluginTest.java:65) -rm -f "$meltingPotDir/sc.fiji/labkit-ui/src/test/java/sc/fiji/labkit/ui/plugin/CalculateProbabilityMapWithLabkitIJ1PluginTest.java" - -# Skip testing of components with non-working tests. - -# java.lang.AssertionError -# at org.scijava.minimaven.BasicTest.testClassifiers(BasicTest.java:216) -echo "org.scijava/minimaven" >> "$skipTestsFile" || - die "Failed to generate $skipTestsFile" - -# Error while checking the CLIJ2 installation: null -echo "sc.fiji/labkit-pixel-classification" >> "$skipTestsFile" || - die "Failed to generate $skipTestsFile" - -sectionEnd # Adjusting the melting pot: unit test hacks - -# Run the melting pot now, unless -s flag was given. -doMelt=t -for arg in "$@" -do - if [ "$arg" = '-s' ] || [ "$arg" = '--skipBuild' ] - then - doMelt= - fi -done -if [ "$doMelt" ] -then - echo - cd "$meltingPotDir" - sh melt.sh - meltResult=$? - - # Dump logs for failing builds and/or tests. - for d in */* - do - test -d "$d" || continue - - # Check for failing build log. - buildLog="$d/build.log" - if [ -f "$buildLog" ] - then - if grep -qF 'BUILD FAILURE' "$buildLog" - then - echo - echo "[$buildLog]" - cat "$buildLog" - fi - fi - - # Check for failing test logs. - testLogsDir="$dir/target/surefire-reports" - if [ -d "$testLogsDir" ] - then - find "$testLogsDir" -name '*.txt' | - while read report - do - if grep -qF 'FAILURE!' "$report" - then - echo - echo "[$report]" - cat "$report" - fi - done - fi - done - - # Terminate the script with same exit code if the melt failed. - test "$meltResult" -eq 0 || exit "$meltResult" -else - echo && - echo 'Melting the pot... SKIPPED' -fi - -# Complete! -echo -echo 'All checks succeeded! :-D' From fdc0b4f62210b7b93b6c3f1c4602a3bc05665c66 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 1 Jun 2026 14:58:10 -0500 Subject: [PATCH 32/51] pombast: remove overridden MaMuT badge It confirms to standard naming now. --- pombast.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pombast.toml b/pombast.toml index 613fd821..654b6b17 100644 --- a/pombast.toml +++ b/pombast.toml @@ -885,9 +885,6 @@ last-vetted = "20230309000000" ci-build = "build-main" last-vetted = "20230309000000" -[components."sc.fiji:MaMuT"] -ci-build = "build-main" - [components."sc.fiji:Manual_Tracking"] ci-build = "build-main" last-vetted = "20230309000000" From 41dc88a352c96376ec3046a61e2cf36088a10c1c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 8 Jun 2026 11:18:54 -0500 Subject: [PATCH 33/51] pombast: improve the melt action Due to some components targeting Java 21+, the scijava.jvm.version property for the aggregated melting pot also needs to be set to 21, to satisfy the enforcer's bytecode checks across all components. For melt validation, we do not need to exclude very old components or multi-module-structured components, only components containing duplicate classes that we intentionally allow within the BOM. Reasons for these allowances are commented in the TOML config. --- pombast.toml | 60 +++++++--------------------------------------------- 1 file changed, 8 insertions(+), 52 deletions(-) diff --git a/pombast.toml b/pombast.toml index 654b6b17..b3c6a36b 100644 --- a/pombast.toml +++ b/pombast.toml @@ -64,67 +64,23 @@ includes = [ ] [melt] -# Some managed components require Java 21+. So it makes sense to melt with that version of Java. -# Unfortunately, the scijava.jvm.version is currently set to 11 by default. -# So even though OpenJDK 21 is being used to run Maven, the enforcer plugin still -# complains when encountering any Java libraries with bytecode newer than 11. -# Setting scijava.jvm.version to 21 by default would avoid the issue, but... -# is that really a good idea? Setting to 11 seems like a nice baseline compromise right now. -java-version = 21 # Maximum Java version of all included component + deps. +# Some managed components require Java 21+, so we melt with that Java +# version. But pom-scijava sets scijava.jvm.version to 11 by default. +# So beyond just using OpenJDK 21 to run Maven, we also need to set the +# scijava.jvm.version property to target the right bytecode version. +# Otherwise, the enforcer complains about any Java libraries targeting >11. +java-version = 21 +properties = { "scijava.jvm.version" = "21" } + template = "pombast/mega-melt-template.xml" excludes = [ # TEMP: Exclude org.bytedeco:hdf5 until cisd:jhdf5 is gone. 'org.bytedeco:hdf5', - # TEMP: Skip components within multi-module reactors. - # Neither pombast nor release-version.sh understand multi- - # module repositories; release-version.sh needs to learn how - # to tag and release individual components from multi-module - # repos, so that when pombast shallow clones the repo at that - # tag and invokes a build, it will be building only the - # released component as it does with single-component repos. - 'org.scijava:scijava-collections', - 'org.scijava:scijava-common3', - 'org.scijava:scijava-concurrent', - 'org.scijava:scijava-discovery-test', - 'org.scijava:scijava-discovery', - 'org.scijava:scijava-function', - 'org.scijava:scijava-legacy', - 'org.scijava:scijava-meta', - 'org.scijava:scijava-ops-api', - 'org.scijava:scijava-ops-benchmarks', - 'org.scijava:scijava-ops-engine', - 'org.scijava:scijava-ops-ext-parser', - 'org.scijava:scijava-ops-flim', - 'org.scijava:scijava-ops-image', - 'org.scijava:scijava-ops-indexer', - 'org.scijava:scijava-ops-opencv', - 'org.scijava:scijava-ops-spi', - 'org.scijava:scijava-ops-tutorial', - 'org.scijava:scijava-priority', - 'org.scijava:scijava-progress', - 'org.scijava:scijava-struct', - 'org.scijava:scijava-taglets', - 'org.scijava:scijava-testutil', - 'org.scijava:scijava-types', - 'mpicbg:mpicbg', 'mpicbg:mpicbg_', - # NB: Skip artifacts requiring minimum Java version >11. - 'net.algart:algart-tiff', - 'org.morphonets:SNT', - # NB: Skip closed-source artifacts. - 'org.bonej:bonej-plus', # NB: The following artifacts have messy dependency trees. # Too many problems to test as part of the melt action. # See WARNING block in pom-scijava's pom.xml for details. 'net.imagej:imagej-server', 'org.apache.spark:spark-core_2.11', - # NB: Skip scijava forks of third-party projects. - # These are very stable, with few/no dependencies, and - # don't need to be retested as pom-scijava evolves. - 'org.scijava:j3dcore', - 'org.scijava:j3dutils', - 'org.scijava:jep', - 'org.scijava:junit-benchmarks', - 'org.scijava:vecmath', # NB: Skip alternate flavors of other managed components. 'org.jogamp.gluegen:gluegen', # uberjar flavor of gluegen-rt 'org.jogamp.jogl:jogl-all-noawt', # slimmed down flavor of jogl-all From d562d382e6b37415881b35d11cf5cb1e4e926d36 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 10 Jun 2026 13:04:17 -0500 Subject: [PATCH 34/51] Sort ImageJ2 component in correct alphabetic order --- pom.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 8b7d4509..d31d5e88 100644 --- a/pom.xml +++ b/pom.xml @@ -513,11 +513,6 @@ - - 2.17.0 - ${imagej2.version} - ${imagej.version} - 1.54p ${imagej1.version} @@ -527,6 +522,11 @@ 2.0.0 ${ij1-patcher.version} + + 2.17.0 + ${imagej2.version} + ${imagej.version} + 2.1.1 ${imagej-common.version} @@ -2892,13 +2892,6 @@ - - - net.imagej - imagej - ${net.imagej.imagej.version} - - net.imagej @@ -2919,6 +2912,13 @@ ${net.imagej.ij1-patcher.version} + + + net.imagej + imagej + ${net.imagej.imagej.version} + + net.imagej From fc1f084d13654f7317986f1bfd8d7fb30ab6d772 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 10 Jun 2026 13:04:39 -0500 Subject: [PATCH 35/51] Manage versions of FLIMLib Java components * flimj-ops: 2.1.2 * flimj-ui: 2.0.0 * flimlib: 2.2.5 --- pom.xml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/pom.xml b/pom.xml index d31d5e88..33fb8e22 100644 --- a/pom.xml +++ b/pom.xml @@ -1208,6 +1208,15 @@ + + 2.1.2 + 2.0.0 + 2.2.5 + ${flimj-ops.version} + ${flimj-ui.version} + ${flimlib.version} + ${scijava.natives.classifier} + 1.6.4 ${MorphoLibJ.version} @@ -3951,6 +3960,29 @@ + + + flimlib + flimj-ops + ${flimlib.flimj-ops.version} + + + flimlib + flimj-ui + ${flimlib.flimj-ui.version} + + + flimlib + flimlib + ${flimlib.flimlib.version} + + + flimlib + flimlib + ${flimlib.flimlib.version} + ${scijava.natives.classifier.flimlib} + + fr.inra.ijpb From e916952afb1202d30dd89982f2d137f36bce6952 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 10 Jun 2026 13:39:43 -0500 Subject: [PATCH 36/51] Update component versions * scijava-search: 3.0.0 -> 3.0.1 * scripting-kotlin: 0.2.1 -> 1.0.0 * imagej-tensorflow: 1.1.8 -> 1.1.9 * scifio: 0.48.0 -> 0.49.0 * FilamentDetector: 2.0.1 -> 3.0.0 * OMEVisual: 2.0.0 -> 3.0.0 * mpicbg: 1.6.5 -> 1.6.6 * bigdataviewer-server: 3.1.2 -> 4.0.0 * TrackMate: 7.14.0 -> 8.0.0 * TrackMate-Cellpose: 0.1.2 -> 1.0.1 * TrackMate-CSVImporter: 3.1.4 -> 4.0.0 * TrackMate-Ilastik: 1.4.0 -> 2.0.0 * TrackMate-MorphoLibJ: 1.2.1 -> 2.0.0 * TrackMate-Skeleton: 2.0.3 -> 3.0.0 * TrackMate-StarDist: 1.2.1 -> 2.0.0 * TrackMate-Weka: 1.3.1 -> 2.0.0 * BigStitcher: 2.5.2 -> 2.6.1 * multiview-reconstruction: 7.0.6 -> 9.0.0 * MaMuT: 7.1.1 -> 8.0.1 --- pom.xml | 38 +++++++++++++++++++------------------- pombast.toml | 8 +++++++- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 33fb8e22..ad79a4f7 100644 --- a/pom.xml +++ b/pom.xml @@ -428,7 +428,7 @@ ${scijava-plugins-text-plain.version} - 3.0.0 + 3.0.1 ${scijava-search.version} @@ -484,7 +484,7 @@ ${scripting-jython.version} - 0.2.1 + 1.0.0 ${scripting-kotlin.version} @@ -600,7 +600,7 @@ ${imagej-server.version} - 1.1.8 + 1.1.9 ${imagej-tensorflow.version} @@ -672,7 +672,7 @@ - 0.48.0 + 0.49.0 ${scifio.version} @@ -806,7 +806,7 @@ 3.2.0 ${Fiji_Plugins.version} - 2.0.1 + 3.0.0 ${FilamentDetector.version} 2.0.1 @@ -887,7 +887,7 @@ 3.0.1 ${Multi_Kymograph.version} - 2.0.0 + 3.0.0 ${OMEVisual.version} 2.0.0 @@ -1042,7 +1042,7 @@ ${bigwarp_fiji.version} - 1.6.5 + 1.6.6 ${mpicbg.version} ${mpicbg.version} ${mpicbg_.version} @@ -1062,7 +1062,7 @@ ${bigdataviewer-core.version} - 3.1.2 + 4.0.0 ${bigdataviewer-server.version} @@ -1088,15 +1088,15 @@ - 7.14.0 + 8.0.0 ${TrackMate.version} - 0.1.2 + 1.0.1 ${TrackMate-Cellpose.version} - 3.1.4 + 4.0.0 ${TrackMate-CSVImporter.version} @@ -1110,11 +1110,11 @@ ${TrackMate-ExTrack.version} - 1.4.0 + 2.0.0 ${TrackMate-Ilastik.version} - 1.2.1 + 2.0.0 ${TrackMate-MorphoLibJ.version} @@ -1122,15 +1122,15 @@ ${TrackMate-Oneat.version} - 2.0.3 + 3.0.0 ${TrackMate-Skeleton.version} - 1.2.1 + 2.0.0 ${TrackMate-StarDist.version} - 1.3.1 + 2.0.0 ${TrackMate-Weka.version} @@ -1241,8 +1241,8 @@ ${clijx-weka_.version} - 2.5.2 - 7.0.6 + 2.6.1 + 9.0.0 0.2.0 ${BigStitcher.version} ${multiview-reconstruction.version} @@ -1266,7 +1266,7 @@ ${SNT.version} - 7.1.1 + 8.0.1 ${MaMuT.version} diff --git a/pombast.toml b/pombast.toml index b3c6a36b..e2037118 100644 --- a/pombast.toml +++ b/pombast.toml @@ -327,6 +327,9 @@ last-vetted = "20230309000000" [components."net.imglib2:imglib2-mesh"] java-version = 11 +[components."net.preibisch:multiview-reconstruction"] +java-version = 11 + [components."net.preibisch:multiview-simulation"] ci-build = "build-main" @@ -764,6 +767,9 @@ ci-build = "build-main" ci-build = "build-main" last-vetted = "20230309000000" +[components."sc.fiji:FilamentDetector"] +java-version = 11 + [components."sc.fiji:FlowJ_"] ci-build = "build-main" last-vetted = "20230309000000" @@ -850,7 +856,7 @@ ci-build = "build-main" last-vetted = "20230309000000" [components."sc.fiji:OMEVisual"] -last-vetted = "20230309000000" +java-version = 11 [components."sc.fiji:PIV_analyser"] ci-build = "build-main" From 9a5351a2e18024021a2319c15c5f826870b307fb Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 11 Jun 2026 16:14:11 -0500 Subject: [PATCH 37/51] pombast: allow bigvolumeviewer to use of Unsafe It has a hack in its own POM to configure the maven-compiler-plugin to run in a mode that allows use of sun.misc.Unsafe. But pombast's execution does not honor the hack. Fortunately, setting maven.compiler.release to empty disables the plugin's passing of the --release flag, which is what triggers the use of ct.sym, the sealed API catalog for Java 8's public API. --- pombast.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pombast.toml b/pombast.toml index e2037118..c632fb68 100644 --- a/pombast.toml +++ b/pombast.toml @@ -991,6 +991,10 @@ ci-build = "build-main" [components."sc.fiji:bigdataviewer_fiji"] ci-build = "build-main" +[components."sc.fiji:bigvolumeviewer"] +# NOTE: Using the release flag disallows access to sun.misc.Unsafe. +properties = { "maven.compiler.release" = "" } + [components."sc.fiji:bij"] ci-build = "build-main" last-vetted = "20230309000000" From 13f9bdbc227b977e69acafc6a2b9d0331ed078b6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 13 Jun 2026 13:07:19 -0500 Subject: [PATCH 38/51] Update jgrapht: 1.4.0 -> 1.5.2 This increases its minimum bytecode target from Java 8 to 11. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ad79a4f7..6cb47e06 100644 --- a/pom.xml +++ b/pom.xml @@ -2036,7 +2036,7 @@ ${jfreesvg.version} - 1.4.0 + 1.5.2 ${jgrapht.version} ${jgrapht.version} ${jgrapht.version} From 55ee95cec84598937c6db500bcfa8043b36fbd9a Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 13 Jun 2026 13:24:09 -0500 Subject: [PATCH 39/51] CI: pass latest smelt.json to status command Co-authored-by: Claude Opus 4.8 --- .github/status.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/status.sh b/.github/status.sh index 81186a08..a5587e7b 100755 --- a/.github/status.sh +++ b/.github/status.sh @@ -1,6 +1,21 @@ #!/bin/sh uv tool install "git+https://github.com/scijava/pombast.git" -pombast status . + +# Pull the most recently published smelt results so that `pombast status` can +# classify each available version bump by its bytecode-floor blast radius +# (flat / local / cascading / excluded). This is the same smelt.json the status +# page itself fetches client-side, so the generator and the browser agree. +# +# Best-effort: if smelt.json is not published yet (or the fetch fails), status +# still runs -- just without the bytecode classification overlay. +smelt_arg="" +if curl -fsSLO https://status.scijava.org/smelt.json; then + smelt_arg="--smelt smelt.json" +else + echo "== smelt.json unavailable; running status without classification ==" +fi + +pombast status $smelt_arg . pombast badges -o badges.json . pombast team . .github/publish.sh "Update status reports" index.html badges.json team.html From c31af769376cd9f7ab1bc41e04d698a96216ccdb Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 13 Jun 2026 13:58:24 -0500 Subject: [PATCH 40/51] CI: feed smelt.json into status and cache cjdk/jgo/m2 status.sh now pulls the most recent smelt.json straight from the status.scijava.org gh-pages branch (raw.githubusercontent.com) and passes it to `pombast status --smelt`, so version bumps are classified by bytecode-floor blast radius. Reading the branch directly avoids waiting on the asynchronous GitHub Pages deploy. Best-effort: status still runs if smelt.json is absent. status.yml gains a workflow_run trigger on the build workflow, guarded to master pushes (the only builds that republish smelt.json), so the status page refreshes its classification immediately instead of waiting for the daily cron. The direct push trigger is dropped since build-then-status now covers master pushes with the freshly published smelt.json. Caching: - build.yml: add ~/.cache/cjdk (downloaded JDKs + Maven) and ~/.cache/jgo (per-artifact bytecode-scan results) to the build cache. cjdk is the big win, since smelt provisions a JDK per component. - status.yml: add ~/.cache/jgo and ~/.m2/repository so the daily bump classification stops re-downloading and re-scanning candidate JARs each run. setup-java stays: its JDK 11+fx serves the Maven CI deploy build (ci-build.sh), which is independent of pombast's cjdk-provisioned JDKs. Co-Authored-By: Claude Opus 4.8 --- .github/status.sh | 8 +++++--- .github/workflows/build.yml | 13 +++++++++++-- .github/workflows/status.yml | 30 +++++++++++++++++++++++++----- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/.github/status.sh b/.github/status.sh index a5587e7b..4e212d33 100755 --- a/.github/status.sh +++ b/.github/status.sh @@ -3,13 +3,15 @@ uv tool install "git+https://github.com/scijava/pombast.git" # Pull the most recently published smelt results so that `pombast status` can # classify each available version bump by its bytecode-floor blast radius -# (flat / local / cascading / excluded). This is the same smelt.json the status -# page itself fetches client-side, so the generator and the browser agree. +# (flat / local / cascading / excluded). Read straight from the gh-pages branch +# rather than https://status.scijava.org/, so we pick up a freshly committed +# smelt.json immediately instead of waiting on the asynchronous Pages deploy. # # Best-effort: if smelt.json is not published yet (or the fetch fails), status # still runs -- just without the bytecode classification overlay. smelt_arg="" -if curl -fsSLO https://status.scijava.org/smelt.json; then +smelt_url=https://raw.githubusercontent.com/scijava/status.scijava.org/gh-pages/smelt.json +if curl -fsSLO "$smelt_url"; then smelt_arg="--smelt smelt.json" else echo "== smelt.json unavailable; running status without classification ==" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a29e656c..4624a368 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,7 +54,13 @@ jobs: - name: Restore pombast cache uses: actions/cache/restore@v4 with: - path: ~/.cache/pombast + # pombast: success/timestamp caches; cjdk: downloaded JDKs + Maven; + # jgo: per-artifact bytecode-scan results. (~/.m2 is cached above by + # setup-java's cache: 'maven'.) + path: | + ~/.cache/pombast + ~/.cache/cjdk + ~/.cache/jgo key: ${{ runner.os }}-pombast-build - name: Run pombast melt+smelt commands @@ -72,7 +78,10 @@ jobs: if: always() uses: actions/cache/save@v4 with: - path: ~/.cache/pombast + path: | + ~/.cache/pombast + ~/.cache/cjdk + ~/.cache/jgo key: ${{ runner.os }}-pombast-build - name: Publish smelt results diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index c14eaf3d..02432927 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -4,13 +4,23 @@ on: schedule: # Run daily at 0500 UTC. - cron: '0 5 * * *' - push: - branches: - - master + # Run right after the build workflow publishes a fresh smelt.json, so the + # status page picks up new bytecode classification immediately rather than + # waiting for the next daily run. The job-level guard below restricts this to + # master pushes, the only builds that republish smelt.json. + workflow_run: + workflows: [build] + types: [completed] jobs: status: runs-on: ubuntu-latest + # Scheduled runs always proceed. workflow_run runs only when the triggering + # build was a push to master (i.e. one that republished smelt.json). + if: >- + github.event_name != 'workflow_run' || + (github.event.workflow_run.event == 'push' && + github.event.workflow_run.head_branch == 'master') permissions: actions: write # needed to delete and re-save caches @@ -26,7 +36,14 @@ jobs: - name: Restore pombast cache uses: actions/cache/restore@v4 with: - path: ~/.cache/pombast + # pombast: status caches; jgo: per-artifact bytecode-scan results; + # ~/.m2: candidate JARs that bump classification downloads to scan. + # Persisting these keeps the daily classification from re-downloading + # and re-scanning every candidate on each run. + path: | + ~/.cache/pombast + ~/.cache/jgo + ~/.m2/repository key: ${{ runner.os }}-pombast-status # The monoqueue library is used by pombast to read GitHub issues. @@ -53,7 +70,10 @@ jobs: if: always() uses: actions/cache/save@v4 with: - path: ~/.cache/pombast + path: | + ~/.cache/pombast + ~/.cache/jgo + ~/.m2/repository key: ${{ runner.os }}-pombast-status - name: Delete old monoqueue cache From 8526f78b877fa66a340bd1a84c2fea4ec72d2541 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 13 Jun 2026 21:50:04 -0500 Subject: [PATCH 41/51] Update CI badge locations * scijava-search: build-main -> build * scripting-groovy: build-main -> build * scripting-kotlin: build-main -> build --- pombast.toml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pombast.toml b/pombast.toml index c632fb68..f3ea774e 100644 --- a/pombast.toml +++ b/pombast.toml @@ -585,9 +585,6 @@ last-vetted = "20230309000000" [components."org.scijava:scijava-plugins-text-plain"] ci-build = "build-main" -[components."org.scijava:scijava-search"] -ci-build = "build-main" - [components."org.scijava:scijava-table"] ci-build = "build-main" @@ -609,9 +606,6 @@ ci-build = "build-main" [components."org.scijava:scripting-clojure"] ci-build = "build-main" -[components."org.scijava:scripting-groovy"] -ci-build = "build-main" - [components."org.scijava:scripting-javascript"] ci-build = "build-main" @@ -622,9 +616,6 @@ last-vetted = "20230309000000" [components."org.scijava:scripting-jython"] ci-build = "build-main" -[components."org.scijava:scripting-kotlin"] -ci-build = "build-main" - [components."org.scijava:scripting-matlab"] ci-build = "build-main" last-vetted = "20230309000000" From 20aca6d774769978cff58c8d4c853c003aaef793 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sun, 14 Jun 2026 19:46:21 -0500 Subject: [PATCH 42/51] Update scripting-java: 1.0.0 -> 1.0.1 This fixes a bug when using the Java script language with Java 11 (and only 11 -- with 8, 17, and 21, it was working with 1.0.0). But we need this fix to smelt imagej-legacy, which is built and tested with Java 11, and makes use of the Java script language in its tests. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6cb47e06..50059ef0 100644 --- a/pom.xml +++ b/pom.xml @@ -468,7 +468,7 @@ ${scripting-groovy.version} - 1.0.0 + 1.0.1 ${scripting-java.version} From 27bd2fb9cf3e264f2a0224143556f048dadeea0e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Jun 2026 10:51:27 -0500 Subject: [PATCH 43/51] pombast: skip slow labkit-ui tests --- pombast.toml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pombast.toml b/pombast.toml index f3ea774e..32a3de5c 100644 --- a/pombast.toml +++ b/pombast.toml @@ -215,7 +215,13 @@ skip-tests = [ # at ij.macro.Interpreter.run(Interpreter.java:162) # at ij.macro.Interpreter.run(Interpreter.java:92) # at sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest.test(CalculateProbabilityMapWithLabkitIJ1PluginTest.java:65) -"sc.fiji:labkit-ui" = ["sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest"] +"sc.fiji:labkit-ui" = [ + "sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest", # Failing (see above) + "sc.fiji.labkit.ui.GarbageCollectionTest", # Too slow (7 s) + "sc.fiji.labkit.ui.plugin.LabkitProbabilityMapForImagesInDirectoryPluginTest", # Too slow (65 s) + "sc.fiji.labkit.ui.plugin.SegmentRGBImageTest", # Too slow (35 s) + "sc.fiji.labkit.ui.segmentation.SegmentationToolTest", # Too slow (34 s) +] [components."fr.inra.ijpb:MorphoLibJ_"] ci-build = "build-main" From 30ee18990c7fd5434d3d258e3986317b89cdac43 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Jun 2026 10:53:09 -0500 Subject: [PATCH 44/51] Update minimaven: 2.2.2 -> 2.2.3 This makes MiniMaven work again with Maven Central's HTTPS-only policy. --- pom.xml | 2 +- pombast.toml | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 50059ef0..6984b143 100644 --- a/pom.xml +++ b/pom.xml @@ -360,7 +360,7 @@ ${junit-benchmarks.version} - 2.2.2 + 2.2.3 ${minimaven.version} diff --git a/pombast.toml b/pombast.toml index 32a3de5c..efcfbc07 100644 --- a/pombast.toml +++ b/pombast.toml @@ -174,10 +174,6 @@ excludes = [ 'org.scijava:scijava-types', ] skip-tests = [ - # java.lang.AssertionError - # at org.scijava.minimaven.BasicTest.testClassifiers(BasicTest.java:216) - "org.scijava:minimaven", - # Error while checking the CLIJ2 installation: null "sc.fiji:labkit-pixel-classification", ] @@ -551,9 +547,6 @@ last-vetted = "20171225120000" ci-build = false last-vetted = "20180905120000" -[components."org.scijava:minimaven"] -last-vetted = "20230309000000" - [components."org.scijava:scijava-cache"] ci-build = "build-main" last-vetted = "20230309000000" From 1fa7fe217a65dba0bec1b1d7ecf97d178dbad85e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Jun 2026 12:14:49 -0500 Subject: [PATCH 45/51] Update bigdataviewer-core: 10.6.7 -> 10.6.11 This updates BDV to use N5 at version 4. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6984b143..26435e3a 100644 --- a/pom.xml +++ b/pom.xml @@ -1058,7 +1058,7 @@ - 10.6.7 + 10.6.11 ${bigdataviewer-core.version} From 63d3770298a5eb0e465b875b49c9d43b2e87f1ce Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Jun 2026 14:22:16 -0500 Subject: [PATCH 46/51] pombast: re-enable now-passing labkit-ui test --- pombast.toml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/pombast.toml b/pombast.toml index efcfbc07..3fbc615f 100644 --- a/pombast.toml +++ b/pombast.toml @@ -199,20 +199,7 @@ skip-tests = [ # but the fix is only available in n5-zarr 2.0.0-alpha-1, and we # do not want to update the SciJava BOM to the alpha version. -# In sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest.test: -# Macro Error: "probability map for blobs.tif" not found in line 4 -# selectImage ( <"probability map for blobs.tif"> ) ; -# java.lang.RuntimeException: Macro canceled -# at ij.macro.Interpreter.error(Interpreter.java:1403) -# at ij.macro.Functions.selectImage(Functions.java:3225) -# at ij.macro.Functions.doFunction(Functions.java:136) -# at ij.macro.Interpreter.doStatement(Interpreter.java:280) -# at ij.macro.Interpreter.doStatements(Interpreter.java:266) -# at ij.macro.Interpreter.run(Interpreter.java:162) -# at ij.macro.Interpreter.run(Interpreter.java:92) -# at sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest.test(CalculateProbabilityMapWithLabkitIJ1PluginTest.java:65) "sc.fiji:labkit-ui" = [ - "sc.fiji.labkit.ui.plugin.CalculateProbabilityMapWithLabkitIJ1PluginTest", # Failing (see above) "sc.fiji.labkit.ui.GarbageCollectionTest", # Too slow (7 s) "sc.fiji.labkit.ui.plugin.LabkitProbabilityMapForImagesInDirectoryPluginTest", # Too slow (65 s) "sc.fiji.labkit.ui.plugin.SegmentRGBImageTest", # Too slow (35 s) From f3d254484d3087b4b2ebc8582694acae1df2afff Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Jun 2026 18:03:15 -0500 Subject: [PATCH 47/51] pombast: skip n5 aws-s3 and universe tests for now Hopefully only temporarily! --- pombast.toml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pombast.toml b/pombast.toml index 3fbc615f..1b4a98dd 100644 --- a/pombast.toml +++ b/pombast.toml @@ -176,6 +176,17 @@ excludes = [ skip-tests = [ # Error while checking the CLIJ2 installation: null "sc.fiji:labkit-pixel-classification", + + # TEMP: Until n5-aws-sw test failures are resolved; see also: + # https://github.com/scijava/pom-scijava/pull/304#issuecomment-4684120110 + # Errors are of the form: + # Unable to execute HTTP request: Connect to localhost:9000 + # [localhost/127.0.0.1] failed: Connection refused (Connection refused) + "org.janelia.saalfeldlab:n5-aws-s3", + + # TEMP: Until n5-universe test failures are resolved; see also: + # https://github.com/scijava/pom-scijava/pull/304#issuecomment-4684417746 + "org.janelia.saalfeldlab:n5-universe", ] [remove-tests] From 79d4ab7c429fe6321089889c84be23acb41614c5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Jun 2026 20:38:08 -0500 Subject: [PATCH 48/51] Remove bigdataviewer-vistools It merged into bigdataviewer-core as of 10.5.0. See: bigdataviewer/bigdataviewer-core@156cd8a80831c63eac8df81e232420581b17e7a9 --- pom.xml | 9 --------- pombast.toml | 3 --- 2 files changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index 26435e3a..f397f110 100644 --- a/pom.xml +++ b/pom.xml @@ -1065,10 +1065,6 @@ 4.0.0 ${bigdataviewer-server.version} - - 1.0.0-beta-36 - ${bigdataviewer-vistools.version} - 6.4.1 ${bigdataviewer_fiji.version} @@ -3781,11 +3777,6 @@ bigdataviewer-server ${sc.fiji.bigdataviewer-server.version} - - sc.fiji - bigdataviewer-vistools - ${sc.fiji.bigdataviewer-vistools.version} - sc.fiji bigdataviewer_fiji diff --git a/pombast.toml b/pombast.toml index 1b4a98dd..9a94e20f 100644 --- a/pombast.toml +++ b/pombast.toml @@ -973,9 +973,6 @@ last-vetted = "20230309000000" [components."sc.fiji:bigdataviewer-server"] ci-build = "build-main" -[components."sc.fiji:bigdataviewer-vistools"] -ci-build = "build-main" - [components."sc.fiji:bigdataviewer_fiji"] ci-build = "build-main" From d459e6b3a3154021cce3ebefd0996e25bfb6f445 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Jun 2026 20:45:12 -0500 Subject: [PATCH 49/51] Update bigvolumeviewer: 0.4.1 -> 0.5.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f397f110..18a0a51e 100644 --- a/pom.xml +++ b/pom.xml @@ -1074,7 +1074,7 @@ ${bigdataviewer-n5.version} - 0.4.1 + 0.5.0 ${bigvolumeviewer.version} From 50ebc9bcc099883ed312e761e874614df44e98dd Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 Jun 2026 14:58:14 -0500 Subject: [PATCH 50/51] pombast: skip tests for org.bonej:bonej-plugins I filed a PR addressing the issue: https://github.com/bonej-org/BoneJ2/pull/414 But until it is merged and release, let's skip the problematic tests. --- pombast.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pombast.toml b/pombast.toml index 9a94e20f..52c60b3a 100644 --- a/pombast.toml +++ b/pombast.toml @@ -356,6 +356,8 @@ ci-build = "build-main" [components."org.bonej:bonej-plugins"] java-version = 11 +# TEMP: Until a BoneJ release exists incorporating bonej-org/BoneJ2#414. +properties = { "skipTests" = "true" } ci-build = "build-main" [components."org.bonej:bonej-utilities"] From 0b2c9bc904dd4ee658e6623b73b86d4f141f1067 Mon Sep 17 00:00:00 2001 From: John Bogovic Date: Wed, 17 Jun 2026 15:09:28 -0400 Subject: [PATCH 51/51] Bump n5-related component versions * imglib2-algorithm: 0.18.1 -> 0.18.3 * imglib2-realtransform: 4.0.4 -> 4.0.5 * imglib2-label-multisets: 0.15.1 -> 0.15.2 * n5-aws-s3: 5.0.0 -> 5.0.1 * n5-universe: 3.0.1 -> 3.0.2 * multiview-simulation: 0.2.0 -> 0.3.1 The updated n5-aws-s3 and n5-universe libraries now skip any tests for which prereqs are not met locally. Signed-off-by: Curtis Rueden --- pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 18a0a51e..296a44e0 100644 --- a/pom.xml +++ b/pom.xml @@ -626,7 +626,7 @@ ${imglib2.version} - 0.18.1 + 0.18.3 ${imglib2-algorithm.version} @@ -658,7 +658,7 @@ ${imglib2-mesh.version} - 4.0.4 + 4.0.5 ${imglib2-realtransform.version} @@ -1155,7 +1155,7 @@ - 0.15.1 + 0.15.2 ${imglib2-label-multisets.version} @@ -1163,7 +1163,7 @@ ${n5.version} - 5.0.0 + 5.0.1 ${n5-aws-s3.version} @@ -1187,7 +1187,7 @@ ${n5-imglib2.version} - 3.0.1 + 3.0.2 ${n5-universe.version} @@ -1239,7 +1239,7 @@ 2.6.1 9.0.0 - 0.2.0 + 0.3.1 ${BigStitcher.version} ${multiview-reconstruction.version} ${multiview-simulation.version}