Skip to content

Conversation

@shai-almog
Copy link
Collaborator

Motivation

  • Java 25's Javadoc no longer picks up legacy package.html files, so package-level documentation must be provided as package-info.java to be included in modern Javadoc output.
  • Preserve the existing package documentation and any leading license/header comments for many packages across the repository so API docs remain complete.
  • Cover the main code areas that ship Javadoc: core CodenameOne sources plus CodenameOneDesigner and the Ports/J2ME packages.

Description

  • Added generated package-info.java files (64 files created) under CodenameOne/src, CodenameOneDesigner/src and Ports/J2ME/src to replace/represent the prior package.html content.
  • The generator converts package.html content into a Javadoc-style /** ... */ comment block and, when present, preserves preamble HTML license comments as a /* ... */ block at the top of the file.
  • Each generated file ends with the appropriate package <pkg.name>; declaration inferred from the file path so the docs are attached to the correct package.

Testing

  • Executed a local generation script which produced 64 package-info.java files and verified the script completed successfully.
  • Spot-checked several generated files including CodenameOne/src/com/codename1/ui/package-info.java and CodenameOne/src/com/codename1/javascript/package-info.java to confirm the Javadoc block, preserved license header, and package declaration are present.
  • No unit tests or CI Javadoc build were run as part of this change; this is a documentation-source change intended to enable upstream Javadoc runs with Java 25.

Codex Task

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

✅ Continuous Quality Report

Test & Coverage

Static Analysis

Generated automatically by the PR CI workflow.

@shai-almog
Copy link
Collaborator Author

shai-almog commented Feb 2, 2026

Compared 30 screenshots: 30 matched.

