This is an automated email from the ASF dual-hosted git repository.

Harbs pushed a commit to branch codegraph
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/codegraph by this push:
     new b3496973a feat(codegraph): Update CODEGRAPH_EXPORTER implementation 
plan with current status, completed integrations, and remaining release tasks
b3496973a is described below

commit b3496973a45e483b8193db857e55a09d78f3ebd2
Author: Harbs <[email protected]>
AuthorDate: Sat Aug 1 22:47:31 2026 +0300

    feat(codegraph): Update CODEGRAPH_EXPORTER implementation plan with current 
status, completed integrations, and remaining release tasks
---
 CODEGRAPH_EXPORTER_IMPLEMENTATION_PLAN.md | 58 ++++++++++++++++++++++---------
 1 file changed, 42 insertions(+), 16 deletions(-)

diff --git a/CODEGRAPH_EXPORTER_IMPLEMENTATION_PLAN.md 
b/CODEGRAPH_EXPORTER_IMPLEMENTATION_PLAN.md
index 1aba1c326..afccd6a80 100644
--- a/CODEGRAPH_EXPORTER_IMPLEMENTATION_PLAN.md
+++ b/CODEGRAPH_EXPORTER_IMPLEMENTATION_PLAN.md
@@ -308,6 +308,8 @@ Passing the existing suite is necessary but not sufficient: 
the new client must
 
 ## Current Implementation Status
 
+Status as of August 1, 2026: the compiler exporter, build-tool integration, 
SDK orchestration, and release packaging described by this plan are implemented 
and validated on the codegraph branches of `royale-compiler` and `royale-asjs`.
+
 Implemented and covered by focused compiler-backed tests:
 
 - Public classes, interfaces, implicit interface members, package definitions, 
and directly declared public members.
@@ -320,7 +322,22 @@ Implemented and covered by focused compiler-backed tests:
 - JS/SWF conditional selection, compiler error gating, two-run determinism, 
and an exact golden document.
 - A packaged Draft 2020-12 JSON Schema with validation of unit-built and 
compiler-backed graph documents.
 
-`@copy` targets remain structured, opaque tag values, matching Royale's 
existing parser and emitter semantics. Effective inherited-member views remain 
derivable from explicit base/interface edges. Aggregate build-tool integration 
remains deferred.
+`@copy` targets remain structured, opaque tag values, matching Royale's 
existing parser and emitter semantics. Effective inherited-member views remain 
derivable from explicit base/interface edges.
+
+Implemented and validated in `royale-asjs`:
+
+- Ant orchestration generates JS and SWF graphs for all 37 framework projects.
+- Maven orchestration generates the same 74 module/target shards with 
target-specific dependencies, namespaces, and compiler defines.
+- The deterministic aggregate contains 76 files: 74 shards, `index.json`, and 
`mxml.json`.
+- `index.json` records module coordinates, target dependencies, relative 
paths, symbol/class counts, and SHA-256 hashes.
+- `mxml.json` records target-specific namespace and manifest tag mappings.
+- Binary SDK ZIP/TAR archives and both existing npm packages carry the 
aggregate tree at `frameworks/codegraphs`.
+- Maven attaches 
`org.apache.royale.framework:distribution:zip:codegraphs:<version>` when the 
`codegraphs` profile is active.
+- `mvn verify -Pcodegraphs` unpacks the attached classifier and validates 
package membership, graph identity, counts, schema versions, and indexed 
SHA-256 hashes.
+- Resource-bundle metadata that is unavailable during export is preserved by 
name without hiding unrelated compiler errors.
+- Compiler and SDK RAT checks pass for tracked sources; generated or ignored 
third-party build output must remain outside release-source RAT inputs.
+
+The compiler test reactor passes 1,375 tests with zero failures and zero 
errors (one skipped). Full Ant and Maven framework generation both pass for 37 
modules and both targets.
 
 ### Schema Compatibility Policy
 
@@ -330,9 +347,9 @@ Implemented and covered by focused compiler-backed tests:
 - Writers emit one exact schema version. Consumers must reject unsupported 
major versions and may accept newer minor versions only when they tolerate 
unknown optional fields and enum values.
 - The schema, model version constant, writer output, and canonical golden 
document must change together and pass schema validation.
 
-## Suggested Pull Request Sequence
+## Implemented Pull Request Sequence
 
-### Slice 1: Semantic exporter MVP
+### Slice 1: Semantic exporter MVP (complete)
 
 - Graph model and deterministic JSON writer.
 - Compiler-backed collection of public types and directly declared members.
