Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev -> main #821

Merged
merged 10 commits into from Nov 24, 2022
4 changes: 3 additions & 1 deletion README.md
Expand Up @@ -39,7 +39,7 @@

## Latest releases 🛠

- (Next Gen) Kotlin && Multiplatform && Plugin | [v10.5.1](https://github.com/mikepenz/AboutLibraries/tree/v10.5.1)
- (Next Gen) Kotlin && Multiplatform && Plugin | [v10.5.2](https://github.com/mikepenz/AboutLibraries/tree/v10.5.2)
- Kotlin && Gradle Plugin | [v8.9.4](https://github.com/mikepenz/AboutLibraries/tree/v8.9.4)

## Gradle Plugin
Expand Down Expand Up @@ -131,6 +131,8 @@ aboutLibraries {
duplicationMode = com.mikepenz.aboutlibraries.plugin.DuplicateMode.LINK
// Configure the duplication rule, to match "duplicates" with
duplicationRule = com.mikepenz.aboutlibraries.plugin.DuplicateRule.SIMPLE
// Enable pretty printing for the generated JSON file
prettyPrint = false
}
```

Expand Down
Expand Up @@ -155,7 +155,11 @@ fun LicenseDialog(
}

@Composable
fun HtmlText(html: String, modifier: Modifier = Modifier, color: Color = Color.Black) {
fun HtmlText(
html: String,
modifier: Modifier = Modifier,
color: Color = LibraryDefaults.libraryColors().contentColor
) {
AndroidView(modifier = modifier, factory = { context ->
TextView(context).apply {
setTextColor(color.toArgb())
Expand Down
1 change: 1 addition & 0 deletions app-desktop/build.gradle.kts
Expand Up @@ -37,4 +37,5 @@ application {

aboutLibraries {
registerAndroidTasks = false
prettyPrint = true
}
715 changes: 714 additions & 1 deletion app-desktop/src/main/resources/aboutlibraries.json

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions app/build.gradle
Expand Up @@ -112,6 +112,8 @@ aboutLibraries {
duplicationMode = com.mikepenz.aboutlibraries.plugin.DuplicateMode.LINK
// Configure the duplication rule, to match "duplicates" with
duplicationRule = com.mikepenz.aboutlibraries.plugin.DuplicateRule.SIMPLE
// Enable pretty printing for the generated JSON file
prettyPrint = true
}

dependencies {
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
@@ -1,6 +1,6 @@
GROUP=com.mikepenz
VERSION_NAME=10.5.1
VERSION_CODE=100501
VERSION_NAME=10.5.2
VERSION_CODE=100502

POM_URL=https://github.com/mikepenz/AboutLibraries
POM_SCM_URL=https://github.com/mikepenz/AboutLibraries
Expand Down
12 changes: 6 additions & 6 deletions gradle/libs.versions.toml
Expand Up @@ -5,29 +5,29 @@ coreMinSdk = "19"
minSdk = "21"
targetSdk = "33"
# build
gradleBuild = "7.3.0"
gradleBuild = "7.3.1"
buildTools = "33.0.0"
# kotlin
dokka = "1.7.20"
kotlinCore = { require = "1.7.20" }
kotlinCoroutines = { require = "1.6.4" }
kotlinxSerialization = "1.4.0"
# compose
compose = "1.2.1"
compose = "1.3.1"
composeCompiler = "1.3.2"
composejb = "1.2.0"
composejb = "1.3.0-beta03"
# androidx
activity = "1.6.0"
activity = "1.6.1"
cardview = "1.0.0"
constraintLayout = "2.1.4"
core = "1.9.0"
lifecycle = { require = "2.5.1" }
navigation = "2.5.2"
recyclerView = "1.2.1"
# google
material = "1.6.1"
material = "1.7.0"
# other
accompanist = "0.25.1"
accompanist = "0.27.1"
fastAdapter = "5.7.0"
gradleMvnPublish = "0.18.0"
iconics = "5.3.3"
Expand Down
Expand Up @@ -216,6 +216,17 @@ abstract class AboutLibrariesExtension {
* ```
*/
var excludeFields: Array<String> = emptyArray()

/**
* Enable pretty printing for the generated JSON metadata.
*
* ```
* aboutLibraries {
* prettyPrint = true
* }
* ```
*/
var prettyPrint: Boolean = false
}

enum class StrictMode {
Expand Down
Expand Up @@ -77,7 +77,7 @@ abstract class AboutLibrariesTask : BaseAboutLibrariesTask() {
}

// write to disk
result.writeToDisk(combinedLibrariesOutputFile, excludeFields)
result.writeToDisk(combinedLibrariesOutputFile, excludeFields, extension.prettyPrint)
}

companion object {
Expand Down
Expand Up @@ -3,6 +3,7 @@ package com.mikepenz.aboutlibraries.plugin.model
import com.mikepenz.aboutlibraries.plugin.mapping.Library
import com.mikepenz.aboutlibraries.plugin.mapping.License
import groovy.json.JsonGenerator
import groovy.json.JsonOutput
import java.io.File
import java.io.OutputStreamWriter
import java.io.PrintWriter
Expand All @@ -13,23 +14,23 @@ import java.util.*

data class ResultContainer(
val libraries: List<Library>,
val licenses: Map<String, License>
val licenses: Map<String, License>,
) {
val metadata: MetaData = MetaData()
}

class MetaData(
val generated: String = DateTimeFormatter.ISO_DATE_TIME
.withZone(ZoneOffset.UTC)
.format(Calendar.getInstance().toInstant())
.format(Calendar.getInstance().toInstant()),
)

fun ResultContainer.writeToDisk(outputFile: File, excludeFields: Array<String>) {
fun ResultContainer.writeToDisk(outputFile: File, excludeFields: Array<String>, prettyPrint: Boolean) {
val fieldNames = mutableListOf("artifactId", "groupId", "artifactFolder").also {
it.addAll(excludeFields)
}
val jsonGenerator = JsonGenerator.Options().excludeNulls().excludeFieldsByName(fieldNames).build()
PrintWriter(OutputStreamWriter(outputFile.outputStream(), StandardCharsets.UTF_8), true).use {
it.write(jsonGenerator.toJson(this))
it.write(jsonGenerator.toJson(this).let { json -> if (prettyPrint) JsonOutput.prettyPrint(json) else json })
}
}
Expand Up @@ -122,8 +122,8 @@ class DependencyCollector(
*/
private val testCompile = setOf("testCompile", "androidTestCompile")
private val Configuration.isTest
get() = name.contains("test", ignoreCase = true) ||
name.contains("androidTest", ignoreCase = true) ||
get() = name.startsWith("test", ignoreCase = true) ||
name.startsWith("androidTest", ignoreCase = true) ||
hierarchy.any { configurationHierarchy ->
testCompile.any { configurationHierarchy.name.contains(it, ignoreCase = true) }
}
Expand Down