Guten Morgen!
In einem Projekt von mir habe ich mehrere tausend Groovy Testfälle. Da wir aber auch hinsichtlich Python Request und Test eines Api Gateways viele der Testfälle entsprechend umbauen müssen, die eigentliche Frage "Gibt es einen Converter der Groovy Testscripts in Python umwandeln kann?"
Groovy Python Converter?
- __blackjack__
- User
- Beiträge: 13236
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@frentmeister: Weiss ich nicht, halte ich aber für nicht sehr wahrscheinlich, denn neben abbilden der Syntax von der einen auf die andere Sprache müsste man ja auch mindestens mal Teile der Laufzeitbibliothek und Verhalten der Grunddatentypen irgendwie übersetzen. Zusätzlich zu Bibliotheken die euer Code verwendet, und das können ja auch beliebige in der JVM nutzbare Bibliotheken sein, die in beliebigen Programmiersprachen geschrieben sind, welche die JVM als Zielplattform haben.
Neben dem Vorschlag von __deets__ könnte man auch überlegen wie lange man eine Übergangsphase haben kann/möchte und sich ausrechnen wie viele Testfälle pro Woche oder Monat man portieren müsste. Wenn das realistisch erscheint könnte man das dann tun.
Was ich persönlich vielleicht noch ins Auge fassen würde ist selbst mal zu schauen ob man eine Übersetzung von möglichst vielen Fällen mindestens halbautomatisch erledigen kann. In Groovy kann man sich ja anscheinend beim compilieren einhängen und den AST verändern. An der Stelle könnte man vielleicht auch versuchen Python-Quelltext daraus zu generieren.
Alternativ könnte man schauen ob man in Python leicht einen Parser für Groovy, oder zumindest eine Untermenge davon, schreiben kann, um damit Daten und relevante Codestruktur aus den Groovy-Quelltexten zu ziehen und äquivalenten Python-Quelltext zu generieren.
Neben dem Vorschlag von __deets__ könnte man auch überlegen wie lange man eine Übergangsphase haben kann/möchte und sich ausrechnen wie viele Testfälle pro Woche oder Monat man portieren müsste. Wenn das realistisch erscheint könnte man das dann tun.
Was ich persönlich vielleicht noch ins Auge fassen würde ist selbst mal zu schauen ob man eine Übersetzung von möglichst vielen Fällen mindestens halbautomatisch erledigen kann. In Groovy kann man sich ja anscheinend beim compilieren einhängen und den AST verändern. An der Stelle könnte man vielleicht auch versuchen Python-Quelltext daraus zu generieren.
Alternativ könnte man schauen ob man in Python leicht einen Parser für Groovy, oder zumindest eine Untermenge davon, schreiben kann, um damit Daten und relevante Codestruktur aus den Groovy-Quelltexten zu ziehen und äquivalenten Python-Quelltext zu generieren.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Groovy verwendet intern ANTLR, vielleicht kann man sich das zunutze machen (z.B. eine eventuell vorliegende Grammatik) für einen Konverter.__blackjack__ hat geschrieben: ↑Samstag 29. Februar 2020, 11:51 Alternativ könnte man schauen ob man in Python leicht einen Parser für Groovy, oder zumindest eine Untermenge davon, schreiben kann, um damit Daten und relevante Codestruktur aus den Groovy-Quelltexten zu ziehen und äquivalenten Python-Quelltext zu generieren.
Edit: Zitat repariert.
- __blackjack__
- User
- Beiträge: 13236
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Das wäre in der Tat interessant weil ANTLR auch Python-Code generieren kann. Also für einen Parser mit dem man dann Groovy-Code parsen kann.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.