Native Android coverage

  • 📊 Line coverage: 24.87% (2665/10717 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 24.48% (12367/50528), branch 15.37% (718/4672), complexity 17.57% (745/4241), method 33.08% (602/1820), class 34.98% (106/303)
    • Lowest covered classes
      • com.codename1.impl.android.com.codename1.impl.android.AndroidContactsManager – 0.00% (0/400 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidImplementation$Video – 0.00% (0/168 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.IntentIntegrator – 0.00% (0/139 lines covered)
      • com.codename1.impl.android.util.com.codename1.impl.android.util.Base64 – 0.00% (0/117 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidImplementation$SocketImpl – 0.00% (0/77 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidTextureView – 0.00% (0/76 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidSurfaceView – 0.00% (0/73 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.LocalNotificationPublisher – 0.00% (0/65 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.FridaDetectionUtil – 0.00% (0/64 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.PushNotificationService – 0.00% (0/59 lines covered)

✅ Native Android screenshot tests passed.

Native Android coverage

  • 📊 Line coverage: 24.87% (2665/10717 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 24.48% (12367/50528), branch 15.37% (718/4672), complexity 17.57% (745/4241), method 33.08% (602/1820), class 34.98% (106/303)
    • Lowest covered classes
      • com.codename1.impl.android.com.codename1.impl.android.AndroidContactsManager – 0.00% (0/400 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidImplementation$Video – 0.00% (0/168 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.IntentIntegrator – 0.00% (0/139 lines covered)
      • com.codename1.impl.android.util.com.codename1.impl.android.util.Base64 – 0.00% (0/117 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidImplementation$SocketImpl – 0.00% (0/77 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidTextureView – 0.00% (0/76 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidSurfaceView – 0.00% (0/73 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.LocalNotificationPublisher – 0.00% (0/65 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.FridaDetectionUtil – 0.00% (0/64 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.PushNotificationService – 0.00% (0/59 lines covered)

@shai-almog
Copy link
Collaborator Author

shai-almog commented Feb 2, 2026

iOS screenshot updates

Compared 28 screenshots: 17 matched, 6 updated, 1 missing reference, 4 errors.

  • BrowserComponent — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    BrowserComponent
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as BrowserComponent.png in workflow artifacts.

  • graphics-draw-arc — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    graphics-draw-arc
    Preview info: JPEG preview quality 20; JPEG preview quality 20; downscaled to 603x1311.
    Full-resolution PNG saved as graphics-draw-arc.png in workflow artifacts.

  • graphics-draw-gradient — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    graphics-draw-gradient
    Preview info: JPEG preview quality 10; JPEG preview quality 10; downscaled to 844x1835.
    Full-resolution PNG saved as graphics-draw-gradient.png in workflow artifacts.

  • graphics-draw-round-rect — missing reference. Reference screenshot missing at /Users/runner/work/CodenameOne/CodenameOne/scripts/ios/screenshots/graphics-draw-round-rect.png.

    graphics-draw-round-rect
    Preview info: JPEG preview quality 10; JPEG preview quality 10; downscaled to 844x1835.
    Full-resolution PNG saved as graphics-draw-round-rect.png in workflow artifacts.

  • graphics-draw-string — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    graphics-draw-string
    Preview info: JPEG preview quality 10; JPEG preview quality 10; downscaled to 422x918.
    Full-resolution PNG saved as graphics-draw-string.png in workflow artifacts.

  • graphics-draw-string-decorated — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    graphics-draw-string-decorated
    Preview info: JPEG preview quality 10; JPEG preview quality 10; downscaled to 603x1311.
    Full-resolution PNG saved as graphics-draw-string-decorated.png in workflow artifacts.

  • graphics-tile-image — comparison error. Comparison error: PNG chunk truncated before CRC while processing: /Users/runner/work/_temp/cn1-ios-tests-b7Vet6/graphics-tile-image.png

    No preview available for this screenshot.
    Full-resolution PNG saved as graphics-tile-image.png in workflow artifacts.

  • graphics-transform-perspective — comparison error. Comparison error: PNG chunk truncated before CRC while processing: /Users/runner/work/_temp/cn1-ios-tests-b7Vet6/graphics-transform-perspective.png

    No preview available for this screenshot.
    Full-resolution PNG saved as graphics-transform-perspective.png in workflow artifacts.

  • graphics-transform-rotation — comparison error. Comparison error: PNG chunk truncated before CRC while processing: /Users/runner/work/_temp/cn1-ios-tests-b7Vet6/graphics-transform-rotation.png

    No preview available for this screenshot.
    Full-resolution PNG saved as graphics-transform-rotation.png in workflow artifacts.

  • graphics-transform-translation — comparison error. Comparison error: PNG chunk truncated before CRC while processing: /Users/runner/work/_temp/cn1-ios-tests-b7Vet6/graphics-transform-translation.png

    No preview available for this screenshot.
    Full-resolution PNG saved as graphics-transform-translation.png in workflow artifacts.

  • kotlin — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    kotlin
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as kotlin.png in workflow artifacts.

Benchmark Results

  • VM Translation Time: 405 seconds
  • Compilation Time: 457 seconds

Detailed Performance Metrics

Metric Duration
Build Time Statistics
Setup & Unzip 40132 ms
Extract Extensions 14 ms
Google Services Setup 2 ms
Scan Classes 685 ms
Extract Libs 1510 ms
Inject Build Hints 49 ms
Generate Unit Tests 3 ms
Generate Stubs 1351 ms
Compile Stubs 2558 ms
Generate Icons 1136 ms
Prepare ParparVM 196 ms
ParparVM Execution 232770 ms
Post-VM Setup 169 ms
CocoaPods 7275 ms
Finalize 96 ms
Total Time 287948 msMaven Overhead : 118000 ms
CocoaPods Install (Script) 2000 ms
Simulator Boot 284000 ms
Simulator Boot (Run) 4000 ms
App Install 22000 ms
App Launch 31000 ms
Test Execution 253000 ms

@shai-almog shai-almog merged commit feba682 into master Feb 3, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants