ui/material2/build.gradle.kts
author Da Risk <da_risk@geekorum.com>
Mon, 04 May 2026 18:00:16 -0400
changeset 114 ab226603d0f5
parent 86 ed5dfac18c84
child 117 22d79b197676
permissions -rw-r--r--
build: convert to AGP 9.2.0 and latest kotlin multiplatform
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     1
/*
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     2
 * AboutOss is an utility library to retrieve and display
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     3
 * opensource licenses in Android applications.
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     4
 *
34
ce299aacc068 build: update license headers
Da Risk <da_risk@geekorum.com>
parents: 33
diff changeset
     5
 * Copyright (C) 2023-2025 by Frederic-Charles Barthelery.
12
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     6
 *
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     7
 * This file is part of AboutOss.
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     8
 *
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
     9
 * AboutOss is free software: you can redistribute it and/or modify
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    10
 * it under the terms of the GNU General Public License as published by
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    11
 * the Free Software Foundation, either version 3 of the License, or
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    12
 * (at your option) any later version.
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    13
 *
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    14
 * AboutOss is distributed in the hope that it will be useful,
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    17
 * GNU General Public License for more details.
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    18
 *
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    19
 * You should have received a copy of the GNU General Public License
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    20
 * along with AboutOss.  If not, see <http://www.gnu.org/licenses/>.
dc48b76fbeb8 add more license headers
Da Risk <da_risk@geekorum.com>
parents: 7
diff changeset
    21
 */
38
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    22
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    23
0
0a13dcabf7d3 Initial commit
fbarthelery <darisk972@gmail.com>
parents:
diff changeset
    24
plugins {
86
ed5dfac18c84 build: use convention plugins to simplify build scripts
Da Risk <da_risk@geekorum.com>
parents: 74
diff changeset
    25
    id("com.geekorum.build.conventions.mpp-library-with-android")
72
746669e015f9 build: cleanup libs.versions.toml
Da Risk <da_risk@geekorum.com>
parents: 68
diff changeset
    26
    alias(libs.plugins.kotlin.compose)
746669e015f9 build: cleanup libs.versions.toml
Da Risk <da_risk@geekorum.com>
parents: 68
diff changeset
    27
    alias(libs.plugins.jetbrains.compose.multiplatform)
746669e015f9 build: cleanup libs.versions.toml
Da Risk <da_risk@geekorum.com>
parents: 68
diff changeset
    28
    alias(libs.plugins.kotlinx.serialization)
68
f6133d9381b2 build: configure maven publishing using gradle maven publish plugin
Da Risk <da_risk@geekorum.com>
parents: 58
diff changeset
    29
    id("com.geekorum.build.maven-publish")
74
57d9068de0ef build: add dokka aggregation project
Da Risk <da_risk@geekorum.com>
parents: 72
diff changeset
    30
    id("com.geekorum.build.dokka")
0
0a13dcabf7d3 Initial commit
fbarthelery <darisk972@gmail.com>
parents:
diff changeset
    31
}
0a13dcabf7d3 Initial commit
fbarthelery <darisk972@gmail.com>
parents:
diff changeset
    32
