From b76768ae4c4328e42ab2fb02eb59cbb91cc16b9c Mon Sep 17 00:00:00 2001 From: Aditya Bhaskar Date: Fri, 4 Aug 2023 22:37:02 +0100 Subject: [PATCH 1/6] Add some theme colours - mainly subgraph and node border colours --- .../dependencygraph/plugin/core/DrawGraph.kt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt index ffad810..f71b578 100644 --- a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt +++ b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt @@ -43,14 +43,24 @@ internal fun drawDependencyGraph( var fileText = """ ```mermaid - %%{ init: { 'theme': 'base' } }%% + %%{ + init: { + "theme": "base", + "themeVariables": { + "nodeTextColor": "#333333", + "clusterBorder": "#a0a0a0", + "nodeBorder": "#767676" + } + } + }%% + graph LR; %% Styling for module nodes by type classDef rootNode stroke-width:4px; - classDef mppNode fill:#ffd2b3,color:#333333; - classDef andNode fill:#baffc9,color:#333333; - classDef javaNode fill:#ffb3ba,color:#333333; + classDef mppNode fill:#ffd2b3; + classDef andNode fill:#baffc9; + classDef javaNode fill:#ffb3ba; $legendText %% Modules From 5c00b9406b21613f21eedfbd470e72a1f79f063f Mon Sep 17 00:00:00 2001 From: Aditya Bhaskar Date: Fri, 4 Aug 2023 22:57:21 +0100 Subject: [PATCH 2/6] Renaming stuff --- .../dependencygraph/plugin/core/DrawGraph.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt index f71b578..b618d93 100644 --- a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt +++ b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt @@ -83,7 +83,7 @@ internal fun drawDependencyGraph( var rootMap = mutableMapOf() for (project in relevantProjects) { - rootMap = mapProjectListToGroups( + rootMap = groupSubModules( currentPath = "", project = project, remainingPath = project.path, @@ -127,10 +127,10 @@ internal fun drawDependencyGraph( val isDirectDependency = origin == currentProject val arrow = when { - isApi && isDirectDependency -> ConnecterType.DirectApi - isApi -> ConnecterType.IndirectApi - isDirectDependency -> ConnecterType.Direct - else -> ConnecterType.Indirect + isApi && isDirectDependency -> ConnectorType.DirectApi + isApi -> ConnectorType.IndirectApi + isDirectDependency -> ConnectorType.Direct + else -> ConnectorType.Indirect } fileText += "${origin.path}${arrow}${target.path}\n" } @@ -295,7 +295,7 @@ private data class ProjectOrSubMap( } } -private fun mapProjectListToGroups( +private fun groupSubModules( currentPath: String, project: ModuleProject, remainingPath: String, @@ -324,7 +324,7 @@ private fun mapProjectListToGroups( } else { "$currentPath:${nextPath[0]}" } - val subMap = mapProjectListToGroups( + val subMap = groupSubModules( currentPath = key, project = project, remainingPath = nowRemainingPath, @@ -408,7 +408,7 @@ private object NodeClass { const val Java = ":::javaNode" } -private object ConnecterType { +private object ConnectorType { const val DirectApi = "==API===>" const val IndirectApi = "--API--->" const val Direct = "===>" From ffa60d012229a4571e975ae75d502ac9621a6e7a Mon Sep 17 00:00:00 2001 From: Aditya Bhaskar Date: Fri, 4 Aug 2023 22:58:40 +0100 Subject: [PATCH 3/6] Add todo --- .../adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt index b618d93..6713b5e 100644 --- a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt +++ b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt @@ -335,6 +335,13 @@ private fun groupSubModules( } } +fun mapProjectListToGroups() { + // TODO: 04/08/2023 When encountering a sub project, add it to a list but only record parent + // folder name Then when drawing dependencies, check the list and draw it to parent folder + // when sub project falls under it +} + + /** * Returns a list of all modules that are direct or indirect dependencies of the provided module. * @param currentProjectAndDependencies the module(s) whose dependencies we need From 457311117bd5b41bba77532ef9d7b2a02883fff1 Mon Sep 17 00:00:00 2001 From: Aditya Bhaskar Date: Sat, 14 Oct 2023 14:00:58 +0100 Subject: [PATCH 4/6] Temporarily fix detekt by making function private --- .../adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt index 6713b5e..eeced5f 100644 --- a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt +++ b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt @@ -335,7 +335,7 @@ private fun groupSubModules( } } -fun mapProjectListToGroups() { +private fun mapProjectListToGroups() { // TODO: 04/08/2023 When encountering a sub project, add it to a list but only record parent // folder name Then when drawing dependencies, check the list and draw it to parent folder // when sub project falls under it From f47a3965b663a9b3ebee541c8016ef34bbf72ff0 Mon Sep 17 00:00:00 2001 From: Aditya Bhaskar Date: Sat, 14 Oct 2023 14:25:56 +0100 Subject: [PATCH 5/6] Update plugin version to 0.2.0 to prepare for grouped graph update --- README.md | 8 ++++---- plugin-build/gradle.properties | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4d05967..71456af 100644 --- a/README.md +++ b/README.md @@ -24,14 +24,14 @@ The plugin is available in the [Gradle plugins repository](https://plugins.gradl Kotlin: ```kotlin plugins { - id("io.github.adityabhaskar.dependencygraph") version "0.1.4" + id("io.github.adityabhaskar.dependencygraph") version "0.2.0" } ``` Groovy: ```groovy plugins { - id "io.github.adityabhaskar.dependencygraph" version "0.1.4" + id "io.github.adityabhaskar.dependencygraph" version "0.2.0" } ``` @@ -97,7 +97,7 @@ classDef andNode fill:#baffc9,color:#333333; classDef javaNode fill:#ffb3ba,color:#333333; %% Modules -subgraph +subgraph direction LR; :example:feature{{:example:feature}}:::javaNode; :example:models{{:example:models}}:::javaNode; @@ -132,7 +132,7 @@ classDef andNode fill:#baffc9,color:#333333; classDef javaNode fill:#ffb3ba,color:#333333; %% Modules -subgraph +subgraph direction LR; :example:data{{:example:data}}:::javaNode; :example:domain[:example:domain]:::javaNode; diff --git a/plugin-build/gradle.properties b/plugin-build/gradle.properties index 0eb4866..15804a0 100644 --- a/plugin-build/gradle.properties +++ b/plugin-build/gradle.properties @@ -1,5 +1,5 @@ ID=io.github.adityabhaskar.dependencygraph -VERSION=0.1.5 +VERSION=0.2.0 GROUP=io.github.adityabhaskar DISPLAY_NAME=Gradle module dependency graphs DESCRIPTION=A plugin to automatically produce Github/mermaid compatible dependency graphs From 36bfe34845218682aa6e90d7e640e6e9427a2278 Mon Sep 17 00:00:00 2001 From: Aditya Bhaskar Date: Sat, 14 Oct 2023 14:29:06 +0100 Subject: [PATCH 6/6] Lint fix --- .../adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt index eeced5f..b3d64d4 100644 --- a/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt +++ b/plugin-build/plugin/src/main/kotlin/io/github/adityabhaskar/dependencygraph/plugin/core/DrawGraph.kt @@ -335,13 +335,13 @@ private fun groupSubModules( } } +@Suppress("UnusedPrivateMember") private fun mapProjectListToGroups() { // TODO: 04/08/2023 When encountering a sub project, add it to a list but only record parent // folder name Then when drawing dependencies, check the list and draw it to parent folder // when sub project falls under it } - /** * Returns a list of all modules that are direct or indirect dependencies of the provided module. * @param currentProjectAndDependencies the module(s) whose dependencies we need