Re: [argouml-dev] Some observations on java reverse engineering
Tom Morris <[email protected]> Thu, 18 Dec 2014 13:38:15 -0500
| Newsgroups | gmane.comp.db.axion.devel |
|---|---|
| Message-ID | <CAE9vqEEVciRbQ+GMwTKXcGpsxTikkZ067vmA6NwWmxbBDjZVMQ__13061.0608183362$1418927913$gmane$org@mail.gmail.com> |
------=_Part_2491_1203735914.1418927900567 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit On Thu, Dec 18, 2014 at 5:29 AM, Bob Tarling <[email protected]> wrote: > > > My end goal is actually to determine package dependencies. I have a large > 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 tackle > how to resolve it and split the app to smaller jars. > The tool I used to do this analysis for ArgoUML itself (although we never tackled removing the package cycles) was Classycle: http://classycle.sourceforge.net/ It is available as an Eclipse plugin as well as standalone tool. One nice addition since the last time I used it is support for Dependency Definition Files. This allows you to describe allowable dependencies (e.g. your architectural layers) and it will check for violations. http://classycle.sourceforge.net/ddf.html Looking at http://argouml.tigris.org/source/browse/argouml/trunk/tools/classycle/ it looks like it's been 7-8 years since I used it for ArgoUML. IntelliJ's dependency analysis looks pretty powerful too (although I haven't used it): https://www.jetbrains.com/idea/features/dependency_analysis.html While adding dependencies to the Java reverse engineering may be useful for other stuff, it's not how I'd recommend finding package cycles. A tool designed for that purpose will do a better job. Tom ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=3092993 To unsubscribe from this discussion, e-mail: [[email protected]]. To be allowed to post to the list contact the mailing list moderator, email: [[email protected]] ------=_Part_2491_1203735914.1418927900567 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T= hu, Dec 18, 2014 at 5:29 AM, Bob Tarling <span dir=3D"ltr"><<a href=3D"m= ailto:[email protected]" target=3D"_blank">[email protected]</a>>= ;</span> wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p= x 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-lef= t-style:solid;padding-left:1ex"><div dir=3D"ltr"><div><div><div><div><div><= div><div><br></div>My end goal is actually to determine package dependencie= s. I have a large application that I'm sure has cyclic dependencies bet= ween packages and I'd like to demonstrate that problem to the team I wo= rk with before we tackle how to resolve it and split the app to smaller jar= s.<br></div></div></div></div></div></div></div></blockquote><div><br></div= ><div>The tool I used to do this analysis for ArgoUML itself (although we n= ever tackled removing the package cycles) was Classycle:=C2=A0<a href=3D"ht= tp://classycle.sourceforge.net/">http://classycle.sourceforge.net/</a> It i= s available as an Eclipse plugin as well as standalone tool.=C2=A0 One nice= addition since the last time I used it is support for Dependency Definitio= n Files.=C2=A0 This allows you to describe allowable dependencies (e.g. you= r architectural layers) and it will check for violations.=C2=A0<a href=3D"h= ttp://classycle.sourceforge.net/ddf.html">http://classycle.sourceforge.net/= ddf.html</a> =C2=A0Looking at <a href=3D"http://argouml.tigris.org/source/b= rowse/argouml/trunk/tools/classycle/">http://argouml.tigris.org/source/brow= se/argouml/trunk/tools/classycle/</a> it looks like it's been 7-8 years= since I used it for ArgoUML.</div><div><br></div><div>IntelliJ's depen= dency analysis looks pretty powerful too (although I haven't used it): = <a href=3D"https://www.jetbrains.com/idea/features/dependency_analysis.html= ">https://www.jetbrains.com/idea/features/dependency_analysis.html</a></div= ><div><br></div><div>While adding dependencies to the Java reverse engineer= ing may be useful for other stuff, it's not how I'd recommend findi= ng package cycles.=C2=A0 A tool designed for that purpose will do a better = job.</div><div><br></div><div>Tom</div><div><br></div><div>=C2=A0</div></di= v></div></div> ------=_Part_2491_1203735914.1418927900567--