Community
Participate
Working Groups
Scenario: An API use scan of a product is generated showing API/internal references to a specific version (X) of the SDK on which the product runs/depends. The SDK continues development on the next release (version Y). The product wants to migrate to the new version (Y) of the SDK. It would be interesting to be able to show what API/internal references are broken (if any) on version Y of the SDK based on the use scan from version X.
Created attachment 146082 [details] patch This patch: * Adds some qualified member information to the API use scans ($ qualified type name, member name/signature). * Provides a parser for an API use scan that takes a general purpose visitor (I made the visitor general, as I could see different kinds of uses of parsing the scans - adding to a database, etc. The parser insulates the processors from the file format). * Provides a visitor that resolves references in an alternate baseline Currently, error messages are just written to the console (we'll need to generate HTML).
I applied a cleaned up version of the patch to HEAD. This way report generation will include the extra member info ($ qualified types).
Created attachment 146326 [details] patch Creates a report similar to use scan that details the migration issues when resolving a use scan in an alternate baseline (migration candidate).
Released to HEAD. Leaving open to add support for selective bundle analysis (regex scope support) and UI to create reports.
Created attachment 146418 [details] support for regex scoping
Released scope support to HEAD
Created attachment 149921 [details] reports This patch provides report conversion for migration reports and adds all the task doc for both the migration task and the report conversion task. The two tasks have also been added to our template build file and the reusable Ant properties file. The two Ant task are: apitooling.apimigration apitooling.apimigration_reportconversion
applied Ant task + reporting patch to HEAD, please verify Darin W
Here is a sample build file for the tasks, you will need to edit the properties as needed: <?xml version="1.0" encoding="UTF-8"?> <project name="api_migration_reporting" default="run" basedir="."> <property name="r_loc" value="../api-use-share/deltas/xml" /> <property name="h_loc" value="../api-use-share/deltas/html" /> <property name="scan" value="../api-use-share/deltas/sdk3.4/xml"/> <property name="candidate" value="/eclipse/eclipse_3.5.0"/> <property name="m_report" value="../api-use-share/deltas/xml"/> <target name="run"> <apitooling.apimigration candidate="${candidate}" usescan="${scan}" report="${m_report}" debug="true"/> <apitooling.apimigration_reportconversion xmlfiles="${r_loc}" htmlfiles="${h_loc}" debug="true"/> </target> </project>
Verified.