Fork of daniellemaywood.uk/gleam — Wasm codegen work
1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: 2014 The Hex Team
3
4syntax = "proto2";
5
6package package;
7
8message Package {
9 // All releases of the package
10 repeated Release releases = 1;
11 // Name of package
12 required string name = 2;
13 // Name of repository
14 required string repository = 3;
15}
16
17message Release {
18 // Release version
19 required string version = 1;
20 // sha256 checksum of "inner" package tarball
21 // deprecated in favor of outer_checksum
22 required bytes inner_checksum = 2;
23 // All dependencies of the release
24 repeated Dependency dependencies = 3;
25 // If set the release is retired, a retired release should only be
26 // resolved if it has already been locked in a project
27 optional RetirementStatus retired = 4;
28 // sha256 checksum of outer package tarball
29 // required when encoding but optional when decoding
30 optional bytes outer_checksum = 5;
31}
32
33message RetirementStatus {
34 required RetirementReason reason = 1;
35 optional string message = 2;
36}
37
38enum RetirementReason {
39 RETIRED_OTHER = 0;
40 RETIRED_INVALID = 1;
41 RETIRED_SECURITY = 2;
42 RETIRED_DEPRECATED = 3;
43 RETIRED_RENAMED = 4;
44}
45
46message Dependency {
47 // Package name of dependency
48 required string package = 1;
49 // Version requirement of dependency
50 required string requirement = 2;
51 // If set and true the package is optional (see dependency resolution)
52 optional bool optional = 3;
53 // If set is the OTP application name of the dependency, if not set the
54 // application name is the same as the package name
55 optional string app = 4;
56 // If set, the repository where the dependency is located
57 optional string repository = 5;
58}