Phase 6: IDE-Exportanbindung abschließen und Change archivieren
This commit is contained in:
1 parent
25176947ba
commit
69f2002481
31 files changed
+1310
-136
No files matched your search
+34
-23
@@ -101,31 +101,42 @@ Externe Änderungen der Optionsdatei werden vor dem Ersetzen erkannt.
|
||||
|
||||
## Native Exporte: UI in Phase 5, Erzeugung in Phase 6
|
||||
|
||||
Run → Make EXE File… (Alt+R, E) und Make Library… (Alt+R, L) öffnen
|
||||
vollständig bedienbare Dialoge. Artefaktart ist das native eigenständige
|
||||
Executable bzw. die native Systembibliothek. Zielsystem (Linux/macOS/Windows)
|
||||
und Architektur (x86_64/aarch64) sind auswählbar; Vorgabe ist das laufende
|
||||
Zielsystem. Ausgabepfad und Überschreibentscheidung werden je Auftrag
|
||||
erfasst. Die Auswahl ist noch keine Zusage einer vom Backend unterstützten
|
||||
Kombination; die Phase-6-Plattformmatrix bestätigt die tatsächlichen Ziele.
|
||||
Run → Make EXE File… (Alt+R, E) erzeugt ein eigenständiges natives
|
||||
Executable. Unterstützt werden Windows x86_64, macOS aarch64 und Linux
|
||||
x86_64/aarch64. Die passende `tbrt`-Vorlage samt `.meta` muss neben dem
|
||||
IDE-Executable unter `runtimes/<target-triple>/` liegen. Fehlende Vorlagen
|
||||
und Finalisierungsvoraussetzungen werden konkret gemeldet; macOS-Exporte
|
||||
benötigen macOS mit `/usr/bin/codesign`.
|
||||
|
||||
Prüfen/Enter validiert die Angaben und schützt Projektdatei, geöffnete
|
||||
Dokumente und binäre FRM-Originale. Leere/ungültige Pfade, fehlende
|
||||
Zielverzeichnisse, bestehende Ziele ohne Zustimmung und `.tbc` als natives
|
||||
Ziel ergeben eine Diagnose; die anderen Angaben bleiben erhalten.
|
||||
Make Library… (Alt+R, L) erzeugt eine portable `.tbl`. Hier gibt es keine
|
||||
System-/Architekturwahl und keine erforderliche Runtime-Vorlage. Add File
|
||||
nimmt TBL als Binärabhängigkeit auf, Remove File entfernt nur den Verweis.
|
||||
MAK-Speicherung und Save As erhalten die Reihenfolge und relativen Verweise.
|
||||
Bibliotheken sind weder editierbare Quelltexte noch zulässige Startdateien.
|
||||
Start, Check, Debugger und Export verwenden denselben Linker wie `tbc link`.
|
||||
Fehlende Bibliotheksquellen werden im Debugger benannt; Fortsetzen und
|
||||
Prozedurschritte bleiben möglich.
|
||||
|
||||
Nur **Erzeugen** ist bis Phase 6 gesperrt, mit dem Hinweis „Native
|
||||
Erzeugung folgt in Phase 6“. Ein Produktionsaufruf schreibt keine Datei
|
||||
und meldet keinen erfundenen Erfolg. Der vorbereitete Auftrag trägt
|
||||
Projektidentität und Revisionsstand, Artefakt, Zielsystem, Architektur,
|
||||
Pfad und Überschreibentscheidung. Die UI kann zu diesem Auftrag Laufend,
|
||||
Erfolg, Fehler und Abbruch darstellen. Oberflächentests speisen diese
|
||||
Ergebnisse kontrolliert ein; sie belegen keine native Erzeugung.
|
||||
Erzeugen/Enter beziehungsweise der gleichnamige Mausknopf validiert den
|
||||
Ausgabepfad und die Überschreibentscheidung. Projektdateien, Quelltexte,
|
||||
Includes, binäre FRM-Originale und Bibliotheken sind geschützt. Leere oder
|
||||
ungültige Pfade, fehlende Zielverzeichnisse, unzulässige EXE-Ziele und `.tbc`
|
||||
als natives Exportziel liefern eine Diagnose und erhalten die Angaben.
|
||||
|
||||
Die tatsächliche Erzeugung und reale Backend-Anbindung, native Formate,
|
||||
Library-Symbole/Aufrufvertrag und der native Verbraucher-Nachweis stehen
|
||||
explizit in [PLAN.md, Phase 6](../PLAN.md). Ein umbenanntes TBC erfüllt
|
||||
keines der beiden Exportziele.
|
||||
Der Export verwendet den aktuellen Modul-/Form-/Include-Pufferstand ohne
|
||||
implizites Speichern. Bibliotheksbytes gehören zum Auftragsstand. Während
|
||||
der Hintergrundarbeit bleibt der Dialog bedienbar; Esc verwirft den Auftrag
|
||||
und seine temporäre Ausgabe. Erfolg erscheint erst nach Veröffentlichung.
|
||||
Projektänderungen, ausgetauschte Libraries, neuere Aufträge und extern
|
||||
geänderte Ziele verhindern die Veröffentlichung eines alten Ergebnisses.
|
||||
Das Schließen eines bereits erfolgreichen Dialogs macht den Erfolg nicht
|
||||
rückwirkend zu einem Abbruch.
|
||||
|
||||
Absichtlich backendlose Oberflächentests zeigen weiterhin die
|
||||
Phase-6-Abhängigkeit und erzeugen keine Dateien. Die echte Integration wird
|
||||
zusätzlich mit nativer Ausführung und einem quellfreien TBL-Verbraucher
|
||||
geprüft. Format und CLI-Beispiele: [P-Code-Bibliotheken](pcode-bibliotheken.md).
|
||||
Die vollständige Zielsystem-/Terminalmatrix folgt gemäß [PLAN.md](../PLAN.md).
|
||||
|
||||
## Befehlsabdeckung nach Change 07
|
||||
|
||||
@@ -141,7 +152,7 @@ Output-Fokus unterbricht Ctrl+C sofort die Sitzung, ohne eine BASIC-Taste einzur
|
||||
| Edit | Undo, Cut/Copy/Paste/Clear, New Sub/Function, Event Procedures | — |
|
||||
| View | Code/Form-Auswahl, Prozedurauswahl, Included File/Lines, Diagnostics, Designer Menu Bar/Value-Fokus, Grid Lines, Output Screen, Next Statement | — |
|
||||
| Search | Find, Selected Text, Repeat Last Find, Change | — |
|
||||
| Run | Start/Restart/Continue/Pause, COMMAND$, wirksame Startdatei und beide Make-Dialoge | Native Erzeugung: Phase 6 |
|
||||
| Run | Start/Restart/Continue/Pause, COMMAND$, wirksame Startdatei und beide Make-Dialoge | Echte EXE-/TBL-Erzeugung; Vierzielabnahme in Phase 6 |
|
||||
| Debug | Breakpoints, Schritte, Calls, Watches/Watchpoints, Direktfenster, Trace/History, Break on Errors und Set Next Statement | — |
|
||||
| Options | Display, Set Paths, Right Mouse, Save, Syntax Checking einschließlich Zeilenprüfung | — |
|
||||
| Window | New Window, Arrange All, Calls/Debug/Help/Immediate/Output/Project, aktive Codeliste, alle Fensterkürzel | — |
|
||||
|
||||
@@ -98,7 +98,10 @@ protected }, cancelled)` erhält den fertig verknüpften Projektstand, keine
|
||||
IDE-Dokumenttypen. `protected` enthält insbesondere das Eingabemanifest;
|
||||
Quell-/Include-Pfade aus dem Kompilat sowie Vorlage/Metadaten ergänzt der
|
||||
Export selbst. Die IDE kann ihren bestehenden Abbruch-/Revisionszustand
|
||||
über den Callback prüfen. `publish` stellt denselben Schutz für TBL/Link
|
||||
vor der Veröffentlichung prüfen: `prepare_export` beziehungsweise
|
||||
`prepare_publication` liefern ein fertiges `PreparedPublication`. Der
|
||||
UI-Thread prüft Auftrag und Eingaben, bevor er dessen `publish` aufruft;
|
||||
Drop verwirft das Staging. `publish` stellt denselben Schutz für TBL/Link
|
||||
bereit: temporäre Geschwisterdatei, vollständige Finalisierung, sync,
|
||||
Abbruch- und Zielkonfliktprüfung, danach Veröffentlichung. Ein neues Ziel
|
||||
wird mit atomarem No-clobber angelegt. Ein vorhandenes Ziel wird nur nach
|
||||
|
||||
@@ -148,10 +148,10 @@ Dateieffekt und Neustart durch `RUN` werden geprüft. Die JSON-Ausgabe nennt
|
||||
Host-Target, Prüfsumme und Ergebnis. Ein Cross-Compile ersetzt diesen Lauf
|
||||
nicht. Die vier JSON-Nachweise gehören in die Plattform-/Gitea-Abnahme.
|
||||
|
||||
IDE-Change 04 kann `ProjectSources::compile_library`, `compile` und
|
||||
`protected_inputs` sowie `ProjectCompiler::link_library` nutzen. Er ergänzt
|
||||
das IDE-Dokumentmodell für nicht editierbare TBL-Mitglieder und verbindet
|
||||
Make Library/Make EXE mit derselben Veröffentlichung; die UI ist Teil von 04.
|
||||
Die IDE nutzt denselben Compiler-/Linkdienst für Start, Check, Debugger,
|
||||
Make Library und Make EXE. TBL-Mitglieder sind nicht editierbar. Die Make-
|
||||
Dialoge verwenden ungespeicherte Puffer und veröffentlichen nur weiterhin
|
||||
gültige Aufträge; [Bedienung und Voraussetzungen](ide-bedienung.md#native-exporte-ui-in-phase-5-erzeugung-in-phase-6).
|
||||
Change 05 führt den identischen Verbrauchercheck auf allen vier echten
|
||||
Zielsystemen aus. Change 06 baut die vier nativen Compiler-/Runtime-Pakete
|
||||
zentral auf dem Linux-arm64-Gitea-Runner per Cross-Kompilierung und bindet
|
||||
|
||||
+6
-4
@@ -54,10 +54,12 @@ erklärt Fehlerhalte, Watchpoints und die Grenzen von Set Next Statement.
|
||||
|
||||
## Speichern und nächste Schritte
|
||||
|
||||
File → Save Project hält den Stand fest. Make EXE File und Make Library
|
||||
bieten bereits die Zielauswahl; die tatsächliche Erzeugung eines nativen
|
||||
Standalone-Programms beziehungsweise einer nativen Library folgt in Phase 6.
|
||||
Siehe [Exportgrenze](ide-bedienung.md#native-exporte-ui-in-phase-5-erzeugung-in-phase-6).
|
||||
File → Save Project hält den Stand fest. Make EXE File erzeugt mit der
|
||||
passenden Runtime-Vorlage ein natives Standalone-Programm. Make Library
|
||||
erzeugt ohne native Zielwahl eine portable `.tbl` zur Wiederverwendung über
|
||||
`tbc link` oder Add File in einem anderen Projekt. Beide Exporte übernehmen
|
||||
auch ungespeicherte Bearbeitungen; Esc bricht die Erzeugung ab.
|
||||
Siehe [Export und Voraussetzungen](ide-bedienung.md#native-exporte-ui-in-phase-5-erzeugung-in-phase-6).
|
||||
|
||||
Weiter: [Tastatur](tastatur.md), [Hilfe benutzen](hilfe.md),
|
||||
[Sprachreferenz](sprachreferenz.md), [Bibliothek](bibliothek.md).
|
||||
Reference in new issue
Block a user