enhancement
major
minor
defect
critical
major
minor
In TL8 Alpha12, new compile errors are displayed in Eclipse:
1. Java Project Facet version:
The Java compiler level does not match the version of the installed Java project facet.
In the file "/.settings/org.eclipse.wst.common.project.facet.core.xml" for each module, there is the entry <installed facet="java" version="17"/>. The version must be changed to 21 to meet the new TL requirements.
2. References to fixed versions in the factory path:
Unable to load annotation processor factory 'M2_REPO/com/top-logic/tl-basic-shared/8.0.0-alpha3/tl-basic-shared-8.0.0-alpha3.jar' for project tl-chat
In the .factorypath file of some modules (e.g., tl-chat and tl-chat-classic), JARs are referenced by fixed (and outdated) versions (here, for example, tl-build-processor-8.0.0-alpha3-jar-with-dependencies.jar). These references must be updated and, ideally, included in a version-neutral manner, as is done, for example, in the .factorypath file within the TL module itself.
Solution
- Java Facet: Version 21 is now set in the Java Facet for all modules.
- GWT Module Compiler Settings: With #29905, only the target version in the Eclipse settings (org.eclipse.jdt.core.prefs) for the GWT modules was set to 21; the compliance version remained at 17 or 1.8—a target version higher than the compliance version is a contradiction. The modules com.top_logic.ajax.client, com.top_logic.client.diagramjs, com.top_logic.graph.diagramjs.client, com.top_logic.react.flow.client, com.top_logic.graphic.blocks.client, and tl-parent-gwt are assigned compliance version 21, source version 17, and target version 21 (release disabled), just like tl-parent-gwt in the Maven build and following the pattern of the GWT shared modules tl-basic-shared and tl-common-remote (Compliance 21, source version 1.8). For com.top_logic.graphic.blocks.client, the source version was previously set to 1.8.
- Factorypath: The modules tl-ai-core, tl-ai-demo, tl-ai-mcp-server, tl-ai-tool-api, tl-ai-vector-index, tl-chat, tl-chat-classic, tl-factory, and tl-factory-app all depend on the annotation processor—just like all other engine modules—in a version-neutral manner via the workspace JAR /tl-build_processor/type-indexer.jar (instead of tl-build-processor 7.9.7 or 8.0.0-alpha3 from the Maven repository). The JAR contains all of the processor’s dependencies (tl-xref, tl-common-json, tl-basic-shared).
- The copy of the Eclipse project files that was accidentally checked in under tl-ai-vector-index/bin/ has been removed.
- The build instructions in tl-build_processor/BUILDING.md refer to the JAR name without specifying a version.