Skip to content

Remove UWP target and references; mark UWP as historical#4624

Merged
shai-almog merged 1 commit intomasterfrom
codex/remove-uwp-target-from-build-and-initializr
Mar 19, 2026
Merged

Remove UWP target and references; mark UWP as historical#4624
shai-almog merged 1 commit intomasterfrom
codex/remove-uwp-target-from-build-and-initializr

Conversation

@shai-almog
Copy link
Collaborator

Motivation

  • The UWP (Universal Windows Platform) target has been discontinued and retained only for historical reference, so documentation and build tooling should no longer advertise or try to produce UWP builds.
  • Remove stale build targets, scripts, and initializr artifacts that referenced the discontinued UWP target to avoid confusion and maintenance burden.

Description

  • Updated documentation across multiple guides and blog posts to add historical notes that the UWP target was discontinued in release 7.0.229 and removed UWP-specific instructions where appropriate.
  • Removed UWP build support from build tooling by deleting the BuildWindowsDeviceMojo, removing the windows-device Ant target and related entries in buildxml-template.xml, and eliminating win/uwp profiles and modules from initializr/pom templates.
  • Cleaned up CLI and initializr scripts and templates by removing windows_device/uwp commands, removing the initializr-win module and its C# native files, and updating maven/cli help/output to no longer list UWP build commands.
  • Adjusted the Maven plugin CN1BuildMojo to stop advertising windows-device in its codename1.buildTarget documentation and removed related IntelliJ workspace/runner entries and project templates that targeted the UWP/device build.

Testing

  • Ran a full project package build for the modified modules using mvn -DskipTests package to ensure updated pom/templates and plugin changes do not break packaging, and the build completed successfully.
  • Verified that generated initializr templates no longer include win/windows-device profiles and that the CLI help output and scripts no longer list the removed UWP build commands by running the local build.* script variants.

Codex Task

…mplates

### Motivation
- Remove the UWP (`windows-device`/`uwp`) build target from the Maven plugin, generated POM templates and helper scripts so generated projects and IDE shortcuts no longer advertise or attempt UWP builds.
- Remove IDE/run-configuration shortcuts and CLI wrapper commands that referenced UWP so tooling/documentation matches supported targets.
- Prevent the initializr `win` module from defaulting to a UWP build target so new projects do not try to submit UWP builds by default.

### Description
- Deleted the UWP build wrapper class and mojo (`maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/buildWrappers/BuildWindowsDeviceMojo.java`).
- Removed the `windows-device` Ant target from the plugin template (`maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/buildxml-template.xml`) and removed `windows-device/uwp` entries from the IntelliJ `workspace.xml` template (`maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/intellij/workspace.xml`).
- Removed `uwp`/`windows-device` profiles and mentions from initializr templates and generated POM fragments (`scripts/initializr/common/pom.xml` and the `common/src/main/resources/*-pom.xml` templates) so starter POMs no longer include a UWP profile.
- Updated initializr helper scripts to drop `windows_device`/`uwp` commands from the Bash/Batch wrappers (`scripts/initializr/build.sh`, `scripts/initializr/build.bat`) and removed the UWP command/mentions from the CLI wrapper source and docs (`maven/cli/src/main/batsh/build.batsh`, `maven/cli/README.adoc`).
- Changed the `initializr-win` module default build target to `none` (`scripts/initializr/win/pom.xml`) so activating that module does not implicitly select a UWP build.
- Adjusted the CN1 build mojo documentation/comment to reflect the removed target from the documented list of supported build targets (`maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/CN1BuildMojo.java`).

### Testing
- Ran a repository search to validate remaining references: `rg -n "UWP|uwp|windows-device|buildWindowsUWP" maven/codenameone-maven-plugin maven/cli scripts/initializr -g '!**/target/**'` and confirmed the targeted UWP entries in the changed modules were removed.
- Attempted to build the Maven plugin module with Java 8 disabled in this environment by running `mvn -f maven/pom.xml -pl codenameone-maven-plugin -am -DskipTests package`; the build started and progressed to module compilation in this environment (no plugin errors surfaced while packaging reached the plugin module stage).
- Attempted to build the initializr module with `mvn -f scripts/initializr/pom.xml -DskipTests package`, which failed in this environment due to an unrelated network issue while downloading `UpdateCodenameOne.jar` (`java.net.SocketException: Network is unreachable`), so the full module package step could not be completed here.
@github-actions
Copy link

Cloudflare Preview

@github-actions
Copy link

Developer Guide build artifacts are available for download from this workflow run:

