2012-09-28 11 views
5

Beim Erstellen einer neuen Distribution werden 2 Metadateien generiert. Einer verwendet das YAML-Format und der andere JSON. Soweit ich weiß, werden diese nur von anderen CPAN-Clients oder anderen Anwendungen verwendet, die (aus welchen Gründen auch immer) Zugriff auf eine Metadatei haben möchten. Ich versuche zu begründen, warum eine App Zugang zu beiden benötigt ...Was ist der Zweck von zwei separaten META-Dateien nach dem Erstellen einer Distribution?

Sind diese beiden Formate separat für reine Bequemlichkeit erzeugt? d. h. Entwickler 1 bevorzugt JSON codiert daher seine Apps, um die Datei META.json zu lesen, während Entwickler 2 JSON hasst und lieber nach der YAML-Version sucht?

Oder ist daher ein technischer Grund, beides würde von einem einzigen Client/App benötigt, die ich übersehe?

Antwort

5

Der Grund ist, dass es zwei Versionen des CPAN meta spec gab, wobei die neuere Version JSON anstelle von YAML angibt. Die YAML-Dateien werden beibehalten, um die Kompatibilität mit älteren Tools zu gewährleisten, die sie erwarten, aber zukünftige Metadaten-Features werden der JSON-Version hinzugefügt.

David Golden hat eine Diskussion über die Änderung von YAML zu JSON auf seiner blog post Bekanntgabe der Version 2 der Spezifikation.