Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
bd4354e
fix: exclude maven metadata and jacoco from shaded JAR
c-dilks May 13, 2025
40a1c95
fix: now we can use `mvn deploy`
c-dilks May 14, 2025
468e502
build: work in progress...
c-dilks May 15, 2025
f74fba2
doc: deployment notes
c-dilks May 15, 2025
e436652
fix: mermaid
c-dilks May 15, 2025
b37ad8d
fix: mermaid
c-dilks May 15, 2025
2d822dc
fix: mermaid
c-dilks May 15, 2025
ef96c96
fix: mermaid
c-dilks May 15, 2025
052869f
fix: mermaid
c-dilks May 15, 2025
4398300
fix: mermaid
c-dilks May 15, 2025
53ee06b
fix: more progress and an unhelpful git commit message
c-dilks May 15, 2025
024abe6
fix: flow control
c-dilks May 15, 2025
f6a938c
doc: tersify
c-dilks May 16, 2025
593b1f2
build: cleanup
c-dilks May 16, 2025
a17a2bc
fix: clear `ejml` warnings
c-dilks May 16, 2025
a2e0290
build: untangling dependencies
c-dilks May 16, 2025
89746d1
build: openjfx
c-dilks May 16, 2025
7840535
fix: more untangling
c-dilks May 16, 2025
cd2cb29
fix: classifiers
c-dilks May 16, 2025
19a22b9
fix: only include `junit` where actually needed
c-dilks May 16, 2025
00e95a6
fix: even more untangling
c-dilks May 16, 2025
c308ccc
fix: resolved almost all the transitive dependencies
c-dilks May 16, 2025
6bcb039
fix: the knot is untangled!!!
c-dilks May 16, 2025
201f8dc
doc: mermaid
c-dilks May 19, 2025
48f5e0c
doc: mermaid
c-dilks May 19, 2025
1874f94
doc: mermaid
c-dilks May 19, 2025
19d442d
fix: remove test-scoped dependency `org.jlab.jnp:jnp-hipo4` from reco…
c-dilks May 19, 2025
21dd07a
fix: need `CLAS12DIR` in the test
c-dilks May 19, 2025
fd123ca
ci: tell dependabot to not update `ejml-simple`
c-dilks May 19, 2025
50d5af3
refactor: clarify which deps are for conflict resolution
c-dilks May 19, 2025
0424ae2
ci: dependency analysis
c-dilks May 19, 2025
10d0827
fix(ci): dependence
c-dilks May 19, 2025
be28303
fix: no progress printout
c-dilks May 19, 2025
73af217
fix: stop screaming about unused shade deps
c-dilks May 20, 2025
9e4b0e1
Merge remote-tracking branch 'origin/development' into shade-fixes
c-dilks May 20, 2025
444fe50
ci: release with version number in name; open issue if fail
c-dilks May 20, 2025
d984727
fix: syntax and issue template
c-dilks May 20, 2025
2b9d770
test: dump classpath for tests
c-dilks May 20, 2025
fbfe3cd
perf(ci): move unit tests to their own job
c-dilks May 20, 2025
f53baac
ci: update needs for `final`
c-dilks May 20, 2025
2f393ee
fix: exclude `coat-libs` from javadoc aggregation
c-dilks May 21, 2025
fc05a7c
fix: DRY violation of plugin version
c-dilks May 21, 2025
66a4bb3
fix: `coat-lib` -> `coat-libs`
c-dilks May 21, 2025
506b37d
fix: exclude `coat-libs` from `javadoc` in parent POM
c-dilks May 21, 2025
0d84e93
fix: use `skip` configuration to self-exclude `coat-libs`
c-dilks May 22, 2025
486de05
fix: `execution`
c-dilks May 22, 2025
7fbe8d1
fix: explicit control in CI config
c-dilks May 22, 2025
6f5f6f3
fix: install all modules' JARs
c-dilks May 22, 2025
42a7272
fix: env
c-dilks May 22, 2025
0ce38db
feat: warn if a `target` directory persists after `mvn clean`
c-dilks May 22, 2025
0cc7dcd
fix: improve installation
c-dilks May 22, 2025
ca43a55
fix: claspathology
c-dilks May 22, 2025
a58ee83
fix: source after clara
c-dilks May 23, 2025
d71adc8
doc: choose version 1
c-dilks May 23, 2025
356cdd5
test: disable fail-fast
c-dilks May 23, 2025
87f1c73
fix: appease clara and install `common-tools` to `lib/services`
c-dilks May 23, 2025
e33dc1c
Merge remote-tracking branch 'origin/development' into shade-fixes
c-dilks May 23, 2025
b28cd05
fix: add `cnuphys/snr` and `clas-math` to `coat-libs`, since...
c-dilks May 23, 2025
7b19dec
doc: general deployment procedure
c-dilks May 23, 2025
88f339e
fix: small stuff
c-dilks May 23, 2025
c8f5691
fix(coat-libs): `org.jlab.clas` -> `org.jlab.coat`
c-dilks May 23, 2025
860eff0
fix: actually deploy
c-dilks May 23, 2025
fa06c92
fix(ci): `-pl` args
c-dilks May 23, 2025
4a05bb4
fix: release permission
c-dilks May 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ updates:
- jhep
ignore:
- dependency-name: "org.jlab:groot" # since version numbers are not in order
- dependency-name: "org.ejml:ejml-simple" # keep version the same as `j4ml:j4ml-clas12:jar:0.9-SNAPSHOT`; see pull requests #636 and #632
- package-ecosystem: "github-actions"
directory: "/"
schedule:
Expand Down
4 changes: 4 additions & 0 deletions .github/issue_release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Release build failed for tag ${{ env.TAG_NAME }}
---
Workflow Run: {{ env.REPO_URL }}/actions/runs/{{ env.RUN_ID }}
119 changes: 85 additions & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ env:
javadoc_version: 24 # newer than `java_version` for better javadoc
groovy_version: 4.x
CCDB_CONNECTION: 'sqlite:////cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/noarch/data/ccdb/ccdb_latest.sqlite'
nthreads: 4

