Skip to content

Commit b3b84d6

Browse files
committed
chore(java): drop the codeanalyzer-java pip dep; track the bundled jar at 2.4.1
The Java analyzer jar is no longer a pip dependency — the SDK release workflow downloads the latest codeanalyzer-java jar (now v2.4.1) into the bundled jar/ dir. The earlier codeanalyzer-java==2.4.0 entry in [project.dependencies] was broken (2.4.x is not on PyPI; PyPI tops out at 2.3.7), so remove it and bump the [tool.backend-versions] marker to 2.4.1. v2.4.1 is now the latest release and fixes the field/import/call-graph projection gaps (#156/#157/#158), so a graph emitted by the bundled analyzer is a complete projection.
1 parent 13076a6 commit b3b84d6

3 files changed

Lines changed: 11 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7070
sample (145 classes): everything the graph actually contains reconstructs identically to
7171
`JCodeanalyzer` (97% of checks). Three projection gaps in the `codeanalyzer-java` 2.4.0 emitter
7272
(fields collapsing to one node, imports reduced to packages, a truncated call graph) are **fixed
73-
in 2.4.1** (codeanalyzer-java#156/#157/#158, verified by rebuilding the 2.4.1 jar — `J_CALLS` on
74-
daytrader went 287 → 1702); the SDK still pins 2.4.0, so they apply until 2.4.1 is released.
75-
`JavaAnalysis` / `CLDK.java(...)` accept a `Neo4jConnectionConfig` as the `backend=` config to
76-
select it.
77-
- Bumped `codeanalyzer-python` to `0.2.0` (adds the Neo4j graph emitter); bumped `codeanalyzer-java`
78-
to `2.4.0` (adds the Neo4j graph emitter).
73+
in 2.4.1** (codeanalyzer-java#156/#157/#158, verified on daytrader — `J_CALLS` went 287 → 1702),
74+
the version the SDK release now bundles. `JavaAnalysis` / `CLDK.java(...)` accept a
75+
`Neo4jConnectionConfig` as the `backend=` config to select it.
76+
- Bumped `codeanalyzer-python` to `0.2.0` (adds the Neo4j graph emitter); the bundled
77+
`codeanalyzer-java` jar is now `2.4.1` (adds the Neo4j graph emitter + the field/import/call-graph
78+
projection fixes). The Java analyzer jar is no longer a pip dependency — the SDK release workflow
79+
downloads the latest `codeanalyzer-java` jar into the bundled `jar/` directory.
7980
- Optional `neo4j` extra (`pip install cldk[neo4j]`) for the Neo4j Python driver.
8081

8182
### Fixed

cldk/analysis/java/neo4j/neo4j_backend.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444
in-memory ``JCodeanalyzer`` (verified on the daytrader8 sample — 97% of checks, the rest being the
4545
caveats below). The ``codeanalyzer-java`` **2.4.0** emitter had three projection gaps — fields all
4646
collapsing to one ``<fqn>#field#null`` node, imports reduced to ``:JPackage``, and ``J_CALLS``
47-
materializing only a fraction of the call graph. All three are **fixed in 2.4.1**
48-
(codeanalyzer-java#156/#157/#158); the SDK currently pins 2.4.0, so with the pinned emitter those
49-
gaps still apply until 2.4.1 is released.
47+
materializing only a fraction of the call graph — all **fixed in 2.4.1**
48+
(codeanalyzer-java#156/#157/#158), the version the SDK now bundles (its release workflow fetches the
49+
latest codeanalyzer-java jar). So a graph emitted by a current analyzer is a complete projection.
5050
5151
Inherent caveats (present even on a complete graph, NOT query-layer bugs):
5252

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ dependencies = [
4040
"tree-sitter-javascript==0.23.1",
4141
"clang==17.0.6",
4242
"libclang==17.0.6",
43-
"codeanalyzer-java==2.4.0",
4443
"codeanalyzer-python==0.2.0",
4544
"codeanalyzer-typescript==0.4.0",
4645
]
@@ -88,7 +87,7 @@ include = [
8887
]
8988

9089
[tool.backend-versions]
91-
codeanalyzer-java = "2.4.0"
90+
codeanalyzer-java = "2.4.1"
9291
codeanalyzer-python = "0.2.0"
9392
codeanalyzer-typescript = "0.4.0"
9493

0 commit comments

Comments
 (0)