Skip to content
Snippets Groups Projects

Draft: (paused) Use workspace for Cargo.toml files

Closed Hugo Trentesaux requested to merge jrx/workspace_tomls into master
2 unresolved threads

Cargo provides a workspace feature (book, reference). We can use it to avoid repetition.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
141 'pallets/oneshot-account',
142 'pallets/authority-members',
143 'pallets/universal-dividend',
144 'pallets/upgrade-origin',
145 'primitives/membership',
146 'runtime/common',
147 'runtime/gdev',
148 'xtask',
149 ]
150
151 # WHY TWICE THE SAME PACKAGE WITH DIFFERENT NAMES ?
152 codec = { package = "parity-scale-codec", version = "3.1.5", features = [
153 "derive",
154 ], default-features = false }
155 parity-scale-codec = "3.1.5"
156 # WHY ??
  • 1 [package]
    2 authors = ['Axiom-Team Developers <https://axiom-team.fr>']
    3 build = 'node/build.rs'
    4 description = 'Crypto-currency software (based on Substrate framework) to operate Ğ1 libre currency'
    1 [workspace.package]
    5 2 edition = "2021"
    6 homepage = 'https://duniter.org'
    3 authors = ["Axiom-Team Developers <https://axiom-team.fr>"]
    4 description = "Crypto-currency software (based on Substrate framework) to operate Ğ1 libre currency"
    7 5 license = 'AGPL-3.0'
    8 name = 'duniter'
    9 6 repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
    10 version = '0.3.0'
    7 documentation = "https://example.com/bar"
    8 homepage = 'https://duniter.org'
    9 version = "0.3.0"
    • Comment on lines +3 to +9

      Je suis sceptique sur ces définitions globales. documentation ne sert pas pour l'instant, s'il y est il faudrait que ça pointe vers la documentation de la crate. Je pense que description aussi concerne la crate. Quant à authors ce n'est pas une question légale (l'avis de copyright est dans le README et dans chaque fichier), donc je pense qu'il vaut mieux voir l'aspect pratique : il peut servir à contacter les auteurs. Donc j'y mettrais plutôt les auteurs principaux des crates, les personnes à contacter si on a besoin d'aide sur telle crate. Comme ça les infos sur une crate sont dans la crate elle-même.

    • Là dessus, j'ai bouriné par contre (mea culpa). J'aime bien l'idée qu'on ait un "par défaut" commun, et quitte à modifier chaque crate qui le mérite en conséquence. Pour la notion d'auteur d'une crate, ça me semble pas nécessaire de le documenter, il y'a quelques clics seulement de la documentation d'une crate rust au repo avec git history de son code source, donc ça me semble assez simple et détaillé de remonté à l'auteur par se moyen. Donc as you wish, c'est juste une proposition.

    • Je suis d'accord, si ces champs sont optionnels, on peut tout simplement les retirer

      • documentation : sera probablement dans le README de chaque pallet
      • description : j'ai conservé une description par crate dans le dernier commit, mais pas modifié le workspace, il faut retirer tu penses ?
      • authors : oui, c'est une question pratique plus que légale, on peut s'en passer tout court je pense et mettre tous les contributeurs à l'échelle du projet. Pour savoir à qui s'adresser, il y a plus simple que de définir ça dans les cargo.toml

      (ah bah @jrx a été plus rapide que moi pour répondre, j'étais en train de rédiger ><) Donc on est d'accord. Est-ce que tu veux bien continuer ou on doit prendre le relais ?

    • Les champs documentation, description et authors sont surtout utiles si on veut publier les crates sur crates.io (ce qui pourra arriver pour certaines, que ce soit pour faciliter le développement de l'écosystème Duniter Rust, ou pour Substrate globalement).

    • Please register or sign in to reply
  • Hugo Trentesaux marked this merge request as draft

    marked this merge request as draft

  • Hugo Trentesaux changed title from Draft: Use workspace for Cargo.toml files to Draft: (paused) Use workspace for Cargo.toml files

    changed title from Draft: Use workspace for Cargo.toml files to Draft: (paused) Use workspace for Cargo.toml files

  • mentioned in issue #170 (closed)

  • Ça va peut-être se faire dans !236 (merged)

  • Je ferme vu que !236 (merged) règle ça.

  • Please register or sign in to reply
    Loading