Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dojo: Compiler/todo-assets: Übersetzte Dateien nicht in dem temporären Ordner ablegen #1531

Open
tgrothe opened this issue May 15, 2024 · 5 comments · May be fixed by #1532
Open

Dojo: Compiler/todo-assets: Übersetzte Dateien nicht in dem temporären Ordner ablegen #1531

tgrothe opened this issue May 15, 2024 · 5 comments · May be fixed by #1532
Labels
dojo later not now, maybe later

Comments

@tgrothe
Copy link
Contributor

tgrothe commented May 15, 2024

Für die Studis könnte es vielleicht verwirrend sein, wenn die .class-Dateien der todo-assets ganz woanders abgelegt werden. Und zum Beispiel IJ kommt damit auch gelegentlich durcheinander, bzw. versucht dann, diese zu öffnen.

Ich würde vorschlagen, die .class-Dateien im selben Ordner wie die .java-Datei abzulegen.

Das betrifft: Cuboid.java, FehlerhafteKlasse.java und todo-assets/Implement_MyMonster/Monster.java.

@tgrothe tgrothe added the dojo label May 15, 2024
@tgrothe
Copy link
Contributor Author

tgrothe commented May 15, 2024

Und der Inhalt der .java-Dateien wird bislang noch einmal in einem Zwischenschritt in die temporären Dateien kopiert... Das sollte vielleicht auch geändert werden.

@cagix?

@cagix
Copy link
Member

cagix commented May 15, 2024

Für die Studis könnte es vielleicht verwirrend sein, wenn die .class-Dateien der todo-assets ganz woanders abgelegt werden. Und zum Beispiel IJ kommt damit auch gelegentlich durcheinander, bzw. versucht dann, diese zu öffnen.

Ich würde vorschlagen, die .class-Dateien im selben Ordner wie die .java-Datei abzulegen.

Weiss nicht. Dort räumt niemand auf, d.h. die .class-Dateien dort bleiben auf ewig liegen.

Die Studis sollten die .class ja eh nicht brauchen/sehen.

Wo werden die denn aktuell hingelegt? Irgendwo unter "build/"? Ich finde, da gehört das auch hin. Vielleicht aber dort an eine Stelle, die nicht im Classpath von IntelliJ und Gradle liegt?

Das betrifft: Cuboid.java, FehlerhafteKlasse.java und todo-assets/Implement_MyMonster/Monster.java.

Sind die ersten beiden nicht auch irgendwo unter "todo-assets/"?

@tgrothe
Copy link
Contributor Author

tgrothe commented May 15, 2024

Bei mir landen die zurzeit unter %appdata% bzw. C:\Users\<...>\AppData\Local\Temp und es wird jedes Mal ein eigener Ordner angelegt:

grafik

Dort räumt doch eigentlich auch selten jemand auf...

Wo werden die denn aktuell hingelegt? Irgendwo unter "build/"? Ich finde, da gehört das auch hin.

Ich glaube, das würde IJ auch durcheinanderbringen...

@cagix
Copy link
Member

cagix commented May 15, 2024

@tgrothe Was Du da grad auftust, klingt nach einer ziemlichen Baustelle. Ich frage mich grad, ob sich das wirklich lohnt? Zumal die betreffenden Aufgaben realistisch betrachtet doch irgendwie ... künstlich und auch recht einfach sind und ich keine Idee habe, wie ich das in Zukunft mal spannender gestalten kann.

Ich denke, ich würde das in dieser Iteration jetzt so lassen. In der nächsten Iteration sollten diese "todo-assets/" wieder verschwinden und durch "richtige" Klassen ersetzt werden, die auch in der IDE mitlaufen und eben nach "build/" übersetzt und vom normalen Classloader geladen werden. In diesen Klassen gibt es dann eine Menge leere Methoden, die einfach nix machen oder eine Exception werfen und die die Studis bearbeiten müssen. Es reicht ja, wenn sie im Spiel einen Hinweis bekommen, dann in die IDE gehen und den Code suchen und fixen/ergänzen und dann das Spiel nochmal neu starten. Schau Dir mal die letzte Aufgabe auf Blatt 04 an, da ist das genau so gemacht. Das war auch etwa das, was ich mir vorgestellt hatte. Ich würde hier echt keine Zeit reinstecken an dieser Stelle.

@tgrothe
Copy link
Contributor Author

tgrothe commented May 15, 2024

die auch in der IDE mitlaufen und eben nach "build/" übersetzt und vom normalen Classloader geladen werden. In diesen Klassen gibt es dann eine Menge leere Methoden, [...]

Das war auch so ein bisschen meine Idee, allerdings werden diese Klassen ja dann vom Build-Tool aufgegriffen und dürfen nicht "nicht übersetzbar" sein. ;)

Aber gut, ich sehe schon, die Baustelle würde größer werden, und ich investiere erst mal keine Energie darin ...

Schau Dir mal die letzte Aufgabe auf Blatt 04 an, da ist das genau so gemacht. Das war auch etwa das, was ich mir vorgestellt hatte.

Ich schaue's mir bis nächste Woche an ... danke erst mal. :)

@tgrothe tgrothe added the later not now, maybe later label May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dojo later not now, maybe later
Projects
None yet
2 participants