jobs:

Expand All @@ -51,35 +52,48 @@ jobs:
cvmfs_repositories: 'oasis.opensciencegrid.org'
- name: cvmfs
run: ls /cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/noarch/data/ccdb/ccdb_latest.sqlite
- name: echo CCDB_CONNECTION
run: echo $CCDB_CONNECTION
- name: bump version to tag if tag trigger
if: ${{ github.ref_type == 'tag' }}
run: libexec/version-bump.sh ${{ github.ref_name }}
- name: build
run: ./build-coatjava.sh --spotbugs --unittests --no-progress -T4
run: ./build-coatjava.sh --no-progress -T${{ env.nthreads }}
- name: tar # tarball to preserve permissions
run: tar czvf coatjava.tar.gz coatjava
- uses: actions/upload-artifact@v4
with:
name: build_${{ matrix.runner }}
retention-days: 1
path: coatjava.tar.gz

# tests
#############################################################################

unit_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ env.java_version }}
distribution: ${{ env.java_distribution }}
- uses: cvmfs-contrib/github-action-cvmfs@v5
with:
cvmfs_repositories: 'oasis.opensciencegrid.org'
- name: unit tests and spotbugs
run: ./build-coatjava.sh --spotbugs --unittests --no-progress -T${{ env.nthreads }}
- name: collect jacoco report
if: ${{ matrix.runner == 'ubuntu-latest' }}
run: validation/jacoco-aggregate.sh
- name: publish jacoco report
if: ${{ matrix.runner == 'ubuntu-latest' }}
uses: actions/upload-artifact@v4
with:
name: jacoco_report
path: publish/
retention-days: 1

# tests
#############################################################################

test_coatjava:
needs: [ build ]
strategy:
fail-fast: true
fail-fast: false
matrix:
runner:
- ubuntu-latest
Expand Down Expand Up @@ -116,8 +130,6 @@ jobs:
cvmfs_repositories: 'oasis.opensciencegrid.org'
- name: untar build
run: tar xzvf coatjava.tar.gz
- name: echo CCDB_CONNECTION
run: echo $CCDB_CONNECTION
- name: run test
run: |
cd validation/advanced-tests
Expand Down Expand Up @@ -146,39 +158,32 @@ jobs:
- name: test run-groovy
run: coatjava/bin/run-groovy validation/advanced-tests/test-run-groovy.groovy

