For our project we currently run a home brewed tool (dist-diff) to compare two versions of the release to see what has changed between them. Our main reason for doing this so we can double check that nothing unexpected has managed to get into the latest build. Are there any plans to do this sort of thing in tattletale?
Short answer: Yes
Longer answer: Yes, I have plans about making diff an integrated part of Tattletale - from a class level to an archive level. This will allow us to deep dive into the differences between various project/product releases and get an overview of what has changed - the same use-case as yours.
That being said - I have limited time atm to work on the 1.2 release - hopefully there will be a 1.1.1 release soon though.
So any contributions in this area would be great, and I can provide starting points too.
My initial thoughts are that
should have the ability to have two directories as inputs and output the difference between these directories as sort of the same reports we have today.
package contains the core datastructures that represents an archive - like JarArchive.
package handles the scanning of the archives -- note that only .jar is supported atm -- so you should get the list from there.
Then it is "basically" to make a diff between these two datastructures and generate the reports.
However, what would be an optimal approach would be to design an XML representation of the reports which takes the diff use-case into account. I think we need to think about how we want the information presented first.
I would like to see the information for both source directory as well as any difference, which I think would be tricky using the current format -- ideally we should have both the standard report and the diff report within the same report component.
The XML model would also allow us to easier to integrate with other frontends than HTML - f.ex. a Hudson Tattletale plugin.
Depending on your use-case we may need to record more information, but I see that as a minor problem as Javassist already is scanning the classes.
Open a forum thread for each of the features you would like to work on - and feel free to ping me anytime.