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

Define a format to attach custom metadata with releases #35

Open
moul opened this issue Mar 2, 2020 · 6 comments
Open

Define a format to attach custom metadata with releases #35

moul opened this issue Mar 2, 2020 · 6 comments
Labels
api documentation Improvements or additions to documentation front help wanted Extra attention is needed

Comments

@moul
Copy link
Member

moul commented Mar 2, 2020

The idea is to create a file format that will be uploaded alongisde the .apk, .ipa etc to add some metadata (branch, author, version, builddate, etc) that can be used to enhance the UI with more info or to create a new API call allowing the apps to automatically find "more recent builds" automatically

@moul moul added the help wanted Extra attention is needed label Mar 2, 2020
@moul
Copy link
Member Author

moul commented Mar 2, 2020

cc @aeddi @gfanton @n0izn0iz what do you suggest?

anyway, this file should be optional, but in the case of bintray which is not necessarily linked with github, it can be a good way to keep track of related branch/commit etc

@aeddi
Copy link
Member

aeddi commented Mar 2, 2020

I don't think there's a standard format, but you can take a look at maven method. Next to each artifact, a maven-metadata.xml file is created containing some info about it. For example on gomobile-ipfs-android repo:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>ipfs.gomobile</groupId>
  <artifactId>core</artifactId>
  <version>0.0.1</version>
  <versioning>
    <latest>0.0.1</latest>
    <release>0.0.1</release>
    <versions>
      <version>0.0.1</version>
    </versions>
    <lastUpdated>20200302132150</lastUpdated>
  </versioning>
</metadata>

(You can check here)

@aeddi
Copy link
Member

aeddi commented Mar 2, 2020

But please, don't use xml 🙏

@moul
Copy link
Member Author

moul commented Mar 2, 2020

are you aware of equivalent of maven-metadata.xml files in other ecosystems?

@aeddi
Copy link
Member

aeddi commented Mar 3, 2020

Depends on what you want. Basically maven-metadata is used mostly I guess by the dependency manager (find a specific version of an artifact, its last version, etc...).
If you want richer info about a package, (like author, website, description, etc...) on Maven the pom file format is used.

Again on gomobile-ipfs-android repo for example:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <groupId>ipfs.gomobile</groupId>
  <artifactId>core</artifactId>
  <version>0.0.1</version>
  <packaging>aar</packaging>

  <name>Gomobile-IPFS - Android Core</name>
  <description>Android Gomobile package exposing go-ipfs methods required by Gomobile-IPFS-Bridge</description>
  <url>https://github.com/ipfs-shipyard/gomobile-ipfs</url>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
    <license>
      <name>MIT License</name>
      <url>http://www.opensource.org/licenses/mit-license.php</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>aeddi</id>
      <name>Antoine Eddi</name>
      <email>antoine.e.b@gmail.com</email>
      <organization>Berty Technologies</organization>
      <organizationUrl>https://berty.tech</organizationUrl>
    </developer>
    <developer>
      <id>gfanton</id>
      <name>Guilhem Fanton</name>
      <email>guilhem.fanton@gmail.com</email>
      <organization>Berty Technologies</organization>
      <organizationUrl>https://berty.tech</organizationUrl>
    </developer>
  </developers>

  <scm>
    <connection>scm:git:git://github.com/ipfs-shipyard/gomobile-ipfs.git</connection>
    <developerConnection>scm:git:ssh://github.com:ipfs-shipyard/gomobile-ipfs.git</developerConnection>
    <url>https://github.com/ipfs-shipyard/gomobile-ipfs/tree/master</url>
  </scm>
</project>

For Cocoapods you can check the podspec file format.

@moul moul added api documentation Improvements or additions to documentation front labels Apr 22, 2020
@moul
Copy link
Member Author

moul commented Apr 30, 2020

there are basically two places where we want to add optional metadata:

  • the builds (can be done in a file uploaded as an artifact)
  • the projects (can be done with a .yolorc.yml file at the root or in the .github/ folder of a repo

examples of info:

  • compatibility (version >= iOS9.0)
  • relationships (this bintray build belongs to that GitHub PR)
  • disclaimers, etc

@moul moul mentioned this issue Oct 1, 2020
84 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api documentation Improvements or additions to documentation front help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants