-
Notifications
You must be signed in to change notification settings - Fork 301
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
Support for UML Diagrams #4
Comments
Thanks for the idea, I could imagine this to work well for defining structures in a visually comprehensible way. Just so I understand correctly, dependencies.uml would be a PlantUML file? Are we talking about a component diagram with "package ..." nodes? I would probably just provide an ArchRule that would parse the UML file and derive predicates and conditions from that, to evaluate against imported classes. |
I'm still waiting on additional info about this, how should such a puml file look exactly? |
could have a look at what we did for D. hope this helps, if not, just ping me. |
Ah, okay, I'll have a look at that, thanks 😃 |
Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
worked on setting up dependencies parser Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
parses components with name, component, and optional alias parses dependencies with any length arrow Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
parses components with name, component, and optional alias parses dependencies with any length arrow Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
…s, aliases, dependencies, ... Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
…pes are validated within the condition part now, since it is more related to ArchUnit's interpretation of PlantUML than PlantUML itself (where identical stereotypes are allowed). Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
Issue: TNG#4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
Issue: #4 Signed-off-by: Peter Gafert <peter.gafert@tngtech.com>
Issue: #4 Signed-off-by: Peter Gafert <peter.gafert@tngtech.com>
…s, aliases, dependencies, ... Issue: #4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
…pes are validated within the condition part now, since it is more related to ArchUnit's interpretation of PlantUML than PlantUML itself (where identical stereotypes are allowed). Issue: #4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
Issue: #4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
Issue: #4 Signed-off-by: Michael Sherman <msherman32@gatech.edu>
Issue: #4 Signed-off-by: Peter Gafert <peter.gafert@tngtech.com>
…e three try catch blocks start from a handler label. At least with my JDK 7 it looks like this: ``` private void method(int, boolean); descriptor: (IZ)V flags: (0x0002) ACC_PRIVATE Code: stack=4, locals=6, args_size=3 0: new TNG#3 // class java/net/Socket 3: dup 4: ldc TNG#4 // String 6: iconst_0 7: invokespecial TNG#5 // Method java/net/Socket."<init>":(Ljava/lang/String;I)V 10: astore_3 11: new TNG#6 // class java/io/BufferedReader 14: dup 15: aconst_null 16: invokespecial TNG#7 // Method java/io/BufferedReader."<init>":(Ljava/io/Reader;)V 19: astore 4 21: aload 4 23: invokevirtual TNG#8 // Method java/io/BufferedReader.close:()V 26: return 27: astore 5 29: aload 4 31: invokevirtual TNG#8 // Method java/io/BufferedReader.close:()V 34: aload 5 36: athrow 37: astore_3 38: return Exception table: from to target type 27 29 27 any 0 26 37 Class java/lang/Exception 27 37 37 Class java/lang/Exception ``` We can possibly ignore this, since we will drop JDK 7 support soon anyway, but let's maybe ponder about it, why it looks so different. That of the two declared try-catch-blocks only one try catch block is visible is definitely strange (and worse than having 3 try-catch-blocks where one is synthetic). But this example is anyway quite strange, because the bytecode immediately changes e.g. if we remove one of the unused method parameters. Signed-off-by: Peter Gafert <peter.gafert@tngtech.com>
it would be neat to support a dependencies.uml.
this file should define the dependencies of the packages.
it could contain "unintented dependencies", but shouldn't.
a project then just should include archunit.jar, and then everybody could be sure, that dependencies.uml reflect the current project.
this way your UML keeps up to date and your depencies are better readable then a fluent api ever could be.
The text was updated successfully, but these errors were encountered: