enhancement
major
minor
defect
critical
major
minor
In TL8 Alpha12 werden in Eclipse neue Compile-Fehler angezeigt:
1. Java-Project-Facet-Version:
Java compiler level does not match the version of the installed Java project facet.
In der Datei "/.settings/org.eclipse.wst.common.project.facet.core.xml" eines jeden Moduls gibt es den Eintrag <installed facet="java" version="17"/>. Die Version muss gemäß den neuen Anforderungen von TL auf 21 geändert werden.
2. Referenzen auf feste Versionen in der Factorypath:
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 der Datei .factorypath mancher Module (z.B. tl-chat und tl-chat-classic) werden JARs in festen (und veralteten) Versionen referenziert (hier z.B. tl-build-processor-8.0.0-alpha3-jar-with-dependencies.jar). Diese Referenzen müssen aktualisiert und idealerweise versionsneutral eingebunden werden, wie z.B. in der .factorypath im TL-Modul selbst.
Lösung
- Java-Facet: In allen Modulen steht im Java-Facet nun die Version 21.
- Compiler-Einstellungen der GWT-Module: Mit #29905 wurde in den Eclipse-Einstellungen (org.eclipse.jdt.core.prefs) der GWT-Module nur die Zielversion auf 21 gesetzt, die Compliance blieb bei 17 bzw. 1.8 - eine Zielversion über der Compliance ist widersprüchlich. Die Module 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 und tl-parent-gwt erhalten Compliance 21, Quellversion 17 und Zielversion 21 (release ausgeschaltet), wie tl-parent-gwt im Maven-Build und nach dem Muster der GWT-shared-Module tl-basic-shared und tl-common-remote (Compliance 21, Quellversion 1.8). Bei com.top_logic.graphic.blocks.client stand die Quellversion bisher auf 1.8.
- Factorypath: Die Module 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 und tl-factory-app binden den Annotation-Prozessor wie alle anderen Engine-Module versionsneutral über das Workspace-Jar /tl-build_processor/type-indexer.jar ein (statt tl-build-processor 7.9.7 bzw. 8.0.0-alpha3 aus dem Maven-Repository). Das Jar enthält alle Abhängigkeiten des Prozessors (tl-xref, tl-common-json, tl-basic-shared).
- Die versehentlich eingecheckte Kopie der Eclipse-Projektdateien unter tl-ai-vector-index/bin/ ist entfernt.
- Die Bauanleitung tl-build_processor/BUILDING.md nennt den Jar-Namen versionsneutral.