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
|
||||
## Dependency graph
|
||||

|
||||
# `:core:navigation`
|
||||
|
||||
## 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
|
||||
## Dependency graph
|
||||

|
||||
# `:feature:interests:impl`
|
||||
|
||||
## 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
|
||||
## Dependency graph
|
||||

|
||||
# `:feature:topic:api`
|
||||
|
||||
## 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
|
||||
## Dependency graph
|
||||

|
||||
# `:feature:topic:impl`
|
||||
|
||||
## 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