@@ -340,7 +357,7 @@ Implemented and covered by focused compiler-backed tests:
 - JS/SWF fixture tests. Implemented with opposite compiler define sets that 
verify target labels and active-member selection.
 - CLI entry point in `compiler-jx`.
 
-### Slice 2: Completeness
+### Slice 2: Completeness (complete)
 
 - Package-level definitions. Implemented with focused 
function/variable/constant coverage and a compiler-backed reachable 
package-function fixture.
 - External and unresolved symbol records. Implemented with explicit unresolved 
markers, origins, and compiler-problem coverage.
@@ -349,28 +366,28 @@ Implemented and covered by focused compiler-backed tests:
 - `@copy` is preserved as an opaque structured tag, matching Royale parser and 
emitter behavior.
 - JSON Schema and schema compatibility policy. Implemented with a packaged 
versioned schema and validator-backed tests.
 
-### Slice 3: Build-tool integration
+### Slice 3: Build-tool integration (complete)
 
 - `compile-codegraph` goal in `royale-maven-plugin`. Implemented with 
dedicated graph configs and separate JS/SWF outputs.
 - Ant/tool registration and SDK launcher scripts. Implemented with a 
`codegraph.jar` entry point and Unix/Windows launchers.
 - Target-specific dependency classifiers. Implemented to match 
`CompileASDocMojo` without invoking the ASDoc compiler.
 
-### Slice 4: `royale-asjs` integration
+### Slice 4: `royale-asjs` integration (complete)
 
-This work happens in the sibling repository:
+Implemented in the sibling repository:
 
-- Generate one graph per framework project and target.
-- Add module/Maven coordinates and dependency closure to an aggregate index.
-- Add MXML manifest URI/tag mappings.
-- Validate exports against released SWCs.
-- Package identical graph data into Maven classifiers, SDK downloads, and 
`@apache-royale/codegraphs` on npm.
-- Add release hashes and signatures.
+- Generate one graph per framework project and target. Implemented for 37 
projects and JS/SWF targets.
+- Add module/Maven coordinates and target-specific dependencies to an 
aggregate index. Implemented in `index.json`.
+- Add MXML manifest URI/tag mappings. Implemented in `mxml.json`.
+- Validate graph schema, declaration IDs, duplicate IDs, API references, 
deterministic bytes, package membership, and indexed hashes.
+- Package identical graph data into the Maven `codegraphs` classifier, SDK 
downloads, and the existing `@apache-royale/royale-js` and 
`@apache-royale/royale-js-swf` npm packages.
+- Add per-shard SHA-256 hashes. Artifact signing remains part of the normal 
Apache release process rather than a graph-specific implementation.
 
 ## Integration Contract With `royale-asjs`
 
 The compiler exporter should accept normal compiler configuration and produce 
one graph file. It should not need to know the Royale reactor, npm package 
layout, or release staging paths.
 
-`royale-asjs` will be responsible for supplying:
+`royale-asjs` supplies:
 
 - Project source paths and include classes.
 - JS or SWF dependency paths.
@@ -381,7 +398,7 @@ The compiler exporter should accept normal compiler 
configuration and produce on
 
 The graph format must allow `royale-asjs` to add module metadata without 
rewriting semantic symbol records.
 
-## First Session Checklist
+## Completed Initial Checklist
 
 1. Build `compiler-jx` unchanged and record the working test command.
 2. Run a normal SWC test configuration on a tiny fixture.
@@ -393,7 +410,7 @@ The graph format must allow `royale-asjs` to add module 
metadata without rewriti
 
 ## Definition of Done for the Compiler Phase
 
-The compiler phase is ready for `royale-asjs` integration when:
+The compiler phase is complete. The following criteria are satisfied:
 
 - A clean compiler checkout can invoke one documented command to generate a 
graph.
 - JS and SWF runs reflect their active conditional declarations.
@@ -404,6 +421,15 @@ The compiler phase is ready for `royale-asjs` integration 
when:
 - The `compiler-jx` test suite passes.
 - No application-specific or `royale-asjs` project list is hard-coded in the 
exporter.
 
+## Remaining Release Work
+
+The implementation is complete on the codegraph branches. After merge into 
`develop`:
+
+1. Enable `mvn verify -Pcodegraphs` in the appropriate CI/release job.
+2. Run a clean-checkout Ant and Maven release build.
+3. Inspect the final SDK, Maven classifier, and npm release artifacts for the 
identical 76-file aggregate.
+4. Confirm normal Apache release checksums, signatures, and RAT inputs on the 
final staged artifacts.
+
 ## Out of Scope for the First Compiler PR
 
 - Rendering HTML documentation.

Reply via email to