38
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    33
kotlin {
114
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    34
    android {
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    35
        namespace = "com.geekorum.aboutoss.ui.material"
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    36
        androidResources {
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    37
            enable = true
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    38
        }
38
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    39
114
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    40
        @Suppress("UnstableApiUsage")
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    41
        optimization {
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    42
            consumerKeepRules.apply {
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    43
                publish = true
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    44
                file("consumer-rules.pro")
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    45
            }
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    46
        }
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    47
    }
38
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    48
    jvm("desktop")
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    49
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    50
    listOf(
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    51
        iosX64(),
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    52
        iosArm64(),
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    53
        iosSimulatorArm64(),
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    54
    ).forEach { iosTarget ->
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    55
        iosTarget.binaries.framework {
41
59b612ba3644 ui:mateiral2: fix ios baseName
Da Risk <da_risk@geekorum.com>
parents: 39
diff changeset
    56
            baseName = "aboutoss-ui-material"
38
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    57
            isStatic = true
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    58
        }
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    59
    }
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    60
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    61
    sourceSets {
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    62
        commonMain.dependencies {
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    63
            api(project(":ui:common"))
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    64
            implementation(project(":core"))
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    65
            implementation(compose.material)
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    66
            implementation(compose.components.resources)
72
746669e015f9 build: cleanup libs.versions.toml
Da Risk <da_risk@geekorum.com>
parents: 68
diff changeset
    67
            implementation(libs.jetbrains.compose.materialIconsCore)
746669e015f9 build: cleanup libs.versions.toml
Da Risk <da_risk@geekorum.com>
parents: 68
diff changeset
    68
            implementation(libs.jetbrains.androidx.navigation.compose)
746669e015f9 build: cleanup libs.versions.toml
Da Risk <da_risk@geekorum.com>
parents: 68
diff changeset
    69
            implementation(libs.jetbrains.androidx.lifecycle.viewModelCompose)
38
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    70
        }
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    71
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    72
        androidMain.dependencies {
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    73
            api(libs.androidx.activity)
39
b14d574cc2b1 ui:material2 extract OpenSourceDependenciesNavHost to common
Da Risk <da_risk@geekorum.com>
parents: 38
diff changeset
    74
            implementation(dependencies.platform(libs.androidx.compose.bom))
b14d574cc2b1 ui:material2 extract OpenSourceDependenciesNavHost to common
Da Risk <da_risk@geekorum.com>
parents: 38
diff changeset
    75
            implementation(libs.androidx.activity.compose)
38
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    76
        }
764faee147cc ui:material2: convert to kotlin-multiplatform
Da Risk <da_risk@geekorum.com>
parents: 34
diff changeset
    77
114
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    78
        androidUnitTest.dependencies {
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    79
            implementation(libs.androidx.test.ext.junit)
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    80
            implementation(libs.espresso.core)
7
b3b2e88f441f add README.md and maven publications
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    81
        }
b3b2e88f441f add README.md and maven publications
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    82
    }
0
0a13dcabf7d3 Initial commit
fbarthelery <darisk972@gmail.com>
parents:
diff changeset
    83
}
0a13dcabf7d3 Initial commit
fbarthelery <darisk972@gmail.com>
parents:
diff changeset
    84
0a13dcabf7d3 Initial commit
fbarthelery <darisk972@gmail.com>
parents:
diff changeset
    85
dependencies {
114
ab226603d0f5 build: convert to AGP 9.2.0 and latest kotlin multiplatform
Da Risk <da_risk@geekorum.com>
parents: 86
diff changeset
    86
    androidRuntimeClasspath(libs.jetbrains.compose.uiTooling)
7
b3b2e88f441f add README.md and maven publications
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    87
}
b3b2e88f441f add README.md and maven publications
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    88
68
f6133d9381b2 build: configure maven publishing using gradle maven publish plugin
Da Risk <da_risk@geekorum.com>
parents: 58
diff changeset
    89
mavenPublishing {
f6133d9381b2 build: configure maven publishing using gradle maven publish plugin
Da Risk <da_risk@geekorum.com>
parents: 58
diff changeset
    90
    val artifactId = "ui-material"
f6133d9381b2 build: configure maven publishing using gradle maven publish plugin
Da Risk <da_risk@geekorum.com>
parents: 58
diff changeset
    91
    coordinates(groupId = group.toString(), artifactId, version.toString())
f6133d9381b2 build: configure maven publishing using gradle maven publish plugin
Da Risk <da_risk@geekorum.com>
parents: 58
diff changeset
    92
    pom {
f6133d9381b2 build: configure maven publishing using gradle maven publish plugin
Da Risk <da_risk@geekorum.com>
parents: 58
diff changeset
    93
        name = artifactId
7
b3b2e88f441f add README.md and maven publications
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    94
    }
74
57d9068de0ef build: add dokka aggregation project
Da Risk <da_risk@geekorum.com>
parents: 72
diff changeset
    95
}
57d9068de0ef build: add dokka aggregation project
Da Risk <da_risk@geekorum.com>
parents: 72
diff changeset
    96
57d9068de0ef build: add dokka aggregation project
Da Risk <da_risk@geekorum.com>
parents: 72
diff changeset
    97
dokka {
57d9068de0ef build: add dokka aggregation project
Da Risk <da_risk@geekorum.com>
parents: 72
diff changeset
    98
    moduleName = "ui-material"
68
f6133d9381b2 build: configure maven publishing using gradle maven publish plugin
Da Risk <da_risk@geekorum.com>
parents: 58
diff changeset
    99
}