Re: Some observations on java reverse engineering
Thomas Neustupny <[email protected]> Thu, 18 Dec 2014 21:37:44 +0100
| Newsgroups | gmane.comp.lang.uml.argouml.devel |
|---|---|
| Message-ID | <trinity-643322b2-7689-423c-a81d-94d448340d45-1418935063959__27812.0152572685$1418935078$gmane$org@3capp-gmx-bs20> |
Hi Bob, hi Tom, thanks for sharing the knowledge about these tools, there're for sure worth= a look when cyclic dependencies need to be analyzed. To answer your question, Bob: The parser will only create a dependency if t= here is still none for the given client/supplier combination, or, if a ster= eotype name is provided, if there is no such dependency with that stereotyp= e name. See the implementation of the private buildDependency(...) method i= n the Modeller class. Regards, Thomas=C2=A0 =C2=A0 Gesendet:=C2=A0Donnerstag, 18. Dezember 2014 um 20:25 Uhr Von:=C2=A0"Bob Tarling" <[email protected]> An:[email protected] Betreff:=C2=A0Re: [argouml-dev] Some observations on java reverse engineeri= ng Cool, thanks Tom. =C2=A0IntelliJ may be the direction for us at work some time soon anyway, I= 'll start of looking at classcycle for now though.. =C2=A0I'd still like to tackle this for Argo as well, I'll go take a look a= t Thomas's work as soon as I can. =C2=A0 Cheers =C2=A0 Bob =C2=A0 =C2=A0 On 18 December 2014 at 18:38, Tom Morris <[email protected]> wrote: On Thu, Dec 18, 2014 at 5:29 AM, Bob Tarling <[email protected][bob.tar= [email protected]]> wrote: =C2=A0My end goal is actually to determine package dependencies. I have a l= arge application that I'm sure has cyclic dependencies between packages and= I'd like to demonstrate that problem to the team I work with before we tac= kle how to resolve it and split the app to smaller jars. =C2=A0 The tool I used to do this analysis for ArgoUML itself (although we never t= ackled removing the package cycles) was Classycle:=C2=A0http://classycle.so= urceforge.net/[http://classycle.sourceforge.net/] It is available as an Ecl= ipse plugin as well as standalone tool.=C2=A0 One nice addition since the l= ast time I used it is support for Dependency Definition Files.=C2=A0 This a= llows you to describe allowable dependencies (e.g. your architectural layer= s) and it will check for violations.=C2=A0http://classycle.sourceforge.net/= ddf.html[http://classycle.sourceforge.net/ddf.html] =C2=A0Looking at http:/= /argouml.tigris.org/source/browse/argouml/trunk/tools/classycle/[http://arg= ouml.tigris.org/source/browse/argouml/trunk/tools/classycle/] it looks like= it's been 7-8 years since I used it for ArgoUML. =C2=A0 IntelliJ's dependency analysis looks pretty powerful too (although I haven'= t used it): https://www.jetbrains.com/idea/features/dependency_analysis.htm= l[https://www.jetbrains.com/idea/features/dependency_analysis.html] =C2=A0 While adding dependencies to the Java reverse engineering may be useful for= other stuff, it's not how I'd recommend finding package cycles.=C2=A0 A to= ol designed for that purpose will do a better job. =C2=A0 Tom =C2=A0 =C2=A0 ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=3D450&dsMessageId=3D3= 093000 To unsubscribe from this discussion, e-mail: [[email protected]= s.org]. To be allowed to post to the list contact the mailing list moderator, email= : [[email protected]]