Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Graffiti – jar analyser (gaurs.io)
59 points by gaurs on Nov 22, 2016 | hide | past | favorite | 24 comments



Some time ago I've started a maven-storyteller-plugin (a version can be found here: https://github.com/highsource/storyteller-maven-plugin).

This plugin was intended to solve a simple task: given a Maven project, which dependencies do you really need and which not? What can (or should) you remove or exclude? maven-storyteller-pluging analyzed the dependency structure of the project (JARs), dependencies of classes, build a large graph of what-needs-what and then could conclude, which dependencies you really need and which not. I also used graphviz for vizualization.

I still thing this would be a handy tool but never had time to finish and release the plugin.


Kickstarter anyone?


Very interesting approach. Could you please provide a hosted version of the demo, that can be viewed on mobile clients?


You can click on the Web Version button for a working demo. The same will allow you to upload a jar and will generate the output as a zip file available for download.


I was looking for a web view of the demo zip, so I could see what it does without uploading or downloading files.


You can click on the demo link http://graffiti.gaurs.io/downloadDemo; This points to already processed commons-lang3-3.5.jar


You should host the unzip html pages of the example on your : no effort for user to see what it's look like


Thanks for the feedback. Point taken. Will surely look into it.


Graffiti is a core java based tool used to analyse jar files. It generates minimal bootstrap based html files with all the required statistics of the jar file. It is NOT a UML diagram generation tool.

Note : Please use the WebVersion link to upload jars containing .class files and not the source .java files


From the downloadable example:

> org.apache.commons.lang3.AnnotationUtils

> The class is part of java.lang.Object package [...]

Interesting package name :)


Oops. Will take care of that.


I don't really see when I would use the this. When I have JAR with unknown contents and I want to see version and dependencies of it?


At a guess, may be useful when:

* Working with old enterprise libraries ("just use the jar!")

* Optimisation when dealing with a compile to JVM language like Closure or Scala

* Research, such as reverse engineering badly behaved jars.


Not really sure why this would be helpful only with Scala in this case. Scala is not transpiled, it's compiled directly to bytecode just like Java so if it was helpful with Scala it should be helpful with Java as well.


There's a typo: "bootsrap" -> "bootstrap"

Also, the demo download link seems to point nowhere.


Thanks for pointing this. The same will be taken care at the earliest.


Also executablble should be executable.


Thanks for pointing this. The typo has been corrected.


At least you can try the online version. It looks pretty interesting.


Is there an online version of an already processed jar, or do you mean the the online analyzer? Because I don't have a jar at hand right now.


You can click on the demo link http://graffiti.gaurs.io/downloadDemo; This points to already processed commons-lang3-3.5.jar


or you can upload a jar containing .class files (and not the source jar) using the Web Version button.


You could run it on itself.


done :)




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: