Community
Participate
Working Groups
Isolate PDE dependencies to seperate Test project plug-ins. PDE dependencies for the Test Project are required for the JUnit Plug-in and AGR test types. To make these dependencies optional, we will decouple the JUnit Plug-in test type from the core Test Project plug-ins separated in a different plug-in that would declare an optional dependency on PDE. The JUnit Plug-in Test type would only be enabled if the PDE is available.
*** Bug 175374 has been marked as a duplicate of this bug. ***
Log of updates required for back-porting this fix: -Complete https://bugs.eclipse.org/bugs/show_bug.cgi?id=163173. -Create a new plug-in named 'org.eclipse.tptp.test.tools.junit.plugin' to contains the JUnit Plug-in-specific code and extension points.
-Removed the org.eclipse.pde.ui dependency from the org.eclipse.hyades.test.tools.ui plug-in. -Added the following dependencies to the org.eclipse.tptp.test.tools.junit.plugin plug-in: org.eclipse.ui.ide org.eclipse.jdt.core org.eclipse.jdt.ui org.eclipse.pde.ui org.eclipse.xsd org.junit org.eclipse.tptp.platform.models org.eclipse.hyades.logging.core org.eclipse.hyades.ui org.eclipse.hyades.test.core org.eclipse.hyades.test.ui org.eclipse.hyades.test.tools.core org.eclipse.hyades.test.tools.ui -Moved the following packages from the org.eclipse.hyades.test.tools.ui/src folder to the org.eclipse.tptp.test.tools.junit.plugin/src-ui folder: org.eclipse.hyades.test.tools.ui.plugin.internal org.eclipse.hyades.test.tools.ui.plugin.internal.util org.eclipse.hyades.test.tools.ui.plugin.internal.junit.wizard org.eclipse.hyades.test.tools.ui.plugin.internal.junit.editor org.eclipse.hyades.test.tools.ui.plugin.internal.junit -Move the following images from the org.eclipse.hyades.test.tools.ui/icons folder to the org.eclipse.tptp.test.tools.junit.plugin/icons folder: full\dtool16\newpluginjsuite_wiz.gif full\dtool16\newworkbenchLocation_wiz.gif full\etool16\newworkbenchLocation_wiz.gif full\etool16\newpluginjsuite_wiz.gif full\obj16\plugin_jsuite_obj.gif full\obj16\workbench_propertyGroup_obj.gif full\obj16\plugin_jsuite_editor.gif full\wizban\newpluginjsuite_wiz.gif full\wizban\new_workbenchlocation_wiz.gif -Copied the following methods to the org.eclipse.tptp.test.tools.junit.plugin.internal.JUnitPluginActivator.java class: org.eclipse.hyades.test.tools.ui.ToolsUiPlugin.getID() org.eclipse.hyades.test.tools.ui.ToolsUiPlugin.logError(Throwable) org.eclipse.hyades.test.tools.ui.ToolsUiPlugin.start(BundleContext) -Removed the org.eclipse.hyades.test.tools.ui.plugin.internal.TestPluginImages references from org.eclipse.hyades.test.tools.ui.ToolsUiPlugin.java class. -Moved the following extension points (ID) from the org.eclipse.hyades.test.tools.ui plug-in to the org.eclipse.tptp.test.tools.junit.plugin plug-in: org.eclipse.hyades.test.ui.configurableObjectExtension (org.eclipse.hyades.test.tools.ui.plugin.workbenchPage) org.eclipse.ui.newWizards (org.eclipse.hyades.test.plugin.internal.junit.wizard.PluginJUnitTestSuiteNewWizard and org.eclipse.hyades.test.tools.ui.plugin.internal.junit.wizard.WorkbenchLocationNewWizard) org.eclipse.hyades.ui.typeDescriptions org.eclipse.hyades.ui.typeValidators (org.eclipse.hyades.test.tools.ui.plugin.junit.testSuite.Validator) org.eclipse.hyades.test.ui.newTestCaseWizards (org.eclipse.hyades.test.java.internal.junit.wizard.JUnitTestCaseNewWizard) org.eclipse.hyades.ui.editorExtensions (org.eclipse.hyades.test.tools.ui.java.internal.junit.editor.JUnitEditorExtension) org.eclipse.hyades.test.ui.testNavigatorTypeProvider org.eclipse.hyades.test.ui.testNavigatorTypedElementProxyFactory -Move the following messages from the org.eclipse.hyades.test.tools.ui/plugin.properties file to the org.eclipse.tptp.test.tools.junit.plugin/plugin.properties file: WORKBENCH_PROPERTY_GROUP_TTL WORKBENCH_PROPERTY_GROUP_DSC TST_SUITE_PLUGIN_JUNIT_NAME WIZ_NEW_PLUGIN_JUNIT_TST_SUITE_DSC W_WORKBENCH_LOCATION WIZ_NEW_WORKBENCH_LOCATION_DSC TST_SUITE_PLUGIN_JUNIT_DSC EDT_PLUGIN_JUNIT_TST_SUITE_DSC EDT_PLUGIN_JUNIT_TST_SUITE_TTL -Move the following messages from the org.eclipse.hyades.test.tools.ui.internal.resources/messages.properties file to the org.eclipse.hyades.test.tools.ui.plugin.internal/messages.properties file: PluginJUnitImportWizard_title -Remove the org.eclipse.pde.ui dependency from the org.eclipse.hyades.test.tools.core plug-in. -Move the following packages from the org.eclipse.hyades.test.tools.core/src folder to the org.eclipse.tptp.test.tools.junit.plugin/src folder: org.eclipse.hyades.test.tools.core.internal.plugin org.eclipse.hyades.test.tools.core.internal.plugin.codegen org.eclipse.hyades.test.tools.core.internal.plugin.harness org.eclipse.hyades.test.tools.core.internal.plugin.launch org.eclipse.hyades.test.tools.core.internal.plugin.modelsync org.eclipse.hyades.test.tools.core.internal.plugin.util -Copied the following packages from the org.eclipse.hyades.test.tools.core/src folder to the org.eclipse.tptp.test.tools.junit.plugin/src folder: org.eclipse.hyades.test.tools.core.internal.java.launch -Move the following packages from the org.eclipse.hyades.test.tools.core/src-plugin-runner folder to the org.eclipse.tptp.test.tools.junit.plugin/src-runner folder: org.eclipse.hyades.test.tools.plugin.runner org.eclipse.hyades.test.tools.plugin.ui.runner -Moved the following extension points (ID) from the org.eclipse.hyades.test.tools.core plug-in to the org.eclipse.tptp.test.tools.junit.plugin plug-in: org.eclipse.core.runtime.applications (plugin.uirunner.testApplication) org.eclipse.core.runtime.applications (plugin.runner.testApplication) org.eclipse.hyades.test.core.RegisteredExecutionComponentImpl (org.eclipse.hyades.execution.harness.RegisteredExecutionComponentImpl.PLUGIN) org.eclipse.hyades.test.core.ExecutionEnvironmentAdapter (org.eclipse.hyades.execution.harness.ExecutionEnvironmentAdapter.PLUGIN) org.eclipse.hyades.test.core.ExecutableObjectAdapter (org.eclipse.hyades.execution.harness.ExecutableObjectAdapter.PLUGIN) org.eclipse.hyades.test.core.ExecutionDeploymentAdapter (org.eclipse.hyades.execution.harness.ExecutionDeploymentAdapter.PLUGIN) org.eclipse.hyades.test.core.launchconfigLaunchableType org.eclipse.hyades.test.core.launchconfigDeploymentProvider -Copied the plug-in specific elements of the following extension points (ID) from the org.eclipse.hyades.test.tools.core plug-in to the org.eclipse.tptp.test.tools.junit.plugin plug-in: org.eclipse.hyades.test.tools.core.junitFactory org.eclipse.hyades.test.core.launchconfigExecutionHistoryDefaults -Export the following packages from the org.eclipse.hyades.test.tools.core plug-in: org.eclipse.hyades.test.tools.core.internal.java.harness -Adjusted the packages of the org.eclipse.tptp.test.tools.junit.plugin plug-in to match the org.eclipse.tptp.test.tools.junit.plugin name space. -Organized imports, updated copyright years and replace CVS identifier (e.g. $Id$). -Complete https://bugs.eclipse.org/bugs/show_bug.cgi?id=163173 again.
Outstanding: -Fix org.eclipse.hyades.test.tools.core.internal.java.harness.JUnitExecutionDeploymentAdapter.getPluginFiles(IProject). -Fix org.eclipse.hyades.test.tools.core.internal.common.codegen.JavaProjectDependencyUpdater.ProjectClasspathChange.computePath(IPath). -Fix org.eclipse.hyades.test.tools.core.internal.common.codegen.AutomaticDependencyUpdater.createDelegate(IProject). -Fix org.eclipse.hyades.test.tools.ui.java.internal.junit.wizard.SourcePage.computeMessage(IProject, Collection). -Add Agent Controller configuration and packaging. -Remove AGR and JUnit plug-in references in org.eclipse.hyades.test.tools.core.internal.java.modelsync.JUnitProjectBuilder.setupTestSuiteBacklink(IFile).
-Extend the org.eclipse.tptp.test, org.eclipse.tptp.test.runtime and org.eclipse.tptp.test.tools features to include the new org.eclipse.tptp.test.tools.junit.plugin plug-in.
-Modify the JUnit Plugin documentation to add the following disclaimer: <div filter="plugin!=org.eclipse.pde.ui"> <b> <p> Note: This function is not available in your installation because you are missing the prerequisite plug-ins. To enable this function, you must download and install these plug-ins. </p> <p>Instructions:</p> <ol> <li> Shut down your workbench. </li> <li> Open the external site, <a href="http://www.eclipse.org/tptp/home/downloads/downloads.php">Test and Performance Tools Platform</a> </li> <li> Turn to the download page, select the tab that matches your version, and download the Eclipse SDK prerequisite listed in the <b>Requirements</b> section. </li> <li> Unzip these plug-ins in your <code>plugins</code> directory. </li> <li> Restart your workbench with the <code>-clean</code> option. The reports should now be enabled. </li> </ol> </b> </div> Open a defect to address moving the JUnit Plugin documentation to a separate plug-in in 4.5.
Checked-in files for comment 2 and comment 3 to CVS (HEAD).
Paul, regarding moving the documentation to a new plugin; I think there is a way to apply a filter to the content to hide data when a certain plugin configuration is specified. Let's talk about this before you start updating the documentation plugins
(In reply to comment #8) > Paul, regarding moving the documentation to a new plugin; I think there is a > way to apply a filter to the content to hide data when a certain plugin > configuration is specified. > Let's talk about this before you start updating the documentation plugins > Something like in comment #6?
No, what you propose is a warning for the user if some part of the documentation is not available. I am proposing to completely hide the content from the user. This can be done using a filter and I think we did a similar work for the LA RCP.
Paul is already applying the dynamic content in comment #6 which is what RCP LA is using. Detail about dynamic content. http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/ua_dynamic.htm
(In reply to comment #3) -Remove the plugin.runner.jar from org.eclipse.hyades.test.tools.core\build.properties and org.eclipse.hyades.test.tools.core\META-INF\MANIFEST.MF.
(In reply to comment #4) > Outstanding: > > -Add Agent Controller configuration and packaging. Done.
(In reply to comment #4) > Outstanding: > > -Remove AGR and JUnit plug-in references in > org.eclipse.hyades.test.tools.core.internal.java.modelsync.JUnitProjectBuilder.setupTestSuiteBacklink(IFile). > Done.
Updates to resolve issues with compilation order: -Moved org.eclipse.tptp.test.tools.junit.plugin.internal.ui.resources.TestPluginImages.java to org.eclipse.tptp.test.tools.junit.plugin.internal.resources.TestPluginImages.java.
(In reply to comment #4) > Outstanding: > > -Fix > org.eclipse.hyades.test.tools.ui.java.internal.junit.wizard.SourcePage.computeMessage(IProject, > Collection). Done. This fix required creating a new class (org.eclipse.hyades.test.tools.core.internal.util.PluginProjectUtil.java) and moving the following methods from the org.eclipse.tptp.test.tools.junit.plugin.internal.util.PDEProjectUtil.java class: getDependentProjects(IProject) isManifestBasedPluginProject(IProject) isStrictPluginProject(IProject) Also, the new package (org.eclipse.hyades.test.tools.core.internal.util) was exported. Finally, the calls to the org.eclipse.hyades.test.tools.core.CorePlugin.logError(Throwable) and org.eclipse.hyades.test.tools.core.CorePlugin.logError(String) methods in the org.eclipse.tptp.test.tools.junit.plugin plugin were changes to calls to the org.eclipse.tptp.test.tools.junit.plugin.internal.JUnitPluginActivator.logError(Throwable) and org.eclipse.tptp.test.tools.junit.plugin.internal.JUnitPluginActivator.logError(String) methods.
(In reply to comment #4) > Outstanding: > > -Fix > org.eclipse.hyades.test.tools.core.internal.java.harness.JUnitExecutionDeploymentAdapter.getPluginFiles(IProject). Done. This fix required the following: -Moving the following methods from org.eclipse.tptp.test.tools.junit.plugin.internal.util.PDEProjectUtil.java class to org.eclipse.hyades.test.tools.core.internal.util.PluginProjectUtil.java class: getBundleSymbolicName(IProject) getDeployables(IProject) getIncludes(IPluginModelBase) splitIncludes(String) -Removing the org.eclipse.tptp.test.tools.junit.plugin.internal.util.PDEProjectUtil.java class. -Moving the following classes from the org.eclipse.tptp.test.tools.junit.plugin.internal.util package of the org.eclipse.tptp.test.tools.junit.plugin plugin to the org.eclipse.hyades.test.tools.core.internal.util package of the org.eclipse.hyades.test.tools.core plugin: ManifestUtil.java PluginXmlUtil.java -Added the following methods to the org.eclipse.hyades.test.tools.core.internal.util.PluginProjectUtil.java class: isFragmentPluginProject(IProject) isManifestBasedPluginProject(IProject) isPluginXMLBasedPluginProject(IProject) -Added the following variables/methods to the org.eclipse.hyades.test.tools.core.internal.util.PluginXmlUtil.java class: getAttribute(IFile, String) getAttribute(IFile, String, String) getPluginXmlFile(IProject) PLUGIN_XML_NAME -Added the following variables/methods to the org.eclipse.hyades.test.tools.core.internal.util.ManifestUtil.java class: getEntry(IFile, String) getManifestFile(IProject) MANIFEST_NAME
(In reply to comment #4) > Outstanding: > > -Fix > org.eclipse.hyades.test.tools.core.internal.common.codegen.JavaProjectDependencyUpdater.ProjectClasspathChange.computePath(IPath). Done. This fix required the following: -Added the following method to the org.eclipse.hyades.test.tools.core.internal.util.PluginProjectUtil.java class: getBundleVersion(IProject)
(In reply to comment #4) > Outstanding: > > -Fix > org.eclipse.hyades.test.tools.core.internal.common.codegen.AutomaticDependencyUpdater.createDelegate(IProject). Done. This fix required the following: -Moving the following classes from the org.eclipse.tptp.test.tools.junit.plugin.internal.codegen package of the org.eclipse.tptp.test.tools.junit.plugin plugin to the org.eclipse.hyades.test.tools.core.internal.common.codegen package of the org.eclipse.hyades.test.tools.core plugin: PluginProjectDependencyUpdater.java -Added the following methods to the org.eclipse.hyades.test.tools.core.internal.util.PluginProjectUtil.java class: getBundleVersion(String) containsPluginRequires(IProject, String) -Added the following variables/methods to the org.eclipse.hyades.test.tools.core.internal.util.ManifestUtil.java class: getPropertyValue(IFile, String) getPropertyValues(IFile, String) HOST_PLUGIN_PROPERTY ID_PROPERTY MANIFEST_NAME REQUIRES_PROPERTY VERSION_PROPERTY -Added the following variables/methods to the org.eclipse.hyades.test.tools.core.internal.util.PluginXmlUtil.java class: getPropertyValue(IFile, String) getPropertyValues(IFile, String) HOST_PLUGIN_PROPERTY ID_PROPERTY MANIFEST_NAME REQUIRES_PROPERTY VERSION_PROPERTY
(In reply to comment #6) -The JUnit Plugin documentation is fitlered when the org.eclipse.pde.ui is not available. File modified include: org.eclipse.tptp.test.report.birt.doc.user\junitplugin_birt_toc.xml org.eclipse.hyades.test.doc.user\junit_toc.xml org.eclipse.hyades.test.doc.user\concepts\ccommontestingtasksandconcepts.htm > Open a defect to address moving the JUnit Plugin documentation to a separate > plug-in in 4.5. > https://bugs.eclipse.org/bugs/show_bug.cgi?id=184270
All dependent defects have been resolved in the TPTP-4.4.0-200705040100 build.
Reporter: Please verify and close in preparation for shutting down the TPTP 4.4 release. Thanks.
Verified in TPTP-4.4.0-200706140100C.