Bug 126584 - Internal API reference in plug-in
Summary: Internal API reference in plug-in
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P1 critical (vote)
Target Milestone: ---   Edit
Assignee: Eugene Chan CLA
QA Contact:
URL:
Whiteboard: closed460
Keywords: plan
Depends on: 54072 127196 127197 217233
Blocks: 126589
  Show dependency tree
 
Reported: 2006-02-06 10:49 EST by Ruth Lee CLA
Modified: 2016-05-05 10:42 EDT (History)
5 users (show)

See Also:
apnan: review+
ewchan: review+


Attachments
patch (2.10 KB, patch)
2008-03-26 17:38 EDT, Eugene Chan CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ruth Lee CLA 2006-02-06 10:49:36 EST
The build scan found references to non-TPTP internal API that must be removed. If it is not possible to remove the API, then open a bug against the team that owns the internal API to make the internal API public, and make this bugzilla depend on that bug.

The following references were found:
plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJavaAppletShortcut.java:
28:import org.eclipse.jdt.internal.debug.ui.launcher.JavaAppletLaunchShortcut;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJUnitDelegate.java:
30:import org.eclipse.jdt.internal.junit.launcher.JUnitLaunchConfiguration;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJavaApplicationShortcut.java:
28:import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
30:import org.eclipse.pde.internal.ui.launcher.MainTypeSelectionDialog;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJUnitShortcut.java:
26:import org.eclipse.jdt.internal.junit.launcher.JUnitLaunchShortcut;
27:import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileRuntimeWorkbenchDelegate.java:
33:import org.eclipse.pde.internal.core.util.CoreUtility;
34:import org.eclipse.pde.internal.ui.launcher.LauncherUtils;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileRuntimeWorkbenchTabGroup.java:
21:import org.eclipse.pde.internal.core.PDECore;
22:import org.eclipse.pde.internal.ui.launcher.EclipseApplicationLauncherTabGroup;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileRuntimeWorkbenchShortcut.java:
24:import org.eclipse.pde.internal.ui.launcher.RuntimeWorkbenchShortcut;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileSWTApplicationLaunchShortcut.java:
15:import org.eclipse.pde.internal.ui.launcher.MainTypeSelectionDialog;
16:import org.eclipse.pde.internal.ui.launcher.SWTApplicationLaunchShortcut;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJUnitPluginTabGroup.java:
21:import org.eclipse.jdt.internal.junit.launcher.JUnitMainTab;
22:import org.eclipse.pde.internal.core.PDECore;
23:import org.eclipse.pde.internal.ui.launcher.JUnitTabGroup;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJUnitPluginShortcut.java:
26:import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
29:import org.eclipse.pde.internal.ui.launcher.JUnitWorkbenchShortcut;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJUnitPluginDelegate.java:
34:import org.eclipse.pde.internal.core.util.CoreUtility;
35:import org.eclipse.pde.internal.ui.PDEPlugin;
36:import org.eclipse.pde.internal.ui.launcher.JUnitLaunchConfiguration;
37:import org.eclipse.pde.internal.ui.launcher.LauncherUtils;
38:import org.eclipse.pde.internal.ui.launcher.VMHelper;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJUnitTabGroup.java:
26:import org.eclipse.jdt.internal.junit.launcher.JUnitMainTab;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJavaAppletDelegate.java:
49:import org.eclipse.jdt.internal.launching.LaunchingPlugin;
Comment 1 Valentina Popescu CLA 2006-02-06 10:58:40 EST
Eugene, please open a new defect agaist JDT; 54072 is closed 
Comment 2 Eugene Chan CLA 2006-02-06 11:30:24 EST
history of the API reqest is also avialble in bug 53124, launch configuration code needs to be reviewed and additional API request follows.
Comment 3 Valentina Popescu CLA 2006-02-09 13:37:01 EST
Eugene, please open a new request against PDE; 

53124 is closed as fixed and it addresses a different issue for the launch configuration scenario
Comment 4 Eugene Chan CLA 2006-02-09 18:38:47 EST
enhancement request bug 127196 and bug 127197 are opened for API request.
Comment 5 Eugene Chan CLA 2006-04-05 12:43:41 EDT
Platform API is frozen and this bug cannot be contained in 4.2 timeline. Target to 4.3.
Comment 6 Ruth Lee CLA 2006-09-06 18:15:54 EDT
Hi Eugene,

Harm just made a comment about a similar defect (bugzilla 126575) saying that the priority (P1) and severity (blocking) should not be changed because we're supposed to be API clean. He requested that internal API use be fixed early in 4.3. Has the Platform provided the API that we need?

Thanks,
Ruth.
Comment 7 Eugene Chan CLA 2006-09-06 18:59:00 EDT
Hi Ruth, No. Platform has not yet provided the API that is needed. Regarding the internal API usage listed in this bug, we should start discussion with the Platform team on profiling support in all launch configuration. We should be given profile mode support the same way debug mode is.
Comment 8 Eugene Chan CLA 2006-09-18 12:54:20 EDT
Ali, I am assigning the defect to you as discussed.
Comment 9 amehrega CLA 2006-09-21 10:14:07 EDT
This didn't make it to i2.  Re-targetting to i3.
Comment 10 Harm Sluiman CLA 2006-10-20 08:27:50 EDT
this defect ahs floated much too long and again is not being addressed.

Simply retartgeting and not addressing this problem is not acceptable. What is the concrete and commited plan to resolve this api usage?
Comment 11 amehrega CLA 2006-10-20 13:09:21 EDT
I will be addressing this in the first week of i3.
A PDE patch was provided on 09/17 and the defect was assigned to me on 09/21, which was too late to be checked into i2 based on the original plan.

