2024-11-27 21:05:12 -06:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package forgepb;
|
|
|
|
|
|
|
|
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
|
|
|
|
2024-12-04 15:36:49 -06:00
|
|
|
// `autogenpb:uuid:7267f5d5-954b-44b7-9f67-2eb808791355` // todo: add file support
|
|
|
|
|
2024-11-27 21:05:12 -06:00
|
|
|
// 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 {
|
2024-11-30 15:33:53 -06:00
|
|
|
string goPath = 1; // `autogenpb:unique` // Examples: 'go.wit.com/apps/go-clone' or "~/mythings" or "/home/src/foo"
|
2024-11-27 21:05:12 -06:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2024-11-29 13:27:32 -06:00
|
|
|
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
|
2024-11-27 21:05:12 -06:00
|
|
|
|
|
|
|
string debName = 11; // the actual name used with 'apt install' (or distro apt equivalent.
|
2024-12-05 12:37:07 -06:00
|
|
|
// todo: appeal to everyone to alias 'apt' on fedora, gentoo, arch, etc to alias 'apt install'
|
2024-11-27 21:05:12 -06:00
|
|
|
// so we can make easier instructions for new linux users. KISS
|
|
|
|
|
|
|
|
google.protobuf.Timestamp verstamp = 12; // the git commit timestamp of the version
|
2024-12-05 12:37:07 -06:00
|
|
|
string goSrc = 13; // is ~/go/src unless a go.work file is found
|
2024-11-27 21:05:12 -06:00
|
|
|
}
|
|
|
|
|
2024-11-30 15:33:53 -06:00
|
|
|
message ForgeConfigs { // `autogenpb:marshal`
|
2024-11-27 21:05:12 -06:00
|
|
|
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;
|
|
|
|
}
|