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-plugin 3.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