// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

package feedwire1;

option optimize_for = LITE_RUNTIME;

option java_package = "org.chromium.components.feed.core.proto.wire";
option java_outer_classname = "VersionProto";

// Specification of an application or OS version.
// A version string typically looks like: 'major.minor.build.revision'
message Version {
  optional int32 major = 1;
  optional int32 minor = 2;
  optional int32 build = 3;
  optional int32 revision = 4;

  // The CPU architecture that the native libraries support
  enum Architecture {
    UNKNOWN_ACHITECTURE = 0;
    ARM = 1;
    ARM64 = 2;
    MIPS = 3;
    MIPS64 = 4;
    X86 = 5;
    X86_64 = 6;
  }
  optional Architecture architecture = 5;

  // The release stage of the build
  enum BuildType {
    UNKNOWN_BUILD_TYPE = 0;
    DEV = 1;
    ALPHA = 2;
    BETA = 3;
    RELEASE = 4;
  }
  optional BuildType build_type = 6;

  // Specific to Android OS versions. Specifies the API version that the OS
  // supports.
  optional int32 api_version = 7;
}