release:
dependency_analysis:
needs: [ build ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ env.java_version }}
distribution: ${{ env.java_distribution }}
- uses: actions/download-artifact@v4
with:
name: build_ubuntu-latest
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: coatjava.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

final:
needs:
- build
- test_coatjava
- test_run-groovy
- release
runs-on: ubuntu-latest
steps:
- name: pass
run: exit 0
- name: untar build
run: tar xzvf coatjava.tar.gz
- name: print dependency tree
run: mvn dependency:tree -Ddetail=true --no-transfer-progress
- name: dependency analysis # note: skips `coat-libs`, since shaded JAR dependencies are "unused" according to `dependency:analyze`
run: mvn dependency:analyze -DfailOnWarning=true -pl '!org.jlab.coat:coat-libs' --no-transfer-progress

# documentation
#############################################################################

generate_documentation:
runs-on: ubuntu-latest
needs: [ build ]
needs: [ unit_tests ]
steps:
### mkdocs
- uses: actions/checkout@v4
Expand All @@ -198,10 +203,10 @@ jobs:
with:
java-version: ${{ env.javadoc_version }}
distribution: ${{ env.java_distribution }}
- name: build coatjava
- name: build coatjava javadocs # javadoc:aggregate output dir cannot be controlled, so assume the latest "standard" path and `mv` it
run: |
./build-coatjava.sh --no-progress --docs
mv coatjava/share/doc/coatjava/html pages/javadoc
mvn javadoc:aggregate -pl '!org.jlab.coat:coat-libs' --no-transfer-progress
mv target/reports/apidocs pages/javadoc
### upload artifacts
- uses: actions/upload-pages-artifact@v3
with:
Expand All @@ -222,3 +227,49 @@ jobs:
- name: deployment
id: deployment
uses: actions/deploy-pages@v4

# finalize
#############################################################################

release_build:
if: ${{ github.ref_type == 'tag' }}
needs: [ build ]
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_URL: ${{ github.event.repository.html_url }}
RUN_ID: ${{ github.run_id }}
TAG_NAME: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: build_ubuntu-latest
- name: rename artifact
run: |
tar xzf coatjava.tar.gz
mv coatjava{,-${{ env.TAG_NAME }}}
tar czf coatjava-${{ env.TAG_NAME }}{.tar.gz,}
- name: release
uses: softprops/action-gh-release@v2
with:
files: coatjava-${{ env.TAG_NAME }}.tar.gz
- name: open issue if failed
if: ${{ cancelled() || failure() }}
uses: JasonEtco/create-an-issue@v2
with:
filename: .github/issue_release.md

