Difference between revisions of "Best practices using metadata"

From Software Heritage Wiki
Jump to navigation Jump to search
Line 7: Line 7:
 
!context
 
!context
 
!filename
 
!filename
 +
!in CodeMeta crosswalk table
 
!implemented for swh translation
 
!implemented for swh translation
 
|-
 
|-
 
|java- Maven
 
|java- Maven
 
|pom.xml
 
|pom.xml
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|Octave
 
|Octave
 
|DESCRIPTION
 
|DESCRIPTION
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|R package
 
|R package
 
|DESCRIPTION
 
|DESCRIPTION
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|ruby gems
 
|ruby gems
 
|.gemspec or Rakefile
 
|.gemspec or Rakefile
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|Javascript npm
 
|Javascript npm
 
|package.json, [ AUTHORS, README, CHANGES, LICENSE & NOTICE] files
 
|package.json, [ AUTHORS, README, CHANGES, LICENSE & NOTICE] files
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|Perl CPAN::META
 
|Perl CPAN::META
 
|META.json, META.yml, .sDpec
 
|META.json, META.yml, .sDpec
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|Dart
 
|Dart
 
|pubspec.yaml
 
|pubspec.yaml
 +
|no
 
|no
 
|no
 
|-
 
|-
 
|Debian package
 
|Debian package
 
|debian/upstream/metadata
 
|debian/upstream/metadata
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|puppet
 
|puppet
 
|metadata.json
 
|metadata.json
 +
|no
 
|no
 
|no
 
|-
 
|-
 
|PyPI
 
|PyPI
 
|setup.py
 
|setup.py
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|Scientific software
 
|Scientific software
 
|CITATION
 
|CITATION
 +
|no
 
|no
 
|no
 
|-
 
|-
 
|CodeMeta
 
|CodeMeta
|CODE, code.json
+
|CODE, code.json, codemeta.json
 +
|yes
 
|no
 
|no
 
|-
 
|-
 
|Java gradle   
 
|Java gradle   
 
|gradle.properties
 
|gradle.properties
 +
|no
 
|no
 
|no
 
|-
 
|-
 
|Jekyll  
 
|Jekyll  
 
|_config.yml
 
|_config.yml
 +
-no
 
|no
 
|no
 
|-
 
|-
 
|clojure  
 
|clojure  
 
|project.clj or build.boot
 
|project.clj or build.boot
 +
|no
 
|no
 
|no
 
|-
 
|-
 
|haskell  
 
|haskell  
 
|<project name>.cabal  
 
|<project name>.cabal  
 +
|no
 
|no
 
|no
 
|-
 
|-
 
|scala
 
|scala
 
|build.sbt
 
|build.sbt
 +
|no
 
|no
 
|no
 
|-
 
|-
 
|Ocaml
 
|Ocaml
 
|opam
 
|opam
 +
|no
 
|no
 
|no
 
|}
 
|}

Revision as of 14:24, 15 May 2017


1. Use a detailed metadata file with name appropriate to context as listed bellow :

context filename in CodeMeta crosswalk table implemented for swh translation
java- Maven pom.xml yes no
Octave DESCRIPTION yes no
R package DESCRIPTION yes no
ruby gems .gemspec or Rakefile yes no
Javascript npm package.json, [ AUTHORS, README, CHANGES, LICENSE & NOTICE] files yes no
Perl CPAN::META META.json, META.yml, .sDpec yes no
Dart pubspec.yaml no no
Debian package debian/upstream/metadata yes no
puppet metadata.json no no
PyPI setup.py yes no
Scientific software CITATION no no
CodeMeta CODE, code.json, codemeta.json yes no
Java gradle gradle.properties no no
Jekyll _config.yml

-no

no
clojure project.clj or build.boot no no
haskell <project name>.cabal no no
scala build.sbt no no
Ocaml opam no no

2. Use Semantic Versioning [1] for reproducibility purposes.