| Summary: | PDE wizard doesn't properly set the API Tools nature and builder when creating a new plug-in project | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Brian de Alwis <bsd> | ||||
| Component: | API Tools | Assignee: | Olivier Thomann <Olivier_Thomann> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | curtis.windatt.public, john.camelon, Michael_Rennie, Olivier_Thomann, remy.suen | ||||
| Version: | 4.2 | Flags: | Michael_Rennie:
review+
|
||||
| Target Milestone: | 3.8 M4 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | 365758 | ||||||
| Bug Blocks: | 365914 | ||||||
| Attachments: |
|
||||||
|
Description
Brian de Alwis
I can reproduce the behaviour, both 1.5 and 1.6 code is not being reported as an error even when the JDT EE and BREE are set to 1.4 and the various EE fragments are installed. I'll try to take a look later today or tomorrow. I tried and I don't reproduce. I'll attach a screenshot. Created attachment 207993 [details]
Problem is detected
Can you contact me to find out what could be wrong with your environment?
Brian, how did you set up the api tooling nature of your project ? Can you check the .project file to make sure it has the right builder and nature? If not, try to run "Plug-in Tools>API Tools Setup", and run it on your project. Trying this on my linux machine and the problems are reported fine. Brian, can you please check that your project has both the API Tools nature and builder. We are experiencing a problem on Win7 where the checkbox on the new project creation wizard to enable API tools isn't working. I will be opening a bug against SWT for it. After more investigation, it looks like the problem comes from the way the updateData() is called. The check for isVisible() doesn't work when the wizard is closed on the next page (the one that sets the template). The fix is to replace: data.setEnableAPITooling(fApiAnalysisButton.isVisible() && fApiAnalysisButton.getSelection()); with: data.setEnableAPITooling(fApiAnalysisButton.isEnabled() && fApiAnalysisButton.getSelection()); Pushed the fix to master and integration. Mike, please verify. http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/?id=eaadd43b9efd004def95375670d746dd90a97401 +1 the fix works as advertised. Thanks for the quick resolution! (In reply to comment #5) > Brian, how did you set up the api tooling nature of your project ? > Can you check the .project file to make sure it has the right builder and > nature? > If not, try to run "Plug-in Tools>API Tools Setup", and run it on your project. I wasn't aware that the bundles needed to have the API tooling analysis nature (nor were some other Platform UI developers). Would it make sense to relax this and simply require the PDE nature for the system-library checking? So that the API tooling nature would be for the API compat checking? (In reply to comment #11) > I wasn't aware that the bundles needed to have the API tooling analysis nature > (nor were some other Platform UI developers). Would it make sense to relax > this and simply require the PDE nature for the system-library checking? So > that the API tooling nature would be for the API compat checking? Perhaps Olivier can confirm, but I think the builder short circuits if the nature isn't found to improve performance. The feature is provided by API Tools and the options controlling it are found on the API Errors/Warnings preference page. (In reply to comment #11) > Thanks for the quick resolution! > > I wasn't aware that the bundles needed to have the API tooling analysis nature > (nor were some other Platform UI developers). Yes, you must add the nature / build spec to the project, otherwise API tools completely ignores your project. We have a handy setup wizard you can run from the popup menu for a project: Plug-in Tools > API Tools Setup... > Would it make sense to relax > this and simply require the PDE nature for the system-library checking? So > that the API tooling nature would be for the API compat checking? The nature and the build spec are tied together - you need a nature to define a build spec (I believe) and since the sys-lib checking is done with the API tools builder, it would be a tonne of work to split it out to only work with the PDE builder. |