diff --git a/maven/cn1app-archetype/src/main/resources/archetype-resources/common/pom.xml b/maven/cn1app-archetype/src/main/resources/archetype-resources/common/pom.xml index f6c1c3bd14..2647198ae9 100644 --- a/maven/cn1app-archetype/src/main/resources/archetype-resources/common/pom.xml +++ b/maven/cn1app-archetype/src/main/resources/archetype-resources/common/pom.xml @@ -382,7 +382,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css diff --git a/scripts/cn1playground/common/src/main/resources/barebones-pom.xml b/scripts/cn1playground/common/src/main/resources/barebones-pom.xml index 45b112c92d..9db90693d6 100644 --- a/scripts/cn1playground/common/src/main/resources/barebones-pom.xml +++ b/scripts/cn1playground/common/src/main/resources/barebones-pom.xml @@ -350,7 +350,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css diff --git a/scripts/hellocodenameone/common/pom.xml b/scripts/hellocodenameone/common/pom.xml index a07cf852e9..ab7eda795f 100644 --- a/scripts/hellocodenameone/common/pom.xml +++ b/scripts/hellocodenameone/common/pom.xml @@ -357,7 +357,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css process-annotations diff --git a/scripts/initializr/common/pom.xml b/scripts/initializr/common/pom.xml index 4fde35c158..6a217c55cc 100644 --- a/scripts/initializr/common/pom.xml +++ b/scripts/initializr/common/pom.xml @@ -366,7 +366,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css diff --git a/scripts/initializr/common/src/main/resources/barebones-pom.xml b/scripts/initializr/common/src/main/resources/barebones-pom.xml index 5367184adb..00902d8594 100644 --- a/scripts/initializr/common/src/main/resources/barebones-pom.xml +++ b/scripts/initializr/common/src/main/resources/barebones-pom.xml @@ -354,7 +354,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css diff --git a/scripts/initializr/common/src/main/resources/grub-pom.xml b/scripts/initializr/common/src/main/resources/grub-pom.xml index dabd70663a..bcbf61f9d1 100644 --- a/scripts/initializr/common/src/main/resources/grub-pom.xml +++ b/scripts/initializr/common/src/main/resources/grub-pom.xml @@ -357,7 +357,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css diff --git a/scripts/initializr/common/src/main/resources/kotlin-pom.xml b/scripts/initializr/common/src/main/resources/kotlin-pom.xml index ca92d3951f..51f4bbeef1 100644 --- a/scripts/initializr/common/src/main/resources/kotlin-pom.xml +++ b/scripts/initializr/common/src/main/resources/kotlin-pom.xml @@ -350,7 +350,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css diff --git a/scripts/initializr/common/src/main/resources/skill/SKILL.md b/scripts/initializr/common/src/main/resources/skill/SKILL.md index d6f730b088..081dc86f46 100644 --- a/scripts/initializr/common/src/main/resources/skill/SKILL.md +++ b/scripts/initializr/common/src/main/resources/skill/SKILL.md @@ -73,7 +73,7 @@ This project targets **Java 17** (`17` / `17` - `switch` expressions - Lambdas, method references, `Stream`s -**Caveat — the build server cross-compiles to bytecode that ParparVM/TeaVM can consume.** Codename One ships a curated subset of the JDK, **not** the full `java.*` namespace. The `cn1:compliance-check` Maven goal runs on every compile and fails the build if you call an unsupported API. The most common gotchas: +**Caveat — the build server cross-compiles to bytecode that ParparVM/TeaVM can consume.** Codename One ships a curated subset of the JDK, **not** the full `java.*` namespace. The `cn1:bytecode-compliance` Maven goal runs on every compile and fails the build if you call an unsupported API. The most common gotchas: - No `java.nio.file.*` — use `com.codename1.io.FileSystemStorage` and `Storage`. - No `java.net.http.*` / `java.net.URLConnection` — use `com.codename1.io.rest.Rest` (preferred) or `ConnectionRequest`. diff --git a/scripts/initializr/common/src/main/resources/skill/references/cn1libs.md b/scripts/initializr/common/src/main/resources/skill/references/cn1libs.md index 99d36e3f1e..745592283c 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/cn1libs.md +++ b/scripts/initializr/common/src/main/resources/skill/references/cn1libs.md @@ -44,7 +44,7 @@ Run `mvn -pl common compile` and the CN1 plugin scans `cn1libs/`, unpacks each f To verify a cn1lib is wired in correctly, run the bytecode compliance check — it scans all dependencies and will fail noisily if a class is missing: ```bash -mvn -pl common compile cn1:compliance-check +mvn -pl common compile cn1:bytecode-compliance ``` ## Creating a new cn1lib (Maven) diff --git a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md index 7077f98bcf..23656cf5f5 100644 --- a/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md +++ b/scripts/initializr/common/src/main/resources/skill/references/java-api-subset.md @@ -1,12 +1,12 @@ # Java API Subset, IO, and Networking -Codename One does **not** ship with the full JDK. The Java code you write in `common/` is cross-compiled by ParparVM (iOS) and TeaVM (web), and runs on Android against a hand-curated JDK subset. If you call a class or method that isn't in the subset, the cloud build fails the **compliance check** (`cn1:compliance-check`, which the `process-classes` phase runs automatically). +Codename One does **not** ship with the full JDK. The Java code you write in `common/` is cross-compiled by ParparVM (iOS) and TeaVM (web), and runs on Android against a hand-curated JDK subset. If you call a class or method that isn't in the subset, the cloud build fails the **bytecode compliance check** (`cn1:bytecode-compliance`, which the `process-classes` phase runs automatically). This document tells you (1) how to discover what *is* supported, and (2) where the IO and networking APIs differ from standard Java. ## How to discover the supported API -The supported API surface is defined by two artifacts that the Codename One Maven plugin resolves from Maven Central. The `compliance-check` goal compares your compiled bytecode against both jars and fails on anything not present. +The supported API surface is defined by two artifacts that the Codename One Maven plugin resolves from Maven Central. The `bytecode-compliance` goal compares your compiled bytecode against both jars and fails on anything not present. | Artifact | What's inside | | --- | --- | diff --git a/scripts/initializr/common/src/main/resources/skill/tools/README.md b/scripts/initializr/common/src/main/resources/skill/tools/README.md index 2dba7ca87d..1c3e3f491f 100644 --- a/scripts/initializr/common/src/main/resources/skill/tools/README.md +++ b/scripts/initializr/common/src/main/resources/skill/tools/README.md @@ -27,7 +27,7 @@ java tools/IsApiSupported.java java.util.HashMap#put # YES (class present at java-runtime-7.0.242.jar!java/util/HashMap.class — for method-level confirmation run `javap -p -classpath …` and grep for `put`) ``` -Useful when porting code from desktop Java and you want a quick "is this safe to use" check before discovering it at `mvn cn1:compliance-check` time. +Useful when porting code from desktop Java and you want a quick "is this safe to use" check before discovering it at `mvn cn1:bytecode-compliance` time. For the full picture of what's supported and what isn't, see `references/java-api-subset.md`. diff --git a/scripts/initializr/common/src/main/resources/tweet-pom.xml b/scripts/initializr/common/src/main/resources/tweet-pom.xml index bb6d73b787..cb8f999963 100644 --- a/scripts/initializr/common/src/main/resources/tweet-pom.xml +++ b/scripts/initializr/common/src/main/resources/tweet-pom.xml @@ -369,7 +369,7 @@ cn1-process-classes process-classes - compliance-check + bytecode-compliance css