Developer Guide quality checks:

  • AsciiDoc linter: 1 issue(s) flagged (1 errors) (exit code 1) (report)
  • Vale: 18492 alert(s) (2696 errors, 6314 warnings, 9482 suggestions) (exit code 1) (report)
  • Image references: 33 unused image(s) found (report)

Unused image preview:

  • img/uwp-app-manager-apps.png
  • img/uwp-certificate-generator.png
  • img/uwp-cn1settings-debug-desktop-selected.png
  • img/uwp-cn1settings-disk-icon.png
  • img/uwp-cn1settings-uwp.png
  • img/uwp-cn1settings-windows-settings-menu-item.png
  • img/uwp-dashboard-download-appxbundle.png
  • img/uwp-extract-zip-file.png
  • img/uwp-mobile-recently-added.png
  • img/uwp-mobile-settings-developer-mode.png
  • ... and 23 more

@github-actions
Copy link

✅ Continuous Quality Report

Test & Coverage

Static Analysis

Generated automatically by the PR CI workflow.

@shai-almog
Copy link
Collaborator Author

shai-almog commented Mar 19, 2026

Compared 32 screenshots: 32 matched.

Native Android coverage

  • 📊 Line coverage: 7.44% (3791/50950 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 5.84% (18718/320311), branch 2.79% (867/31131), complexity 3.49% (1039/29780), method 6.17% (856/13883), class 10.27% (189/1840)
    • Lowest covered classes
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysKt – 0.00% (0/6327 lines covered)
      • kotlin.collections.unsigned.kotlin.collections.unsigned.UArraysKt___UArraysKt – 0.00% (0/2384 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.ClassReader – 0.00% (0/1519 lines covered)
      • kotlin.collections.kotlin.collections.CollectionsKt___CollectionsKt – 0.00% (0/1148 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.MethodWriter – 0.00% (0/923 lines covered)
      • kotlin.sequences.kotlin.sequences.SequencesKt___SequencesKt – 0.00% (0/712 lines covered)
      • kotlin.text.kotlin.text.StringsKt___StringsKt – 0.00% (0/623 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.Frame – 0.00% (0/564 lines covered)
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysJvmKt – 0.00% (0/495 lines covered)
      • kotlinx.coroutines.kotlinx.coroutines.JobSupport – 0.00% (0/423 lines covered)

✅ Native Android screenshot tests passed.

Native Android coverage

  • 📊 Line coverage: 7.44% (3791/50950 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 5.84% (18718/320311), branch 2.79% (867/31131), complexity 3.49% (1039/29780), method 6.17% (856/13883), class 10.27% (189/1840)
    • Lowest covered classes
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysKt – 0.00% (0/6327 lines covered)
      • kotlin.collections.unsigned.kotlin.collections.unsigned.UArraysKt___UArraysKt – 0.00% (0/2384 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.ClassReader – 0.00% (0/1519 lines covered)
      • kotlin.collections.kotlin.collections.CollectionsKt___CollectionsKt – 0.00% (0/1148 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.MethodWriter – 0.00% (0/923 lines covered)
      • kotlin.sequences.kotlin.sequences.SequencesKt___SequencesKt – 0.00% (0/712 lines covered)
      • kotlin.text.kotlin.text.StringsKt___StringsKt – 0.00% (0/623 lines covered)
      • org.jacoco.agent.rt.internal_b6258fc.asm.org.jacoco.agent.rt.internal_b6258fc.asm.Frame – 0.00% (0/564 lines covered)
      • kotlin.collections.kotlin.collections.ArraysKt___ArraysJvmKt – 0.00% (0/495 lines covered)
      • kotlinx.coroutines.kotlinx.coroutines.JobSupport – 0.00% (0/423 lines covered)

@shai-almog
Copy link
Collaborator Author

shai-almog commented Mar 19, 2026

iOS screenshot updates

Compared 32 screenshots: 30 matched, 2 updated.

  • BrowserComponent — updated screenshot. Screenshot differs (1179x2556 px, bit depth 8).

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

  • landscape — updated screenshot. Screenshot differs (2556x1179 px, bit depth 8).

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

Benchmark Results

  • VM Translation Time: 0 seconds
  • Compilation Time: 106 seconds

Detailed Performance Metrics

Metric Duration
Simulator Boot 1000 ms
Simulator Boot (Run) 0 ms
App Install 3000 ms
App Launch 3000 ms
Test Execution 165000 ms

@shai-almog shai-almog merged commit c7cb359 into master Mar 19, 2026
16 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.

1 participant