Unser Quellcode verwendet den Abschlusscompiler, um Javascript zu minimieren. Kürzlich wurde ich beauftragt, es auf die neueste Version zu aktualisieren. Wenn ich das tat, würde die JavaScript-Komponente nicht mehr richtig kompilieren. Die Version, die wir zuvor verwendet haben, war v20131014. Ich probierte das letzte (ab Februar 2016) sowie die 3 oder 4 Versionen davor, aber alle mit den gleichen Problemen.Closure Compiler-Befehlszeile scheint nicht mit der neuesten Version zu funktionieren
Die Art, wie wir die Compiler verwenden ist von der Kommandozeile, in einer Groovy-Datei, die eine Reihe von transpiling von JavaScript tut:
...
def command = "java -jar $compiler --js $orderedDependencies --js_output_file $minFilename --create_source_map $mapFilename --compilation_level WHITESPACE_ONLY --source_map_format=V3 "
command.execute(null as List, outputDir).waitFor()
....
Wenn ich dieses Skript auf der Ausführung hängt. Wenn ich den Befehl in der Befehlszeile ausführe (mit tatsächlichen Werten, die die oben gezeigten Variablen ersetzen), funktioniert es problemlos. Es gibt keine Protokollnachrichten von dem Build, die angeben, was falsch ist. und Version v20131014 funktioniert problemlos.
Irgendwelche Ideen, die sich zwischen 2013 und 2016 geändert haben könnten, die dieses Problem verursachen könnten?
Was in 3 Jahren verändert? In diesem Zeitraum sind mehrere tausend Commits passiert. –
:). Ja. Jetzt ist der schmerzhafte Teil des Debuggen des Upgrades. – GLaDOS