Skip to content

Commit fee47fd

Browse files
authored
Merge pull request #102 from teogor/docs/bom
Add Documentation Generation for Ceres Libraries and BoM Versions
2 parents 19b9313 + bcc5e1e commit fee47fd

30 files changed

+1279
-332
lines changed

.github/workflows/android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Android CI
22

33
on:
4-
4+
55
# push:
66
# branches: [ main ]
77
# pull_request:

.idea/codeStyles/Project.xml

Lines changed: 0 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
[
2+
{
3+
"name": "Ceres Backup Core",
4+
"path": ":backup:core",
5+
"groupId": "dev.teogor.ceres",
6+
"artifactId": "backup-core",
7+
"version": "1.0.0-alpha01",
8+
"deprecated": false
9+
},
10+
{
11+
"name": "Ceres Backup UI",
12+
"path": ":backup:ui",
13+
"groupId": "dev.teogor.ceres",
14+
"artifactId": "backup-ui",
15+
"version": "1.0.0-alpha01",
16+
"deprecated": false
17+
},
18+
{
19+
"name": "Ceres Core Network",
20+
"path": ":core:network",
21+
"groupId": "dev.teogor.ceres",
22+
"artifactId": "core-network",
23+
"version": "1.0.0-alpha01",
24+
"deprecated": false
25+
},
26+
{
27+
"name": "Ceres Core Notifications",
28+
"path": ":core:notifications",
29+
"groupId": "dev.teogor.ceres",
30+
"artifactId": "core-notifications",
31+
"version": "1.0.0-alpha01",
32+
"deprecated": false
33+
},
34+
{
35+
"name": "Ceres Core Runtime",
36+
"path": ":core:runtime",
37+
"groupId": "dev.teogor.ceres",
38+
"artifactId": "core-runtime",
39+
"version": "1.0.0-alpha01",
40+
"deprecated": false
41+
},
42+
{
43+
"name": "Ceres Core Startup",
44+
"path": ":core:startup",
45+
"groupId": "dev.teogor.ceres",
46+
"artifactId": "core-startup",
47+
"version": "1.0.0-alpha01",
48+
"deprecated": false
49+
},
50+
{
51+
"name": "Ceres Data Compose",
52+
"path": ":data:compose",
53+
"groupId": "dev.teogor.ceres",
54+
"artifactId": "data-compose",
55+
"version": "1.0.0-alpha01",
56+
"deprecated": false
57+
},
58+
{
59+
"name": "Ceres Data Database",
60+
"path": ":data:database",
61+
"groupId": "dev.teogor.ceres",
62+
"artifactId": "data-database",
63+
"version": "1.0.0-alpha01",
64+
"deprecated": false
65+
},
66+
{
67+
"name": "Ceres Data Datastore",
68+
"path": ":data:datastore",
69+
"groupId": "dev.teogor.ceres",
70+
"artifactId": "data-datastore",
71+
"version": "1.0.0-alpha01",
72+
"deprecated": false
73+
},
74+
{
75+
"name": "Ceres Firebase Analytics",
76+
"path": ":firebase:analytics",
77+
"groupId": "dev.teogor.ceres",
78+
"artifactId": "firebase-analytics",
79+
"version": "1.0.0-alpha01",
80+
"deprecated": false
81+
},
82+
{
83+
"name": "Ceres Firebase Crashlytics",
84+
"path": ":firebase:crashlytics",
85+
"groupId": "dev.teogor.ceres",
86+
"artifactId": "firebase-crashlytics",
87+
"version": "1.0.0-alpha01",
88+
"deprecated": false
89+
},
90+
{
91+
"name": "Ceres Firebase Remote-Config",
92+
"path": ":firebase:remote-config",
93+
"groupId": "dev.teogor.ceres",
94+
"artifactId": "firebase-remote-config",
95+
"version": "1.0.0-alpha01",
96+
"deprecated": false
97+
},
98+
{
99+
"name": "Ceres Framework Core",
100+
"path": ":framework:core",
101+
"groupId": "dev.teogor.ceres",
102+
"artifactId": "framework-core",
103+
"version": "1.0.0-alpha01",
104+
"deprecated": false
105+
},
106+
{
107+
"name": "Ceres Framework UI",
108+
"path": ":framework:ui",
109+
"groupId": "dev.teogor.ceres",
110+
"artifactId": "framework-ui",
111+
"version": "1.0.0-alpha01",
112+
"deprecated": false
113+
},
114+
{
115+
"name": "Ceres Monetisation AdMob",
116+
"path": ":monetisation:admob",
117+
"groupId": "dev.teogor.ceres",
118+
"artifactId": "monetisation-admob",
119+
"version": "1.0.0-alpha01",
120+
"deprecated": false
121+
},
122+
{
123+
"name": "Ceres Monetisation Messaging",
124+
"path": ":monetisation:messaging",
125+
"groupId": "dev.teogor.ceres",
126+
"artifactId": "monetisation-messaging",
127+
"version": "1.0.0-alpha01",
128+
"deprecated": false
129+
},
130+
{
131+
"name": "Ceres Navigation Common",
132+
"path": ":navigation:common",
133+
"groupId": "dev.teogor.ceres",
134+
"artifactId": "navigation-common",
135+
"version": "1.0.0-alpha01",
136+
"deprecated": false
137+
},
138+
{
139+
"name": "Ceres Navigation Core",
140+
"path": ":navigation:core",
141+
"groupId": "dev.teogor.ceres",
142+
"artifactId": "navigation-core",
143+
"version": "1.0.0-alpha01",
144+
"deprecated": false
145+
},
146+
{
147+
"name": "Ceres Navigation Events",
148+
"path": ":navigation:events",
149+
"groupId": "dev.teogor.ceres",
150+
"artifactId": "navigation-events",
151+
"version": "1.0.0-alpha01",
152+
"deprecated": false
153+
},
154+
{
155+
"name": "Ceres Navigation Screen",
156+
"path": ":navigation:screen",
157+
"groupId": "dev.teogor.ceres",
158+
"artifactId": "navigation-screen",
159+
"version": "1.0.0-alpha01",
160+
"deprecated": false
161+
},
162+
{
163+
"name": "Ceres Navigation UI",
164+
"path": ":navigation:ui",
165+
"groupId": "dev.teogor.ceres",
166+
"artifactId": "navigation-ui",
167+
"version": "1.0.0-alpha01",
168+
"deprecated": false
169+
},
170+
{
171+
"name": "Ceres Screen Builder",
172+
"path": ":screen:builder",
173+
"groupId": "dev.teogor.ceres",
174+
"artifactId": "screen-builder",
175+
"version": "1.0.0-alpha01",
176+
"deprecated": false
177+
},
178+
{
179+
"name": "Ceres Screen Core",
180+
"path": ":screen:core",
181+
"groupId": "dev.teogor.ceres",
182+
"artifactId": "screen-core",
183+
"version": "1.0.0-alpha01",
184+
"deprecated": false
185+
},
186+
{
187+
"name": "Ceres Screen UI",
188+
"path": ":screen:ui",
189+
"groupId": "dev.teogor.ceres",
190+
"artifactId": "screen-ui",
191+
"version": "1.0.0-alpha01",
192+
"deprecated": false
193+
},
194+
{
195+
"name": "Ceres UI Compose",
196+
"path": ":ui:compose",
197+
"groupId": "dev.teogor.ceres",
198+
"artifactId": "ui-compose",
199+
"version": "1.0.0-alpha01",
200+
"deprecated": false
201+
},
202+
{
203+
"name": "Ceres UI Design-System",
204+
"path": ":ui:designsystem",
205+
"groupId": "dev.teogor.ceres",
206+
"artifactId": "ui-designsystem",
207+
"version": "1.0.0-alpha01",
208+
"deprecated": false
209+
},
210+
{
211+
"name": "Ceres UI Foundation",
212+
"path": ":ui:foundation",
213+
"groupId": "dev.teogor.ceres",
214+
"artifactId": "ui-foundation",
215+
"version": "1.0.0-alpha01",
216+
"deprecated": false
217+
},
218+
{
219+
"name": "Ceres UI Icons",
220+
"path": ":ui:icons",
221+
"groupId": "dev.teogor.ceres",
222+
"artifactId": "ui-icons",
223+
"version": "1.0.0-alpha01",
224+
"deprecated": false
225+
},
226+
{
227+
"name": "Ceres UI Spectrum",
228+
"path": ":ui:spectrum",
229+
"groupId": "dev.teogor.ceres",
230+
"artifactId": "ui-spectrum",
231+
"version": "1.0.0-alpha01",
232+
"deprecated": false
233+
},
234+
{
235+
"name": "Ceres UI Theme",
236+
"path": ":ui:theme",
237+
"groupId": "dev.teogor.ceres",
238+
"artifactId": "ui-theme",
239+
"version": "1.0.0-alpha01",
240+
"deprecated": false
241+
}
242+
]

