Skip to content

app index V1 - support graphics, localization, and more

Hans-Christoph Steiner requested to merge eighthave/fdroidserver:index-v1 into master

This introduces a new JSON-based index-v1.jar app index metadata file for the client to consume. There were lots of new features in the fdroidclient "UX Overhaul" that required new features in the index metadata, including:

  • graphics and screenshots
  • using Anti-Features in the client
  • full localization support, including text and graphics

This would have be impossible to add to index.xml aka v0 without breaking backwards compatibility. Using JSON also means that we can use libraries to translate the internal dicts directly to JSON data and on the Java side, the Jackson library can translate JSON directly to Java Objects. This also lays the groundwork for having a YAML format for fdroiddata which will also be a direct translation. This will then bring fdroidclient, fdroidserver, and fdroiddata closer together as codebases since the concepts will have the same names.

@CiaranG The new index-v1.jar file only exists in signed form to keep security sensitive code as simple as possible. The build server should just have a throwaway signing key to sign the indexes with. Then when copied to the signing server, fdroid signindex will throw away the signature on the file, and sign it properly.

please take a look when you have a moment to see if this makes sense @TheZ3ro @grote @uniqx

Merge request reports