Bug 468364

Summary: Add test for generated extension point and API docs
Product: [Eclipse Project] Platform Reporter: Markus Keller <markus.kell.r>
Component: User AssistanceAssignee: Markus Keller <markus.kell.r>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: daniel_megert, david_williams, markus.kell.r
Version: 4.5Keywords: Documentation, test
Target Milestone: 4.5 RC3   
Hardware: All   
OS: All   
Whiteboard:

Description Markus Keller CLA 2015-05-26 13:49:06 EDT
Add an automated tests that finds common issues in the manual steps required for generated extension point and API docs.

I.e. verify
https://wiki.eclipse.org/index.php/How_to_add_things_to_the_Eclipse_doc

I don't think this can be fully automated, since it's not clearly defined which bundles eventually end up in the build, and which bundles are: 

- part of the test infrastructure 
- dependencies (e.g. from Orbit) 
- unrelated projects in the user's workspace that are not excluded in the launch configuration

However, a test can verify references in topics_Reference.xml and in /org.eclipse.*.doc.*/reference/extension-points/index.html, and it can print potentially missing extension points / API packages to System.out.
Comment 1 Markus Keller CLA 2015-05-26 13:59:03 EDT
Added ApiDocTest to org.eclipse.ua.tests.doc:
http://git.eclipse.org/c/platform/eclipse.platform.ua.git/commit/?id=18beb6714e3f702433eb9c54371fa9b57e83555c

Fixed some issues found by the test and added more .gitignores for "dirt":
http://git.eclipse.org/c/platform/eclipse.platform.common.git/commit/?id=252ef683f97ace3ef0a2f44132977be5ba7c4334

Remaining things to re-check may show up in the ua.tests.doc log of the next official test run.
Comment 2 Markus Keller CLA 2015-05-27 15:04:30 EDT
Fixed test failure with http://git.eclipse.org/c/platform/eclipse.platform.ua.git/commit/?id=71f3c213a3ccfaf49b0fa9e4ab942c9a34196cae

The problem is similar to bug 436469: The schema/*.exsd are not required at run time, that's probably why they are not included in binary builds. However, this turns the binary bundles into incomplete targets for a build, since extension point contributions cannot be checked against the extension point API.

The same problem occurs during the official test run:
The test can't determine whether an extension point is marked as internal.