-
Notifications
You must be signed in to change notification settings - Fork 0
/
gs-org-config.json
94 lines (94 loc) · 4.01 KB
/
gs-org-config.json
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
{
"$id": "https://github.com/vaccovecrana/gitflow-oss-java-slim/resources/json/gs-org-config.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Organization configuration for Continuous Integration.",
"type": "object",
"required": ["orgId", "devConfig", "publishing"],
"properties": {
"orgId": {"type": "string", "description": "Organization ID"},
"internalRepo": {
"$ref": "#/$defs/gsOrgRepo",
"description": "Repository configuration for private artifacts. Note that this repository must accept both SNAPSHOT and RELEASE version Maven publications"
},
"snapshotsRepo": {
"$ref": "#/$defs/gsOrgRepo",
"description": "Repository configuration for publicly shared SNAPSHOT artifacts. Usually this is configured with Sonatype's OSS snapshots repository"
},
"releasesRepo": {
"$ref": "#/$defs/gsOrgRepo",
"description": "Repository configuration for publicly shared RELEASE artifacts. Usually this is configured with Sonatype's OSS staging repository"
},
"publishing": {
"$ref": "#/$defs/gsOrgPublication",
"description": "Publication metadata for artifact builds."
},
"devConfig": {
"$ref": "#/$defs/gsDevConfig",
"description": "Development feature configuration options, if any."
}
},
"$defs": {
"gsOrgRepo": {
"type": "object",
"required": ["id", "url"],
"properties": {
"id": {"type": "string", "description": "Repository ID"},
"url": {"type": "string", "description": "Repository URL"},
"username": {"type": "string", "description": "Repository username"},
"password": {"type": "string", "description": "Repository password"},
"usernameEnvProperty": {"type": "string", "description": "Environment variable for repository username"},
"passwordEnvProperty": {"type": "string", "description": "Environment variable for repository password"}
}
},
"gsOrgPublication": {
"type": "object",
"required": ["id", "devId", "devContact", "devEmail", "mavenSigningKeyEnvProperty"],
"properties": {
"id": {"type": "string", "description": "Publication ID"},
"devId": {"type": "string", "description": "Developer ID"},
"devContact": {"type": "string", "description": "Developer contact name (e.g. your organization's name)"},
"devEmail": {"type": "string", "description": "Developer contact email"},
"mavenSigningKeyEnvProperty": {
"type": "string",
"description": "Environment variable containing an unencrypted, ASCII armoured Maven PGP signing key"
}
}
},
"gsVersionsConfig": {
"type": "object",
"description": "Default versions for core organization dependencies",
"properties": {
"j8Spec": {"type": "string", "description": "J8Spec version in Maven coordinates"},
"pmd": {"type": "string", "description": "PMD tool version"}
}
},
"gsDevConfig": {
"type": "object",
"required": ["jdkDistribution","gradleVersion", "ghEventEnvProperty", "dependencyExcludedGroups"],
"properties": {
"gradleDistribution": {
"type": "string",
"description": "URL to grab a Gradle distribution in zip format. Used only in Github actions."
},
"gradleVersion": {
"type": "string",
"description": "Gradle distribution version in X.Y.Z format"
},
"jdkDistribution": {
"type": "string",
"description": "URL to grab a JDK distribution in tar.gz format. Used only in Github actions."
},
"dependencyExcludedGroups": {
"type": "array",
"description": "Excluded Maven groups when checking for outdated dependencies",
"items": {"type": "string"}
},
"pmdRulesUrl": {
"type": "string",
"description": "Optional URL to find and apply organization-wide PMD coding standard XML rules"
},
"versions": {"$ref": "#/$defs/gsVersionsConfig"}
}
}
}
}