I agree with your concern and this will be the first defect that I'll be addressing in the first week of i3.
Comment 12 amehrega CLA 2006-10-24 10:19:26 EDT
As discussed with Christophe and Harm, I am deferring this defect to 4.4.
The PDE patch provided is only available in 3.3M2 and can only be applied in a later release.  I will follow up with JDT to determine if they're willing to provide a fix for 54072 and 127196 in the 4.4 time-frame.
Comment 13 amehrega CLA 2006-12-22 11:36:53 EST
We have a 4.4 build available based on Eclipse 3.3.
Eugene has already started investigating the PDE patch and fixes that will be required from JDT.  I'm re-assigning this defect to Eugene since I'm transitioning to a different project.
Comment 14 Valentina Popescu CLA 2006-12-25 01:46:13 EST
Eugene, can you fix this in i1 
Comment 15 Eugene Chan CLA 2006-12-25 10:12:13 EST
Valentina, Yes I am targeting this for 4.4i1. The fix in bug 168743 contains most of the migration of this bug already. I will clean up the rest of the API calls by i1.
Comment 16 Eugene Chan CLA 2007-01-31 18:12:46 EST
cannot be closed by i1.
Comment 17 Valentina Popescu CLA 2007-03-14 23:08:58 EDT
Can this be closed in i2 ?
Comment 18 Valentina Popescu CLA 2007-04-25 16:09:32 EDT
Assigning to Ali based on the conversation I had with Eugene.
Ali had worked on removeing the profile config usages.

Ali, is this defect completed for 4.4 ?
Comment 19 amehrega CLA 2007-04-25 17:05:46 EDT
Even though the number of internal APIs has significantly been reduced, we still have some JDT references that we cannot get rid off.  The following set of internal APIs is being used by trace.ui:

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJavaAppletShortcut.java:
28:import org.eclipse.jdt.internal.debug.ui.launcher.JavaAppletLaunchShortcut;

plugins/org.eclipse.hyades.trace.ui/src/org/eclipse/hyades/trace/ui/internal/launcher/ProfileJavaApplicationShortcut.java:
27:import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
28:import org.eclipse.jdt.internal.debug.ui.launcher.DebugTypeSelectionDialog;
29:import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;

It was agreed not to remove the functionality and have these API requests completed in the next Eclipse release (3.4).  I suggest retargeting this defect to future since there is nothing that can be done until JDT exposes the required APIs.
Comment 20 Valentina Popescu CLA 2007-04-25 22:58:59 EDT
I agree that the right action is to move this to post 4.4; also the top level defect should be moved out of 4.4

I also suggest to reset the severity to critical since these API issues are not really blocking the driver
Comment 21 Harm Sluiman CLA 2007-05-01 17:11:53 EDT
(In reply to comment #20)
> I also suggest to reset the severity to critical since these API issues are not
> really blocking the driver


Valentina, internal API usage can block us from passing release review which means blocked from shipping. This is CRITICAL and should remain so.
Comment 22 amehrega CLA 2007-05-02 11:42:27 EDT
This defect was used to remove the dependency on:
27:import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
28:import org.eclipse.jdt.internal.debug.ui.launcher.DebugTypeSelectionDialog

We currently only have two internal API dependency:
org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
org.eclipse.jdt.internal.debug.ui.launcher.JavaAppletLaunchShortcut;
Comment 23 amehrega CLA 2007-07-23 15:58:13 EDT
Eugene, I'm going to re-assign this defect to you since I'm off the project.  A lot of our internal documentations have been resolved.  There are still a few floating around that needs to be looked after.  54072, which has been marked as resolved-later needs to be re-opened to point out any internal APIs that we are still dependent on.  

Thanks.
Comment 24 Eugene Chan CLA 2008-03-13 11:16:06 EDT
The remaining internal API references are:

- plugins/org.eclipse.tptp.platform.llc.launch/src/org/eclipse/tptp/platform/llc/launch/internal/sets/LaunchExtension.java:
33:import org.eclipse.jdt.internal.compiler.batch.Main;
- plugins/org.eclipse.tptp.platform.profile.server.wst/src/org/eclipse/tptp/platform/profile/server/wst/internal/ApplicationServerListener.java:
30:import org.eclipse.wst.server.core.internal.IStartup;

org.eclipse.wst.server.core.internal.IStartup is the only solution for the implementation now. I talked with WTP team and there is no workaround in plan for this internal API. The team committed no change on this internal API until a workaround is available.

For org.eclipse.jdt.internal.compiler.batch.Main, bug 217233 is already opened to address the issuse, and targeted 3.4 M6 for now.
Comment 25 Eugene Chan CLA 2008-03-26 17:38:56 EDT
Created attachment 93698 [details]
patch 

Attached is the patch for the internal API usage in LLC.
Comment 26 jkubasta CLA 2008-03-26 21:56:24 EDT
Can we get this reviewed and approved for i6?
Comment 27 Eugene Chan CLA 2008-03-27 00:01:37 EDT
Alex, would you please review the latest patch?
Comment 28 Alex Nan CLA 2008-03-27 09:24:38 EDT
Euege it looks good. Please just make sure about one thing, that you pass a existing Java file path. Test this scenario before checking in the code.
Comment 29 Eugene Chan CLA 2008-03-27 11:03:07 EDT
Approved by PMC and patch submitted to HEAD.
Comment 30 Paul Slauenwhite CLA 2009-06-30 09:50:13 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this originator of this enhancement/defect has an inactive Bugzilla account and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.
Comment 31 Paul Slauenwhite CLA 2009-06-30 09:53:17 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this originator of this enhancement/defect has an inactive Bugzilla account and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.