summaryrefslogtreecommitdiff
path: root/testautogen/forgeConfig.proto
blob: f9639685fb65b036617d33fc95b6c771d307e91e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
syntax = "proto3";

package testautogen;

import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp

// define 3 branches. that is all that is supported
// the term 'master' is used in the code because 'main' is a reserved word in golang already
// allow 'read only' and 'private' flags
// package names sometimes must be different than the binary name
// for example 'zookeeper' is packaged as 'zookeeper-go'
//      due to the prior apache foundation project. This happens and is ok!
message ForgeConfig {
  string goPath			= 1; // Examples: 'go.wit.com/apps/go-clone' or "~/mythings" or "/home/src/foo"

  bool writable			= 2; // if you have write access to the repo
  bool readOnly			= 3; // the opposite, but needed for now because I don't know what I'm doing
  bool private			= 4; // if the repo can be published
  bool directory		= 5; // everything in this directory should use these writable & private values
  bool favorite			= 6; // you like this. always git clone/go clone this repo
  bool interesting		= 7; // this is something interesting you found and want to remember it

  string masterBranchName	= 8; // git 'main' or 'master' branch name
  string develBranchName	= 9; // whatever the git 'devel' branch name is
  string userBranchName		= 10; // whatever your username branch is

  string debName 		= 11; // the actual name used with 'apt install' (or distro apt equivalent.
// todo: appeal to everyone to alias 'apt' on rhat, gentoo, arch, etc to alias 'apt install' 
// so we can make easier instructions for new linux users. KISS

  google.protobuf.Timestamp     verstamp      = 12;    // the git commit timestamp of the version
}

// TODO: autogen 'sort', 'marshal'
message ForgeConfigs {
	string   uuid	        = 1;    // could be useful for /usr/share/file/magic someday?
	string   version        = 2;    // could be used for protobuf schema change violations?
	repeated ForgeConfig 	ForgeConfigs = 3;
}