From 079bb5c0928d78560ddbc70601f1306175eb604b Mon Sep 17 00:00:00 2001
From: Jon Zarling
Date: Wed, 9 Jul 2025 13:39:25 -0500
Subject: [PATCH 1/2] Migrate javadoc generation to Maven plugin, fix comments
that were generating errors.
---
README.md | 6 +-
pom.xml | 11 +-
.../org/jlab/coda/jevio/CompositeData.java | 2 +-
.../java/org/jlab/coda/jevio/Utilities.java | 123 ++++++++++--------
4 files changed, 80 insertions(+), 62 deletions(-)
diff --git a/README.md b/README.md
index c7bdb78be..375fe2c80 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,8 @@ It was created by the Data Acquisition (DAQ) group and is maintained by the
Experimental Physics Software and Computing Infrastructure (EPSCI) group at Thomas
Jefferson National Accelerator Facility (JLab).
-This software repository allows one to read & write evio format data, within
-either a C/C++ or Java programming environment.
+This software repository allows one to read & write `.evio` and `.ev` format data,
+within either a C/C++ or Java programming environment.
# **Getting Started**
@@ -76,7 +76,7 @@ Software Library Documentation:
* [Doxygen for C++ Libary](https://jeffersonlab.github.io/evio/doc-6.0/doxygen/CC/html/index.html)
Other Links:
-* [EVIO Event Viewer on GitHub](https://github.com/JeffersonLab/JEventViewer)
+* [EVIO Event Viewer on GitHub](https://github.com/JeffersonLab/JEventViewer)
The EVIO-6 data format is closely related to the HIPO data format, following the same data
diff --git a/pom.xml b/pom.xml
index f8956ceb2..fab9020fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,7 +110,6 @@
maven-assembly-plugin3.6.0
-
@@ -160,6 +159,16 @@
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.6.2
+
+ ${java.version}
+ ${java.version}
+ doc/javadoc
+
+
diff --git a/src/main/java/org/jlab/coda/jevio/CompositeData.java b/src/main/java/org/jlab/coda/jevio/CompositeData.java
index 92696cf8d..ac3e7089d 100644
--- a/src/main/java/org/jlab/coda/jevio/CompositeData.java
+++ b/src/main/java/org/jlab/coda/jevio/CompositeData.java
@@ -1389,7 +1389,7 @@ public String[] getStrings() {
/**
* This method transforms a composite, format-containing
* ASCII string to an int array. It is to be used in
- * conjunction with {@link #swapData(ByteBuffer, ByteBuffer, int, List)}
+ * conjunction with {@link #swapData(ByteBuffer, ByteBuffer, int, int, List)}
* to swap the endianness of composite data.
* It's translated from the eviofmt C function.
*
diff --git a/src/main/java/org/jlab/coda/jevio/Utilities.java b/src/main/java/org/jlab/coda/jevio/Utilities.java
index c2cf4a097..432538f1a 100644
--- a/src/main/java/org/jlab/coda/jevio/Utilities.java
+++ b/src/main/java/org/jlab/coda/jevio/Utilities.java
@@ -223,66 +223,75 @@ static public int generateBaseFileName(String baseName, String runType,
* If evio data is to be split up into multiple files (split > 0), numbers are used to
* distinguish between the split files with splitNumber.
*
- *
The given fileName may contain uyp to 3, C-style int format specifiers which will be substituted
+ *
The given fileName may contain up to 3, C-style int format specifiers which will be substituted
* with runNumber, splitNumber and streamId in the manner described below.
*
*
- *
If file is to be split:
- *
- *
If no specifiers:
- *
- *
for one stream, splitNumber is tacked onto the end of the file name as .<splitNumber>
- *
for multiple streams, streamId and splitNumber are tacked onto the end of the file name
- * as .<streamId>.<splitNumber>
- *
No run numbers are ever tacked on without a specifier
- *
- *
If 1 specifier:
- *
- *
add runNumber according to specifier
- *
for one stream, splitNumber is tacked onto the end of the file name as .<splitNumber>
- *
for multiple streams, streamId and splitNumber are tacked onto the end of the file name
- * as .<streamId>.<splitNumber>
- *
- *
If 2 specifiers:
- *
- *
add runNumber according to first specifier
- *
for one stream, add splitNumber according to second specifier
- *
for multiple streams, add splitNumber according to second specifier, but place
- * <streamId>. just before the splitNumber
- *
- *
If 3 specifiers:
- *
- *
add runNumber according to first specifier
- *
add streamId according to second specifier add splitNumber according to third specifier
- *
- *
- *
- *
If file is NOT split:
- *
- *
If no specifiers:
- *
- *
streamId is tacked onto the end of the file name as .<streamId>
- *
No run numbers are ever tacked on without a specifier.
- *
- *
If 1 specifier:
- *
- *
add runNumber according to specifier
- *
for multiple streams, streamId is tacked onto the end of the file name as ..<streamId>
- *
- *
If 2 specifiers:
- *
- *
add runNumber according to first specifier
- *
remove second specifier
- *
for multiple streams, streamId is tacked onto the end of the file name as .<streamId>
- *
- *
If 3 specifiers:
- *
- *
add runNumber according to first specifier
- *
add streamId according to second specifier
- *
remove third specifier
- *
- *
- *
+ *
If file is to be split:
+ *
+ *
If no specifiers:
+ *
+ *
for one stream, splitNumber is tacked onto the end of the file name as .<splitNumber>
+ *
for multiple streams, streamId and splitNumber are tacked onto the end of the file name
+ * as .<streamId>.<splitNumber>
+ *
No run numbers are ever tacked on without a specifier
+ *
+ *
+ *
If 1 specifier:
+ *
+ *
add runNumber according to specifier
+ *
for one stream, splitNumber is tacked onto the end of the file name as .<splitNumber>
+ *
for multiple streams, streamId and splitNumber are tacked onto the end of the file name
+ * as .<streamId>.<splitNumber>
+ *
+ *
+ *
If 2 specifiers:
+ *
+ *
add runNumber according to first specifier
+ *
for one stream, add splitNumber according to second specifier
+ *
for multiple streams, add splitNumber according to second specifier, but place
+ * <streamId>. just before the splitNumber
+ *
+ *
+ *
If 3 specifiers:
+ *
+ *
add runNumber according to first specifier
+ *
add streamId according to second specifier add splitNumber according to third specifier
+ *
+ *
+ *
+ *
+ *
If file is NOT split:
+ *
+ *
If no specifiers:
+ *
+ *
streamId is tacked onto the end of the file name as .<streamId>
+ *
No run numbers are ever tacked on without a specifier.
+ *
+ *
+ *
If 1 specifier:
+ *
+ *
add runNumber according to specifier
+ *
for multiple streams, streamId is tacked onto the end of the file name as .<streamId>
+ *
+ *
+ *
If 2 specifiers:
+ *
+ *
add runNumber according to first specifier
+ *
remove second specifier
+ *
for multiple streams, streamId is tacked onto the end of the file name as .<streamId>
+ *
+ *
+ *
If 3 specifiers:
+ *
+ *
add runNumber according to first specifier
+ *
add streamId according to second specifier
+ *
remove third specifier
+ *
+ *
+ *
+ *
+ *
*
* If there are more than 3 specifiers, NO SUBSTITUTIONS ARE DONE on the extra specifiers.
*
From 2eb9ff4a551d500e8d7fe20e19923e6d42ca1ad4 Mon Sep 17 00:00:00 2001
From: Jon Zarling
Date: Wed, 9 Jul 2025 14:04:35 -0500
Subject: [PATCH 2/2] Doc generation calls mvn command instead of ant now
---
.github/workflows/doc_generation-6.0.yml | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/doc_generation-6.0.yml b/.github/workflows/doc_generation-6.0.yml
index cdaaa579c..fcf13f097 100644
--- a/.github/workflows/doc_generation-6.0.yml
+++ b/.github/workflows/doc_generation-6.0.yml
@@ -29,15 +29,19 @@ jobs:
working-directory: '.'
doxyfile-path: 'doc/doxygen/DoxyfileCC'
+ - name: Install Maven
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y maven
+
# generate the javadoc files
- - name: Set up JDK 8
+ - name: Set up JDK 17
uses: actions/setup-java@v2
with:
- java-version: '8'
- distribution: 'adopt'
-
+ java-version: '17'
+ distribution: 'temurin'
- name: Javadoc Action
- run: ant -noinput -buildfile build.xml javadoc
+ run: mvn javadoc:javadoc
# clean up the javadoc files including removing timestamps. OPTIONAL.
- name: Tidy up the javadocs