<p>Hi all, </p>
<p>I am Vipul A. M. a Final Year Computer Science Student.<br>
I am interested to work on Java API/ABI changes checker proposed by Stanislav Ochotnický<br>
over here [1].</p>
<p>I have been having discussions with him for the past 1-2 weeks and getting to know more about the Java Packaging <br>
System needs on Fedora{and other, need of all platforms as he says}, and the various pathways for [1]</p>
<p>Till now, I have been trying to understand more how and where the need for [1] is <br>
as also the available solutions, and pathways there could be. Me learning from Java API Compliance Checker [2] and others<br>
our discussions have come down to, </p>
<p>* Developing a Java based framework for matching results for single jar to that of [1]<br>
* Work on build environment to analyse the breakage at CLASSPATH and other relevant levels<br>
* Create a comparison based large database for analyzing or suggesting how to proceed ahead.<br>
* Generate outputs of comparison{in different forms json,xml,etc} that could be further parsed for other purposes<br>
* Generate Web-View of the same</p>
<p>Some of the use-cases suggested for these are as below</p>
<p>Quoting Stanislav</p>
<p>&quot; <br>
I envision following use cases:<br>
1. packagers will run this on new release of upstream jar, and old<br>
release of upstream jar, compare results and decide how to proceed</p>
<p>2. generate a big database of comparison data for a lot of different<br>
versions of various projects/jars where developers can go and see<br>
the stuff without actually running the tool themselves</p>
<p>3. [possibly in the far future] runs by automatic quality control<br>
tools such as AutoQA that would prevent an update to a package in a<br>
released version of distribution that would break compatibility.<br>
&quot;</p>
<p>So, </p>
<p>what I would try and target more in {the very small 3 months of} GSoC ,is to first develop a base solution that does<br>
proper analysis and breakage detection at singular unit of jar/build environment. <br>
After a good base try and handle as many features suggested above, in future.</p>
<p>I would like hear your thoughts/criticisms, to help me identify any other approaches.</p>
<p>Cheers</p>
<p>[1] <a href="https://fedoraproject.org/wiki/Summer_coding_ideas_for_2012#Java_API.2FABI_changes_checker">https://fedoraproject.org/wiki/Summer_coding_ideas_for_2012#Java_API.2FABI_changes_checker</a><br>
[2] <a href="http://ispras.linuxbase.org/index.php/Java_API_Compliance_Checker">http://ispras.linuxbase.org/index.php/Java_API_Compliance_Checker</a></p>
<p>Vipul A.M.<br>
<a href="tel:%2B91-8149-204995">+91-8149-204995</a></p>