.resources/bom/versions.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{
3+
"version": "1.0.0-alpha01",
4+
"date": 1695925132
5+
}
6+
]

bom/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ afterEvaluate {
3636
collectBomConstraints()
3737

3838
val ceresLibrary = project.extensions.getByType(CeresLibraryExtension::class.java)
39+
ceresLibrary.name = "Ceres BoM"
3940
mavenPublishing {
4041
publishToMavenCentral(SonatypeHost.S01)
4142
signAllPublications()

build.gradle.kts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,13 @@ subprojects {
8282
}
8383
}
8484

85-
8685
fun Project.addDokka(
8786
enabled: Boolean,
8887
) {
89-
if(!enabled) {
88+
if (!enabled) {
9089
return
9190
}
9291
tasks.dokkaHtmlMultiModule.configure {
93-
println("rootDir=$rootDir.")
9492
outputDirectory.set(rootDir.resolve("docs/dokka"))
9593
}
9694

@@ -99,11 +97,9 @@ fun Project.addDokka(
9997
":app",
10098
)
10199
if (parent == rootProject) {
102-
if(!excludeModules.contains(path)) {
103-
println("applying dokka for ?? $path")
100+
if (!excludeModules.contains(path)) {
104101
apply(plugin = "org.jetbrains.dokka")
105102
subprojects {
106-
println("applying dokka for submodule ?? $path")
107103
apply(plugin = "org.jetbrains.dokka")
108104
}
109105

@@ -168,3 +164,6 @@ apiValidation {
168164
validationDisabled = false
169165
}
170166

167+
tasks.register<DependencyInfoGenerator>("generateDependenciesDocs") {
168+
generateBomMapping()
169+
}

buildSrc/build.gradle.kts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1818

1919
plugins {
2020
`kotlin-dsl`
21-
id("com.gradle.plugin-publish") version "1.1.0"
2221
alias(libs.plugins.vanniktech.maven)
23-
}
24-
25-
repositories {
26-
mavenLocal()
27-
maven(url = "https://maven.google.com/")
28-
mavenCentral()
29-
maven(url = "https://storage.googleapis.com/android-ci/mvn/")
30-
maven(url = "https://plugins.gradle.org/m2/")
22+
kotlin("plugin.serialization") version "1.6.0"
3123
}
3224

3325
java {
@@ -45,6 +37,7 @@ tasks.withType<KotlinCompile>().configureEach {
4537

4638
dependencies {
4739
api(gradleApi())
40+
implementation(libs.kotlinx.serialization.json)
4841
}
4942

5043
gradlePlugin {

buildSrc/settings.gradle.kts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
1+
pluginManagement {
2+
repositories {
3+
google()
4+
mavenCentral()
5+
gradlePluginPortal()
6+
}
7+
}
8+
9+
@Suppress("UnstableApiUsage")
110
dependencyResolutionManagement {
11+
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
12+
repositories {
13+
google()
14+
mavenCentral()
15+
}
216
versionCatalogs {
317
create("libs") {
418
from(files("${rootDir.parentFile}/gradle/libs.versions.toml"))

0 commit comments

Comments
 (0)