commit
d691c81c15
@ -0,0 +1,80 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2026 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
|
||||||
|
*
|
||||||
|
* https://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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.google.samples.apps.nowinandroid
|
||||||
|
|
||||||
|
import com.diffplug.gradle.spotless.SpotlessExtension
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.kotlin.dsl.apply
|
||||||
|
import org.gradle.kotlin.dsl.configure
|
||||||
|
|
||||||
|
internal fun Project.configureSpotlessForAndroid() {
|
||||||
|
configureSpotlessCommon()
|
||||||
|
extensions.configure<SpotlessExtension> {
|
||||||
|
format("xml") {
|
||||||
|
target("src/**/*.xml")
|
||||||
|
// Look for the first XML tag that isn't a comment (<!--) or the xml declaration (<?xml)
|
||||||
|
licenseHeaderFile(rootDir.resolve("spotless/copyright.xml"), "(<[^!?])")
|
||||||
|
endWithNewline()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal fun Project.configureSpotlessForJvm() {
|
||||||
|
configureSpotlessCommon()
|
||||||
|
}
|
||||||
|
|
||||||
|
internal fun Project.configureSpotlessForRootProject() {
|
||||||
|
apply(plugin = "com.diffplug.spotless")
|
||||||
|
extensions.configure<SpotlessExtension> {
|
||||||
|
kotlin {
|
||||||
|
target("build-logic/convention/src/**/*.kt")
|
||||||
|
ktlint(libs.findVersion("ktlint").get().requiredVersion).editorConfigOverride(
|
||||||
|
mapOf("android" to "true"),
|
||||||
|
)
|
||||||
|
licenseHeaderFile(rootDir.resolve("spotless/copyright.kt"))
|
||||||
|
endWithNewline()
|
||||||
|
}
|
||||||
|
format("kts") {
|
||||||
|
target("*.kts")
|
||||||
|
target("build-logic/*.kts")
|
||||||
|
target("build-logic/convention/*.kts")
|
||||||
|
// Look for the first line that doesn't have a block comment (assumed to be the license)
|
||||||
|
licenseHeaderFile(rootDir.resolve("spotless/copyright.kts"), "(^(?![\\/ ]\\*).*$)")
|
||||||
|
endWithNewline()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun Project.configureSpotlessCommon() {
|
||||||
|
apply(plugin = "com.diffplug.spotless")
|
||||||
|
extensions.configure<SpotlessExtension> {
|
||||||
|
kotlin {
|
||||||
|
target("src/**/*.kt")
|
||||||
|
ktlint(libs.findVersion("ktlint").get().requiredVersion).editorConfigOverride(
|
||||||
|
mapOf("android" to "true"),
|
||||||
|
)
|
||||||
|
licenseHeaderFile(rootDir.resolve("spotless/copyright.kt"))
|
||||||
|
endWithNewline()
|
||||||
|
}
|
||||||
|
format("kts") {
|
||||||
|
target("*.kts")
|
||||||
|
// Look for the first line that doesn't have a block comment (assumed to be the license)
|
||||||
|
licenseHeaderFile(rootDir.resolve("spotless/copyright.kts"), "(^(?![\\/ ]\\*).*$)")
|
||||||
|
endWithNewline()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,3 +1,48 @@
|
|||||||
# :core:navigation module
|
# `:core:navigation`
|
||||||
## Dependency graph
|
|
||||||

|
## Module dependency graph
|
||||||
|
|
||||||
|
<!--region graph-->
|
||||||
|
```mermaid
|
||||||
|
---
|
||||||
|
config:
|
||||||
|
layout: elk
|
||||||
|
elk:
|
||||||
|
nodePlacementStrategy: SIMPLE
|
||||||
|
---
|
||||||
|
graph TB
|
||||||
|
subgraph :core
|
||||||
|
direction TB
|
||||||
|
:core:navigation[navigation]:::android-library
|
||||||
|
end
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
<details><summary>📋 Graph legend</summary>
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TB
|
||||||
|
application[application]:::android-application
|
||||||
|
feature[feature]:::android-feature
|
||||||
|
library[library]:::android-library
|
||||||
|
jvm[jvm]:::jvm-library
|
||||||
|
|
||||||
|
application -.-> feature
|
||||||
|
library --> jvm
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
<!--endregion-->
|
||||||
|
|||||||
@ -1,3 +1,101 @@
|
|||||||
# :feature:interests:impl module
|
# `:feature:interests:impl`
|
||||||
## Dependency graph
|
|
||||||

|
## Module dependency graph
|
||||||
|
|
||||||
|
<!--region graph-->
|
||||||
|
```mermaid
|
||||||
|
---
|
||||||
|
config:
|
||||||
|
layout: elk
|
||||||
|
elk:
|
||||||
|
nodePlacementStrategy: SIMPLE
|
||||||
|
---
|
||||||
|
graph TB
|
||||||
|
subgraph :feature
|
||||||
|
direction TB
|
||||||
|
subgraph :feature:interests
|
||||||
|
direction TB
|
||||||
|
:feature:interests:api[api]:::android-library
|
||||||
|
:feature:interests:impl[impl]:::android-library
|
||||||
|
end
|
||||||
|
subgraph :feature:topic
|
||||||
|
direction TB
|
||||||
|
:feature:topic:api[api]:::android-library
|
||||||
|
end
|
||||||
|
end
|
||||||
|
subgraph :core
|
||||||
|
direction TB
|
||||||
|
:core:analytics[analytics]:::android-library
|
||||||
|
:core:common[common]:::jvm-library
|
||||||
|
:core:data[data]:::android-library
|
||||||
|
:core:database[database]:::android-library
|
||||||
|
:core:datastore[datastore]:::android-library
|
||||||
|
:core:datastore-proto[datastore-proto]:::android-library
|
||||||
|
:core:designsystem[designsystem]:::android-library
|
||||||
|
:core:domain[domain]:::android-library
|
||||||
|
:core:model[model]:::jvm-library
|
||||||
|
:core:navigation[navigation]:::android-library
|
||||||
|
:core:network[network]:::android-library
|
||||||
|
:core:notifications[notifications]:::android-library
|
||||||
|
:core:ui[ui]:::android-library
|
||||||
|
end
|
||||||
|
|
||||||
|
:core:data -.-> :core:analytics
|
||||||
|
:core:data --> :core:common
|
||||||
|
:core:data --> :core:database
|
||||||
|
:core:data --> :core:datastore
|
||||||
|
:core:data --> :core:network
|
||||||
|
:core:data -.-> :core:notifications
|
||||||
|
:core:database --> :core:model
|
||||||
|
:core:datastore -.-> :core:common
|
||||||
|
:core:datastore --> :core:datastore-proto
|
||||||
|
:core:datastore --> :core:model
|
||||||
|
:core:domain --> :core:data
|
||||||
|
:core:domain --> :core:model
|
||||||
|
:core:network --> :core:common
|
||||||
|
:core:network --> :core:model
|
||||||
|
:core:notifications -.-> :core:common
|
||||||
|
:core:notifications --> :core:model
|
||||||
|
:core:ui --> :core:analytics
|
||||||
|
:core:ui --> :core:designsystem
|
||||||
|
:core:ui --> :core:model
|
||||||
|
:feature:interests:api --> :core:navigation
|
||||||
|
:feature:interests:impl -.-> :core:designsystem
|
||||||
|
:feature:interests:impl -.-> :core:domain
|
||||||
|
:feature:interests:impl -.-> :core:ui
|
||||||
|
:feature:interests:impl -.-> :feature:interests:api
|
||||||
|
:feature:interests:impl -.-> :feature:topic:api
|
||||||
|
:feature:topic:api -.-> :core:designsystem
|
||||||
|
:feature:topic:api --> :core:navigation
|
||||||
|
:feature:topic:api -.-> :core:ui
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
<details><summary>📋 Graph legend</summary>
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TB
|
||||||
|
application[application]:::android-application
|
||||||
|
feature[feature]:::android-feature
|
||||||
|
library[library]:::android-library
|
||||||
|
jvm[jvm]:::jvm-library
|
||||||
|
|
||||||
|
application -.-> feature
|
||||||
|
library --> jvm
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
<!--endregion-->
|
||||||
|
|||||||
@ -1,3 +1,66 @@
|
|||||||
# :feature:topic:api module
|
# `:feature:topic:api`
|
||||||
## Dependency graph
|
|
||||||

|
## Module dependency graph
|
||||||
|
|
||||||
|
<!--region graph-->
|
||||||
|
```mermaid
|
||||||
|
---
|
||||||
|
config:
|
||||||
|
layout: elk
|
||||||
|
elk:
|
||||||
|
nodePlacementStrategy: SIMPLE
|
||||||
|
---
|
||||||
|
graph TB
|
||||||
|
subgraph :feature
|
||||||
|
direction TB
|
||||||
|
subgraph :feature:topic
|
||||||
|
direction TB
|
||||||
|
:feature:topic:api[api]:::android-library
|
||||||
|
end
|
||||||
|
end
|
||||||
|
subgraph :core
|
||||||
|
direction TB
|
||||||
|
:core:analytics[analytics]:::android-library
|
||||||
|
:core:designsystem[designsystem]:::android-library
|
||||||
|
:core:model[model]:::jvm-library
|
||||||
|
:core:navigation[navigation]:::android-library
|
||||||
|
:core:ui[ui]:::android-library
|
||||||
|
end
|
||||||
|
|
||||||
|
:core:ui --> :core:analytics
|
||||||
|
:core:ui --> :core:designsystem
|
||||||
|
:core:ui --> :core:model
|
||||||
|
:feature:topic:api -.-> :core:designsystem
|
||||||
|
:feature:topic:api --> :core:navigation
|
||||||
|
:feature:topic:api -.-> :core:ui
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
<details><summary>📋 Graph legend</summary>
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TB
|
||||||
|
application[application]:::android-application
|
||||||
|
feature[feature]:::android-feature
|
||||||
|
library[library]:::android-library
|
||||||
|
jvm[jvm]:::jvm-library
|
||||||
|
|
||||||
|
application -.-> feature
|
||||||
|
library --> jvm
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
<!--endregion-->
|
||||||
|
|||||||
@ -1,3 +1,92 @@
|
|||||||
# :feature:topic:impl module
|
# `:feature:topic:impl`
|
||||||
## Dependency graph
|
|
||||||

|
## Module dependency graph
|
||||||
|
|
||||||
|
<!--region graph-->
|
||||||
|
```mermaid
|
||||||
|
---
|
||||||
|
config:
|
||||||
|
layout: elk
|
||||||
|
elk:
|
||||||
|
nodePlacementStrategy: SIMPLE
|
||||||
|
---
|
||||||
|
graph TB
|
||||||
|
subgraph :feature
|
||||||
|
direction TB
|
||||||
|
subgraph :feature:topic
|
||||||
|
direction TB
|
||||||
|
:feature:topic:api[api]:::android-library
|
||||||
|
:feature:topic:impl[impl]:::android-library
|
||||||
|
end
|
||||||
|
end
|
||||||
|
subgraph :core
|
||||||
|
direction TB
|
||||||
|
:core:analytics[analytics]:::android-library
|
||||||
|
:core:common[common]:::jvm-library
|
||||||
|
:core:data[data]:::android-library
|
||||||
|
:core:database[database]:::android-library
|
||||||
|
:core:datastore[datastore]:::android-library
|
||||||
|
:core:datastore-proto[datastore-proto]:::android-library
|
||||||
|
:core:designsystem[designsystem]:::android-library
|
||||||
|
:core:model[model]:::jvm-library
|
||||||
|
:core:navigation[navigation]:::android-library
|
||||||
|
:core:network[network]:::android-library
|
||||||
|
:core:notifications[notifications]:::android-library
|
||||||
|
:core:ui[ui]:::android-library
|
||||||
|
end
|
||||||
|
|
||||||
|
:core:data -.-> :core:analytics
|
||||||
|
:core:data --> :core:common
|
||||||
|
:core:data --> :core:database
|
||||||
|
:core:data --> :core:datastore
|
||||||
|
:core:data --> :core:network
|
||||||
|
:core:data -.-> :core:notifications
|
||||||
|
:core:database --> :core:model
|
||||||
|
:core:datastore -.-> :core:common
|
||||||
|
:core:datastore --> :core:datastore-proto
|
||||||
|
:core:datastore --> :core:model
|
||||||
|
:core:network --> :core:common
|
||||||
|
:core:network --> :core:model
|
||||||
|
:core:notifications -.-> :core:common
|
||||||
|
:core:notifications --> :core:model
|
||||||
|
:core:ui --> :core:analytics
|
||||||
|
:core:ui --> :core:designsystem
|
||||||
|
:core:ui --> :core:model
|
||||||
|
:feature:topic:api -.-> :core:designsystem
|
||||||
|
:feature:topic:api --> :core:navigation
|
||||||
|
:feature:topic:api -.-> :core:ui
|
||||||
|
:feature:topic:impl -.-> :core:data
|
||||||
|
:feature:topic:impl -.-> :core:designsystem
|
||||||
|
:feature:topic:impl -.-> :core:ui
|
||||||
|
:feature:topic:impl -.-> :feature:topic:api
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
<details><summary>📋 Graph legend</summary>
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TB
|
||||||
|
application[application]:::android-application
|
||||||
|
feature[feature]:::android-feature
|
||||||
|
library[library]:::android-library
|
||||||
|
jvm[jvm]:::jvm-library
|
||||||
|
|
||||||
|
application -.-> feature
|
||||||
|
library --> jvm
|
||||||
|
|
||||||
|
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
<!--endregion-->
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue