| Summary: | need way to synchronize output folders with build.properties | ||
|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Pawel Pogorzelski <pawel.pogorzelski1> |
| Component: | UI | Assignee: | Ankur Sharma <ankur_sharma> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | aniefer, curtis.windatt.public, darin.eclipse, markus.kell.r, Olivier_Thomann, srikanth_sankaran |
| Version: | 3.5 | ||
| Target Milestone: | 3.6 M4 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
Pawel Pogorzelski
This bug crashes self-hosted Eclipse during initialization. When do you expect to investigate the cause? Jay, can you please investigate this ? Thanks! Bumping severity until we know exactly the settings along which the problem surfaces. Not able to reproduce this on Linux but can see the problem in Windows. Looking in to the bug. The following resolution seem to help: 1. Open the org.eclipse.core.net -> META_INF -> MANIFEST.MF 2. Click open the Build tab at the bottom 3. Under the 'Runtime Information' section, select the default library (.) and on the right hand side, click on 'Add Folder', which opens the folders in the project. 4. Select the 'src_ext' folder and 'OK' 5. Right click on the 'src' folder and 'Delete' and Ctrl+S to save. Try running the Eclipse application after these steps and it should work. I am still trying to find more information on this. For now, this should solve the issue. Thanks for the update. Do you know what causes it? Is the linked source folder the setting to blame? From the eclipse's Plug-in Development Environment Guide: ------------ Plug-in Build The Build page contains all the information needed to build, package and export the plug-in. Although it appears as a page in the plug-in manifest editor, changes made to it are written by PDE to the plug-in's build.properties file. The build.properties file solely guides the build process. Runtime Information The Runtime Information section lists all the libraries that you want to build. For each library, you must list the source folder(s) that will be compiled into the library. ------------ As per this, all the build related information for a plug-in goes to the MANIFEST file. The source folders added through the "Configure Build path" goes inside the .project file, which is meant for the Eclipse Java projects. One might argue that changes made here should automatically reflect in the plug-in manifest also. But clearly that doesn't seem to be the case here or the intended behavior. In other words, to answer your question, for a plug-in to work with the linked folder, you have to replace the src with the src_ext in the MANIFEST and not in project's properties. > In other words, to answer your question, for a plug-in to
> work with the linked folder, you have to replace the src with the src_ext in
> the MANIFEST and not in project's properties.
>
So, looks like JDT and PDE use different settings in this case, right?
(In reply to comment #7) > One > might argue that changes made here should automatically reflect in the plug-in > manifest also. But clearly that doesn't seem to be the case here or the > intended behavior. True. And if the setting is not replicated into the manifest it should be clearly stated. Current behaviour is confusing, at least for me. Andrew, your thoughts? (In reply to comment #4) > Not able to reproduce this on Linux but can see the problem in Windows. And why does it work on Linux? Is the setting replicated? My comments yesterday got lost somehow. Source folders should not be listed in the manifest. The manifest describes where in the final built bundle the .class files will be. The build page describes how to build the project, it is a mapping of source folders to their final built location. PDE/Core is in charge of setting up classpath mappings so that the self hosted eclipse can find the class files in the workspace. These are automatically passed to the hosted eclipse using a -dev argument. I don't know for sure, but PDE may be using the information on the build page to set up the -dev properties file. (In reply to comment #12) > I don't know for sure, but PDE may be using the information on the build page > to set up the -dev properties file. PDE uses build.properties to generate dev.properties. Each output.* location/property is added to the dev entries. (In reply to comment #13) > PDE uses build.properties to generate dev.properties. Each output.* > location/property is added to the dev entries. > Based on this, it seems to me that comment #5 is the correct solution. (The Build tab in the editor is just a graphical UI version of the build.properties). (In reply to comment #14) > (In reply to comment #13) > > PDE uses build.properties to generate dev.properties. Each output.* > > location/property is added to the dev entries. > > > Based on this, it seems to me that comment #5 is the correct solution. (The > Build tab in the editor is just a graphical UI version of the > build.properties). Thanks a lot Darin and Andrew for weighing in on this. Pawel, can you try the solution outlined in comment #5 and confirm that it takes care of the problem for you ? BTW, we did manage to reproduce the problem on Linux also. (In reply to comment #15) > Pawel, can you try the solution outlined in comment #5 > and confirm that it takes care of the problem for you ? Sure, I followed the steps and Eclipse started without problems. Lowering severity. Could we think of automatically replicating the setting from "Configure Build path" to build.properties? This could be done after displaying a prompt. I found another workaround for the initial steps. This workaround looks like a bug though. The workaround is to not delete 'src' as stated in step 6. You should remove the folder content instead and leave the folder empty. Eclipse will start. Going further using Pawel's steps. I removed 'src' folder (as in step 6) and added another empty source folder 'b' to my project. I updated Runtime Information to have there only 'b' folder. Eclipse starts. Remove 'b' from your project. Eclipse doesn't start. It's not clear for me what happens here. Pawel could you confirm? (In reply to comment #18) > Going further using Pawel's steps. I removed 'src' folder (as in step 6) and > added another empty source folder 'b' to my project. I updated Runtime > Information > to have there only 'b' folder. Eclipse starts. Remove 'b' from your project. > Eclipse doesn't start. > > It's not clear for me what happens here. > Pawel could you confirm? Sure. I got the same behavior. Using the 3.6 M4 candidate with improved build.properties validation, I get these warnings when I follow the steps in the original bug report: Description Resource Path Location Type 'src/' is not a source folder. build.properties /org.eclipse.core.net line 11 Plug-in Problem src_ext/ is missing from source.. build.properties /org.eclipse.core.net line 11 Plug-in Problem The folder "bin/" does not exist in the workspace build.properties /org.eclipse.core.net line 12 Plug-in Problem Using quick fixes to address the problems allows me to launch the workspace successfully. Marking fixed. Users can set the problem severities in build.properties to error if they want to be sure to catch these errors. |