@@ -253,6 +253,13 @@ jobs:
253253 if : matrix.java-version == 8
254254 run : ant -noinput -buildfile CodenameOne/build.xml weeklyLibUpdate
255255
256+ - name : Set up Java 25 for JavaDocs
257+ if : matrix.java-version == 8
258+ uses : actions/setup-java@v4
259+ with :
260+ distribution : temurin
261+ java-version : ' 25'
262+
256263 - name : Build JavaDocs
257264 if : matrix.java-version == 8
258265 run : |
@@ -263,11 +270,40 @@ jobs:
263270 mkdir -p dist/javadoc
264271 # Skip JavaDocSourceEmbed due to gist access issues in CI
265272 cp -r src/* build/tempJavaSources/
266- find build/tempJavaSources ../Ports/CLDC11/src -name "*.java" | /usr/bin/grep -v /impl/ | /usr/bin/xargs javadoc --allow-script-in-comments -protected -d dist/javadoc -windowtitle "Codename One API" || true
273+ # Provide a minimal ImplementationFactory stub for Javadoc type resolution on JDK 25.
274+ cat > build/tempJavaSources/com/codename1/impl/ImplementationFactory.java <<'EOF'
275+ package com.codename1.impl;
276+
277+ public class ImplementationFactory {
278+ public static ImplementationFactory getInstance() {
279+ return null;
280+ }
281+
282+ public Object createImplementation() {
283+ return null;
284+ }
285+ }
286+ EOF
287+ # Suppress doclint noise on modern JDKs (e.g., Java 25) while keeping output consistent.
288+ # Exclude CLDC11 java.* stubs to avoid module conflicts on modern JDKs.
289+ find build/tempJavaSources ../Ports/CLDC11/src -name "*.java" -not -path "../Ports/CLDC11/src/java/*" | /usr/bin/xargs javadoc --allow-script-in-comments --release 8 -exclude com.codename1.impl -Xdoclint:none -quiet -protected -d dist/javadoc -windowtitle "Codename One API" || true
267290 cd dist/javadoc
268291 zip -r ../../javadocs.zip *
269292 cd ..
270293
294+ - name : Restore Java 8 after JavaDocs
295+ if : matrix.java-version == 8
296+ run : |
297+ echo "JAVA_HOME=${JAVA_HOME_8}" >> $GITHUB_ENV
298+ echo "${JAVA_HOME_8}/bin" >> $GITHUB_PATH
299+
300+ - name : Upload JavaDocs artifact
301+ if : matrix.java-version == 8
302+ uses : actions/upload-artifact@v4
303+ with :
304+ name : CodenameOne-javadocs
305+ path : CodenameOne/javadocs.zip
306+
271307 - name : Build iOS Port
272308 run : |
273309 ANT_OPTS_ARGS=""
@@ -339,4 +375,3 @@ jobs:
339375 name : JavaSE.jar
340376 path : Ports/JavaSE/dist/JavaSE.jar
341377
342-
0 commit comments