final:
needs:
- test_coatjava
- dependency_analysis
- test_run-groovy
- generate_documentation
runs-on: ubuntu-latest
steps:
- name: pass
run: exit 0
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
# installed:
/coatjava
/myLocalMvnRepo
target
/publish
/docs/javadoc/*
/clara-home
tmp

# deployment
/myLocalMvnRepo
/coatjava-*.tar.gz
dependency-reduced-pom.xml

*.class
*lundfiles*.dat
.DS_Store
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

- [**Documentation Homepage**](https://jeffersonlab.github.io/coatjava)
- [API Documentation (Javadoc)](https://jeffersonlab.github.io/coatjava/javadoc)
- [Developer notes](/docs/dev_notes.md)

----

Expand Down
2 changes: 1 addition & 1 deletion bin/bg-merger
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export MALLOC_ARENA_MAX=1
split_cli $@

java -Xmx1536m -Xms1024m -XX:+UseSerialGC ${jvm_options[@]} \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.analysis.eventmerger.EventMerger \
${class_options[@]}

2 changes: 1 addition & 1 deletion bin/bos2hipo
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
. `dirname $0`/../libexec/env.sh

java -Xms1024m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.io.utils.Bos2HipoEventBank \
$*
2 changes: 1 addition & 1 deletion bin/cvt-compare
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.rec.cvt.Geometry \
$*
2 changes: 1 addition & 1 deletion bin/daqEventViewer
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
. `dirname $0`/../libexec/env.sh

java -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.detector.examples.RawEventViewer \
$*
2 changes: 1 addition & 1 deletion bin/dclayereffs-ana
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
. `dirname $0`/../libexec/env.sh

java -Dsun.java2d.pmoffscreen=false -Xmx2048m -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/utils/*:$CLAS12DIR/lib/services/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.service.dc.LayerEfficiencyAnalyzer \
$*
2 changes: 1 addition & 1 deletion bin/decoder
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ split_cli $@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m -XX:+UseSerialGC ${jvm_options[@]} \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.detector.decode.CLASDecoder4 \
${class_options[@]}

2 changes: 1 addition & 1 deletion bin/dict-generator
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.analysis.roads.DictionaryGenerator \
$*
2 changes: 1 addition & 1 deletion bin/dict-maker
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.analysis.roads.DictionaryCreator \
$*
2 changes: 1 addition & 1 deletion bin/dict-merger
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.analysis.roads.DictionaryMerger \
$*
2 changes: 1 addition & 1 deletion bin/dict-validator
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.analysis.roads.DictionaryValidator \
$*
2 changes: 1 addition & 1 deletion bin/evio-viewer
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

. `dirname $0`/../libexec/env.sh

java -cp "$CLAS12DIR/lib/clas/*" org.jlab.coda.eventViewer.EventTreeFrame $*
java -cp ${COATJAVA_CLASSPATH:-''} org.jlab.coda.eventViewer.EventTreeFrame $*
2 changes: 1 addition & 1 deletion bin/evio2hipo
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.clas.reco.io.EvioHipoEvent4 \
$*
2 changes: 1 addition & 1 deletion bin/eviocure
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.io.utils.EvioCure $*
2 changes: 1 addition & 1 deletion bin/eviodump
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
. `dirname $0`/../libexec/env.sh

java -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.io.utils.DataSourceDump \
$*
2 changes: 1 addition & 1 deletion bin/hipo-browser
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
. `dirname $0`/../libexec/env.sh

java -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.groot.ui.TBrowser \
$*
2 changes: 1 addition & 1 deletion bin/hipo-diff
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx1536m -Xms1024m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.utils.HipoDiff \
$*
2 changes: 1 addition & 1 deletion bin/hipo-json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
. `dirname $0`/../libexec/env.sh

java -Xms1024m \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.utils.JsonUtils \
$*
2 changes: 1 addition & 1 deletion bin/hipo-merge-histograms
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

split_cli $@

cmd="java -Xms1024m ${jvm_options[@]} -cp $CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/* org.jlab.groot.data.TDirectory"
cmd="java -Xms1024m ${jvm_options[@]} -cp ${COATJAVA_CLASSPATH:-''} org.jlab.groot.data.TDirectory"

if [ $# -eq 0 ]; then
echo """
Expand Down
2 changes: 1 addition & 1 deletion bin/hipo-utils
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ split_cli $@
export MALLOC_ARENA_MAX=1

java -Xmx2048m -Xms1024m -XX:+UseSerialGC ${jvm_options[@]} \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/plugins/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.jnp.hipo4.utils.HipoUtilities \
${class_options[@]}

2 changes: 1 addition & 1 deletion bin/postprocess
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx768m -Xms768m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.analysis.postprocess.Tag1ToEvent \
$*
2 changes: 1 addition & 1 deletion bin/rebuild-scalers
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
export MALLOC_ARENA_MAX=1

java -Xmx768m -Xms768m -XX:+UseSerialGC \
-cp "$CLAS12DIR/lib/clas/*:$CLAS12DIR/lib/services/*:$CLAS12DIR/lib/utils/*" \
-cp ${COATJAVA_CLASSPATH:-''} \
org.jlab.analysis.postprocess.RebuildScalers \
$*
Loading