The generated executable depends on files in the source tree
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- build-system, devtools
Rechercherichtung
Beginne mit crates/luals/src/main.rs, insbesondere dem main()-Einstiegspunkt, und script/version.lua; untersuche wie vorgeschlagen weitere Pfade zum Laden von Laufzeitdateien. Baue die ausführbare Datei und teste sie anschließend, wenn die Build- und Quellverzeichnisse nicht verfügbar sind. Erledigt ist die Aufgabe, wenn die ausführbare Datei ohne Dateien aus dem Quellbaum läuft und ihre Version meldet, ohne beim Laufzeitstart das Changelog zu parsen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
It is unexpected that the compiled executable requires the build dir to remain present. This additionally makes it problematic to include this software in any operating system distribution.
Currently the main() function sources main.lua at run-time using load() with a filename, and consequentially all of its required files are also read from the source tree at run-time. Furthermore version.lua parses the changelog at run-time to determine the version number. There might be more similar constructs. I have not looked further.
In order to make the built executable self-sustained, one might wish to use constructs which injects the actual Lua source files into the Rust source using e.g. include_str!(). The AsChunk trait has the required implementations for a &str to be given to load().
As for version strings, the best solution would probably to be solve issue #9, which would make the version string available at build-time in Rust context using the env!() macro with CARGO_PKG_VERSION. If that for some reason is not desired or possible, parsing the changelog at build time using a build.rs script would be an alternative.
- Vorherrschende Sprache
- Lua
- Sterne
- 19
- Forks
- 6
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus LuaLS/lua-language-server-rust
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
LuaLS/lua-language-server-rust#7 · 2 Kommentare ·
Alle Issues in LuaLS/lua-language-server-rust
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen
-
ai-authored
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Data Correction Forever Needs testing/reproduction
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Questie/Questie#7941 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
-
remote remote-plugin
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag