@ctxo/cli 0.11.4 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -104,13 +104,13 @@ gate:
104
104
  | TypeScript / JavaScript | `@ctxo/lang-typescript` | full | ts-morph; type-aware cross-file resolution |
105
105
  | Go | `@ctxo/lang-go` | syntax | tree-sitter; exported-symbol analysis |
106
106
  | C# | `@ctxo/lang-csharp` | full | Roslyn; .NET SDK 8+ for full tier, tree-sitter fallback |
107
- | Java | `@ctxo/lang-java` | syntax / full | tree-sitter syntax tier built-in; full tier via `@ctxo/lang-java-analyzer` companion (requires JRE 17+) |
107
+ | Java | `@ctxo/lang-java` | syntax / full | tree-sitter syntax tier built-in; full tier via `@ctxo/lang-java-analyzer` companion (JRE 11+ required, covers Java 8-21); detected by `pom.xml` / `build.gradle` |
108
108
 
109
109
  Install via the CLI shortcut:
110
110
 
111
111
  ```bash
112
112
  ctxo install typescript go csharp # syntax or full tier auto-detected
113
- ctxo install java # installs syntax tier; adds full-tier analyzer when JRE 17+ detected
113
+ ctxo install java # installs syntax tier; adds full-tier analyzer when JRE 11+ detected
114
114
  ctxo install java --full-tier # force full-tier analyzer install
115
115
  ctxo install java --syntax-only # skip analyzer, syntax tier only
116
116
  ```
@@ -608,7 +608,7 @@ function detectJavaMajor() {
608
608
  return major;
609
609
  }
610
610
  function javaRuntimeAvailable() {
611
- return (detectJavaMajor() ?? 0) >= 17;
611
+ return (detectJavaMajor() ?? 0) >= 11;
612
612
  }
613
613
 
614
614
  // src/cli/install-command.ts
@@ -672,7 +672,7 @@ var InstallCommand = class {
672
672
  }
673
673
  const jreAvailable = resolvedLangs.includes("java") ? javaRuntimeAvailable() : false;
674
674
  if (resolvedLangs.includes("java") && !jreAvailable && !options.fullTier && !options.syntaxOnly) {
675
- console.error('[ctxo] JRE 17+ not found; installing Java syntax tier. Install a JRE then run "ctxo install java --full-tier" for resolved call/use edges.');
675
+ console.error('[ctxo] JRE 11+ not found; installing Java syntax tier. Install a JRE (11\u201316 or 17+) then run "ctxo install java --full-tier" for resolved call/use edges.');
676
676
  }
677
677
  let specifiers;
678
678
  try {
@@ -1398,7 +1398,7 @@ var IndexCommand = class {
1398
1398
  if (tsCount > 0) console.error(`[ctxo] TypeScript/JS: ${tsCount} files (full tier)`);
1399
1399
  if (csCount > 0) console.error(`[ctxo] C#: ${csCount} files (${csharpTier} tier${csharpTier === "syntax" ? " - .NET SDK 8+ for full analysis" : ""})`);
1400
1400
  if (goCount > 0) console.error(`[ctxo] Go: ${goCount} files (${goTier} tier${goTier === "syntax" ? " - Go 1.22+ for full analysis" : ""})`);
1401
- if (javaCount > 0) console.error(`[ctxo] Java: ${javaCount} files (${javaTier} tier${javaTier === "syntax" ? ' - JRE 17+ & "ctxo install java --full-tier" for full analysis' : ""})`);
1401
+ if (javaCount > 0) console.error(`[ctxo] Java: ${javaCount} files (${javaTier} tier${javaTier === "syntax" ? ' - JRE 11+ & "ctxo install java --full-tier" for full analysis' : ""})`);
1402
1402
  if (roslynAdapter) await roslynAdapter.dispose();
1403
1403
  }
1404
1404
  async autoInstallMissingPlugins() {
@@ -3313,9 +3313,10 @@ function evaluateJavaTier(i) {
3313
3313
  if (!i.hasJava) {
3314
3314
  return { id, title, status: "pass", message: "no Java sources detected" };
3315
3315
  }
3316
- const jreOk = (i.jreMajor ?? 0) >= 17;
3316
+ const jreOk = (i.jreMajor ?? 0) >= 11;
3317
+ const jarVariant = (i.jreMajor ?? 0) >= 17 ? "java17" : "java11";
3317
3318
  if (jreOk && i.analyzerInstalled) {
3318
- return { id, title, status: "pass", message: `full tier (JRE ${i.jreMajor}, analyzer installed)` };
3319
+ return { id, title, status: "pass", message: `full tier (JRE ${i.jreMajor}, ${jarVariant} analyzer installed)` };
3319
3320
  }
3320
3321
  if (jreOk && !i.analyzerInstalled) {
3321
3322
  return {
@@ -3331,22 +3332,22 @@ function evaluateJavaTier(i) {
3331
3332
  id,
3332
3333
  title,
3333
3334
  status: "warn",
3334
- message: "syntax tier (analyzer installed but no JRE 17+)",
3335
- fix: "Install a JRE 17+ and ensure it is on PATH (or set JAVA_HOME)"
3335
+ message: "syntax tier (analyzer installed but no JRE 11+)",
3336
+ fix: "Install a JRE 11+ and ensure it is on PATH (or set JAVA_HOME)"
3336
3337
  };
3337
3338
  }
3338
3339
  return {
3339
3340
  id,
3340
3341
  title,
3341
3342
  status: "pass",
3342
- message: 'syntax tier (install JRE 17+ and run "ctxo install java --full-tier" for full tier)'
3343
+ message: 'syntax tier (install JRE 11+ and run "ctxo install java --full-tier" for full tier)'
3343
3344
  };
3344
3345
  }
3345
3346
  function analyzerJarPresent() {
3346
3347
  try {
3347
3348
  const pkgJson = require4.resolve("@ctxo/lang-java-analyzer/package.json");
3348
- const jarPath = join17(dirname7(pkgJson), "jar", "ctxo-jdt-analyzer.jar");
3349
- return existsSync15(jarPath);
3349
+ const jarDir = join17(dirname7(pkgJson), "jar");
3350
+ return existsSync15(join17(jarDir, "ctxo-jdt-analyzer-11.jar")) || existsSync15(join17(jarDir, "ctxo-jdt-analyzer-17.jar"));
3350
3351
  } catch {
3351
3352
  return false;
3352
3353
  }
@@ -3928,7 +3929,7 @@ var DoctorCommand = class {
3928
3929
  this.ctxoRoot = join24(projectRoot, ".ctxo");
3929
3930
  }
3930
3931
  async run(options = {}) {
3931
- const { getVersion: getVersion2 } = await import("./cli-router-T6OCTM43.js");
3932
+ const { getVersion: getVersion2 } = await import("./cli-router-LO2SWFC4.js");
3932
3933
  console.error(`ctxo v${getVersion2()} \u2014 health check
3933
3934
  `);
3934
3935
  const checks = [
@@ -5160,4 +5161,4 @@ export {
5160
5161
  getVersion,
5161
5162
  locateGitRoot
5162
5163
  };
5163
- //# sourceMappingURL=cli-router-T6OCTM43.js.map
5164
+ //# sourceMappingURL=cli-router-LO2SWFC4.js.map