Bug 106869 - [project explorer] Add missing module depencies to project explorer like JDT classpath
Summary: [project explorer] Add missing module depencies to project explorer like JDT ...
Status: NEW
Alias: None
Product: WTP Common Tools
Classification: WebTools
Component: wst.common (show other bugs)
Version: 0.7   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Chuck Bridgham CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-12 12:06 EDT by Igor Fedorenko CLA
Modified: 2006-11-03 14:19 EST (History)
0 users

See Also:


Attachments
[screenshot] missing build path entry (30.13 KB, image/jpeg)
2006-04-26 16:47 EDT, Igor Fedorenko CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Igor Fedorenko CLA 2005-08-12 12:06:53 EDT
The following exception is generated during WAR file build if .wtpmodules file
on the WAR contains <dependent-module> for project(s) that does not exist. This
exception prevents building of existing dependent modules and the WAR does not
start successfully.

I guess there are two issues here. First, the code should tolerate references to
missing dependent modules. Second, there should be a way to see such modules in
the UI and be able to corrent them (similar to how JDT handles missing
.classpath elements).


java.lang.NullPointerException
	at
org.eclipse.wst.common.componentcore.internal.StructureEdit.getOutputContainerRoot(StructureEdit.java:287)
	at
org.eclipse.wst.common.componentcore.internal.builder.ReferencedComponentBuilderOperation.getAbsoluteInputContainer(ReferencedComponentBuilderOperation.java:292)
	at
org.eclipse.wst.common.componentcore.internal.builder.ReferencedComponentBuilderOperation.execute(ReferencedComponentBuilderOperation.java:97)
	at
org.eclipse.wst.common.frameworks.internal.datamodel.ExtendableOperationImpl.doExecute(ExtendableOperationImpl.java:129)
	at
org.eclipse.wst.common.frameworks.internal.datamodel.ExtendableOperationImpl$1.run(ExtendableOperationImpl.java:109)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1719)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1739)
	at
org.eclipse.wst.common.frameworks.internal.datamodel.ExtendableOperationImpl.execute(ExtendableOperationImpl.java:115)
	at
org.eclipse.wst.common.componentcore.internal.builder.ComponentStructuralBuilderDependencyResolver.build(ComponentStructuralBuilderDependencyResolver.java:57)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:593)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:168)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:202)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:231)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:234)
	at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:253)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:282)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:139)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:200)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
Comment 1 John Lanuti CLA 2005-08-15 14:44:13 EDT
The first part of this is fixed.  

The second part we currently handle through validation messages.  We may be able
to investigate later to add the missing module dependencies to the project explorer.
Comment 2 Igor Fedorenko CLA 2006-04-26 16:47:28 EDT
Created attachment 39596 [details]
[screenshot] missing build path entry

Attached is a screenshot of how JDT shows missing required dependencies. Note that projectA is annotated with yellow exclamation sign and that there is a warning message at the top of the dialog.

From usability standpoint, "J2EE module dependencies" is the place where user add/remove dependent projects and this is where the user should be able to see all problems.