//
// Copyright (C) 2024 The Android Open-Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto2";
package android.release_config_proto;
option go_package = "android/soong/release_config/release_config_proto";

// This protobuf file defines common messages used in the rest of the build flag
// protos.

enum Workflow {
  option allow_alias = true;
  WORKFLOW_UNSPECIFIED = 0;

  // Deprecated.  Use WORKFLOW_UNSPECIFIED instead.
  Workflow_Unspecified = 0;

  // Boolean value flags that progress from false to true.
  LAUNCH = 1;

  // String value flags that get updated with new version strings to control
  // prebuilt inclusion.
  PREBUILT = 2;

  // Manually managed outside flags.  These are likely to be found in a
  // different directory than flags with other workflows.
  MANUAL = 3;

  // Manually managed flags that are not inherited. These are likely used to
  // control release process steps.
  MANUAL_NO_INHERIT = 4;

  // Manually managed flags for BUILD_VARIANT release configs.  These flags may
  // only be assigned values if release_config_type == BUILD_VARIANT
  MANUAL_BUILD_VARIANT = 5;
}
