This is an automated email from the ASF dual-hosted git repository. alien11689 pushed a commit to branch visualize-dependencies in repository https://gitbox.apache.org/repos/asf/aries.git
commit c4f23e6ecba2c71fda034fb3f2cfae15dd9ce6ea Author: Dominik Przybysz <[email protected]> AuthorDate: Sun Feb 9 19:46:11 2025 +0100 [MAINTENANCE] Visualize dependencies in submodules --- README.md | 25 ++++++++++++++++--------- blueprint/pom.xml | 3 +-- createDependencyGraph.sh | 17 +++++++++++++++++ ejb/pom.xml | 2 +- jmx/pom.xml | 8 ++++---- jndi/pom.xml | 2 +- parent/pom.xml | 17 +++++++++++++++++ proxy/pom.xml | 2 +- subsystem/pom.xml | 2 +- transaction/pom.xml | 2 +- web/pom.xml | 2 +- 11 files changed, 61 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index b58344f0a..8f0474949 100644 --- a/README.md +++ b/README.md @@ -32,15 +32,16 @@ The sources are now directly availble in [aries github](https://github.com/apach Some of the subprojects have their own git repos: -| Subproject | -| ---------- | -| [Aries CDI](https://github.com/apache/aries-cdi) | -| [Aries Component DSL](https://github.com/apache/aries-component-dsl) | -| [Aries Containers](https://github.com/apache/aries-containers) | +| Subproject | +|-----------------------------------------------------------------------------| +| [Aries CDI](https://github.com/apache/aries-cdi) | +| [Aries Component DSL](https://github.com/apache/aries-component-dsl) | +| [Aries Containers](https://github.com/apache/aries-containers) | | [Aries JAX-RS whiteboard](https://github.com/apache/aries-jax-rs-whiteboard) | -| [Aries JPA](https://github.com/apache/aries-jpa) | -| [Aries RSA](https://github.com/apache/aries-rsa) | -| [Aries Transaction Control](https://github.com/apache/aries-tx-control) | +| [Aries JPA](https://github.com/apache/aries-jpa) | +| [Aries RSA](https://github.com/apache/aries-rsa) | +| [Aries Transaction Control](https://github.com/apache/aries-tx-control) | +| [Aries Typed Event](https://github.com/apache/aries-typedevent) | ## Build @@ -48,5 +49,11 @@ Most projects can be built using mvn clean install -As the Aries svn hosts a lot of different subprojects it makes sense to only +As the Aries main repository hosts a lot of different subprojects it makes sense to only build the specific subproject. + +## Submodule dependencies visualization + +1. Install graphviz (`dot` program is necessary) +2. Run script `./createDependencyGraph.sh SUBMODULE` +3. Graph of dependencies will be generated in `target` directory diff --git a/blueprint/pom.xml b/blueprint/pom.xml index 52e073101..330b9b948 100644 --- a/blueprint/pom.xml +++ b/blueprint/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.1</version> + <version>2.1.2-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> @@ -59,6 +59,5 @@ <module>examples</module> <module>itests</module> </modules> - </project> diff --git a/createDependencyGraph.sh b/createDependencyGraph.sh new file mode 100755 index 000000000..3734ab780 --- /dev/null +++ b/createDependencyGraph.sh @@ -0,0 +1,17 @@ +#!/bin/bash +module=$1 +result_file=${module//\//_} + +mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DDshowGroupIds -f $module + +input_file=$module/target/dependency-graph.dot + +# do some cleanup +mkdir -p target +cleared_file=target/${result_file}.dot +cat $input_file | sed "s/:jar:bundle:/:/g" | sed "s/:bundle:/:/g" | sed "s/:jar:/:/g" | sed "s/:provided\"/\"/g" | sed "s/:compile\"/\"/g" | sed "s/:test\"/\"/g" > $cleared_file + +dest_file=target/${result_file}.png +dot -Tpng $cleared_file -o $dest_file + +echo "Image generated in $dest_file" diff --git a/ejb/pom.xml b/ejb/pom.xml index 6e0c4fdac..78605c1d7 100644 --- a/ejb/pom.xml +++ b/ejb/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.0</version> + <version>2.1.2-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/jmx/pom.xml b/jmx/pom.xml index 2a3def46a..bb2b84e91 100644 --- a/jmx/pom.xml +++ b/jmx/pom.xml @@ -22,10 +22,10 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.apache.aries.jmx</groupId> - <artifactId>org.apache.aries.jmx.parent</artifactId> - <version>1.1.6-SNAPSHOT</version> - <relativePath>jmx-parent</relativePath> + <groupId>org.apache.aries</groupId> + <artifactId>parent</artifactId> + <version>2.1.2-SNAPSHOT</version> + <relativePath>../parent/pom.xml</relativePath> </parent> <groupId>org.apache.aries.jmx</groupId> diff --git a/jndi/pom.xml b/jndi/pom.xml index 9fed27dd4..fea26e843 100644 --- a/jndi/pom.xml +++ b/jndi/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.1</version> + <version>2.1.2-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/parent/pom.xml b/parent/pom.xml index 0ecabbec0..9ce72f697 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -211,6 +211,7 @@ <maven-paxexam-plugin.version>1.2.4</maven-paxexam-plugin.version> <org.apache.aries.versioning.plugin.version>0.3.0</org.apache.aries.versioning.plugin.version> <animal-sniffer-enforcer-rule.version>1.6</animal-sniffer-enforcer-rule.version> + <depgraph-maven-plugin.version>4.0.3</depgraph-maven-plugin.version> <!--Other--> <java.source.version>8</java.source.version> @@ -432,6 +433,22 @@ <oldArtifact>${project.groupId}:${project.artifactId}:${lastReleaseVersion}</oldArtifact> </configuration> </plugin> + <plugin> + <groupId>com.github.ferstl</groupId> + <artifactId>depgraph-maven-plugin</artifactId> + <version>${depgraph-maven-plugin.version}</version> + <configuration> + <excludes> + <exclude>*:*test*</exclude> + </excludes> + <showGroupIds>true</showGroupIds> + <scopes> + <scope>compile</scope> + <scope>provided</scope> + <scope>sources</scope> + </scopes> + </configuration> + </plugin> </plugins> </pluginManagement> <plugins> diff --git a/proxy/pom.xml b/proxy/pom.xml index 3ab923801..2cb5acee3 100644 --- a/proxy/pom.xml +++ b/proxy/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.0</version> + <version>2.1.2-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/subsystem/pom.xml b/subsystem/pom.xml index 1205763a0..b0439a9e8 100644 --- a/subsystem/pom.xml +++ b/subsystem/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.0</version> + <version>2.1.2-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/transaction/pom.xml b/transaction/pom.xml index b3a1865ee..14909d2d1 100644 --- a/transaction/pom.xml +++ b/transaction/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.0</version> + <version>2.1.2-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/web/pom.xml b/web/pom.xml index 15a53de64..6a3d16d15 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.0</version> + <version>2.1.2-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent>
