From f92afc3cb6bed6d4222db842bd83e49e92f83de6 Mon Sep 17 00:00:00 2001 From: Tjerk Wolterink Date: Tue, 9 Aug 2022 10:51:09 +0200 Subject: [PATCH 1/7] Update DependencyGraphGeneratorTask.kt Set a high upper bound for total memory to prevent failure: > Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 16777216, (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 --- .../dependency/graph/generator/DependencyGraphGeneratorTask.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt index af24690..5b2165c 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt @@ -28,7 +28,7 @@ import java.io.File val dot = File(outputDirectory, generator.outputFileNameDot) dot.writeText(graph.toString()) - val graphviz = Graphviz.fromGraph(graph).run(generator.graphviz) + val graphviz = Graphviz.fromGraph(graph).totalMemory(999999999).run(generator.graphviz) val renders = generator.outputFormats.map { graphviz.render(it).toFile(File(outputDirectory, generator.outputFileName)) From 205199d9ee1f77d1f5adc37908fd817cc785338b Mon Sep 17 00:00:00 2001 From: Tjerk W Date: Sun, 28 Aug 2022 14:23:35 +0200 Subject: [PATCH 2/7] Create withDefaultTotalMemory and use it in both tasks --- .../dependency/graph/generator/DependencyGraphGeneratorTask.kt | 2 +- .../graph/generator/ProjectDependencyGraphGeneratorTask.kt | 2 +- .../com/vanniktech/dependency/graph/generator/extensions.kt | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt index 5b2165c..47b132c 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/DependencyGraphGeneratorTask.kt @@ -28,7 +28,7 @@ import java.io.File val dot = File(outputDirectory, generator.outputFileNameDot) dot.writeText(graph.toString()) - val graphviz = Graphviz.fromGraph(graph).totalMemory(999999999).run(generator.graphviz) + val graphviz = Graphviz.fromGraph(graph).withDefaultTotalMemory().run(generator.graphviz) val renders = generator.outputFormats.map { graphviz.render(it).toFile(File(outputDirectory, generator.outputFileName)) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/ProjectDependencyGraphGeneratorTask.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/ProjectDependencyGraphGeneratorTask.kt index 461f061..4d2c308 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/ProjectDependencyGraphGeneratorTask.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/ProjectDependencyGraphGeneratorTask.kt @@ -28,7 +28,7 @@ import java.io.File val dot = File(outputDirectory, projectGenerator.outputFileNameDot) dot.writeText(graph.toString()) - val graphviz = Graphviz.fromGraph(graph).run(projectGenerator.graphviz) + val graphviz = Graphviz.fromGraph(graph).withDefaultTotalMemory().run(projectGenerator.graphviz) val renders = projectGenerator.outputFormats.map { graphviz.render(it).toFile(File(outputDirectory, projectGenerator.outputFileName)) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt index 8163299..4db1080 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt @@ -3,6 +3,7 @@ package com.vanniktech.dependency.graph.generator import com.vanniktech.dependency.graph.generator.ProjectTarget.MULTIPLATFORM import org.gradle.api.Project import org.gradle.api.artifacts.ProjectDependency +import guru.nidi.graphviz.engine.Graphviz private val whitespaceRegex = Regex("\\s") @@ -39,3 +40,5 @@ internal fun Project.target(): ProjectTarget { else -> withoutMultiplatform.firstOrNull() ?: ProjectTarget.OTHER } } + +internal fun Graphviz.withDefaultTotalMemory() = totalMemory(2.0.pow(30).toInt()) From 68c4ced9755e6ab456212a3111bd117f8685dea5 Mon Sep 17 00:00:00 2001 From: Tjerk Wolterink Date: Sun, 28 Aug 2022 14:24:53 +0200 Subject: [PATCH 3/7] Remove empty line --- .../com/vanniktech/dependency/graph/generator/extensions.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt index a4d06d2..a760648 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt @@ -34,7 +34,6 @@ internal fun Project.target(): ProjectTarget { } } - internal fun Configuration.isImplementation() = name.lowercase().endsWith("implementation") internal fun Graphviz.withDefaultTotalMemory() = totalMemory(2.0.pow(30).toInt()) From 05d28e10ca563e23202db5494b26346f71a1aa93 Mon Sep 17 00:00:00 2001 From: Niklas Baudy Date: Sun, 28 Aug 2022 14:43:30 +0200 Subject: [PATCH 4/7] Fix imports --- .../com/vanniktech/dependency/graph/generator/extensions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt index a760648..47108ea 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt @@ -1,10 +1,10 @@ package com.vanniktech.dependency.graph.generator import com.vanniktech.dependency.graph.generator.ProjectTarget.MULTIPLATFORM +import guru.nidi.graphviz.engine.Graphviz import org.gradle.api.Project import org.gradle.api.artifacts.Configuration import org.gradle.api.artifacts.ProjectDependency -import guru.nidi.graphviz.engine.Graphviz internal fun String.nonEmptyPrepend(prepend: String) = if (isNotEmpty()) prepend + this else this From dd30caec1923eb067e0a9749f2bbadfbded2099b Mon Sep 17 00:00:00 2001 From: Tjerk W Date: Sun, 28 Aug 2022 15:04:27 +0200 Subject: [PATCH 5/7] Add import --- .../com/vanniktech/dependency/graph/generator/extensions.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt index 4db1080..36a0147 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt @@ -1,10 +1,12 @@ package com.vanniktech.dependency.graph.generator +import kotlin.math.pow import com.vanniktech.dependency.graph.generator.ProjectTarget.MULTIPLATFORM import org.gradle.api.Project import org.gradle.api.artifacts.ProjectDependency import guru.nidi.graphviz.engine.Graphviz + private val whitespaceRegex = Regex("\\s") internal val String.dotIdentifier get() = replace("-", "") From 379e63e86b16089cfeda2d591850d851fa0c760a Mon Sep 17 00:00:00 2001 From: Tjerk W Date: Sun, 28 Aug 2022 15:12:43 +0200 Subject: [PATCH 6/7] run ktlint -F --- .../com/vanniktech/dependency/graph/generator/extensions.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt index 36a0147..e004f94 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt @@ -1,11 +1,10 @@ package com.vanniktech.dependency.graph.generator -import kotlin.math.pow import com.vanniktech.dependency.graph.generator.ProjectTarget.MULTIPLATFORM +import guru.nidi.graphviz.engine.Graphviz import org.gradle.api.Project import org.gradle.api.artifacts.ProjectDependency -import guru.nidi.graphviz.engine.Graphviz - +import kotlin.math.pow private val whitespaceRegex = Regex("\\s") From 93d0dc355c31b4afedc7baf16c2c7322d681737d Mon Sep 17 00:00:00 2001 From: Niklas Baudy Date: Sun, 28 Aug 2022 15:21:45 +0200 Subject: [PATCH 7/7] Update extensions.kt --- .../com/vanniktech/dependency/graph/generator/extensions.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt index a2db02d..5480e39 100644 --- a/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt +++ b/src/main/kotlin/com/vanniktech/dependency/graph/generator/extensions.kt @@ -7,7 +7,6 @@ import org.gradle.api.artifacts.Configuration import org.gradle.api.artifacts.ProjectDependency import kotlin.math.pow - internal fun String.nonEmptyPrepend(prepend: String) = if (isNotEmpty()) prepend + this else this