facebook

Why is 3.8.0 adding stuff to my .project files?

  1. MyEclipse Archived
  2.  > 
  3. Bugs
Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #212169 Reply

    Since installing 3.8.0 GA, my .project files are being molested with the following:

    <buildCommand>
    <name>com.ibm.sse.model.structuredbuilder</name>
    <arguments>
    </arguments>
    </buildCommand>

    Why? I don’t want this!

    Phil

    #212172 Reply

    Scott Anderson
    Participant

    Why? I don’t want this!

    Why not? It’s simply a standard Eclipse builder that helps index java source in JSP files, etc. The Eclipse project builder mechanism is the standard way to add capabilities to the workbench so that code can be notified of the auto-build cycle. You’ll notice several other builders in there also, so ours, some Eclipse’s.

    #212176 Reply

    Scott Anderson
    Participant

    Here’s a nice article on how Eclipse uses project natures and builders in case you want to read more about it:
    http://www.eclipse.org/articles/Article-Builders/builders.html

    #212197 Reply

    OK, what I mean is that this is being added to Eclipse projects that are only wrappers around libraries and have no java or jsp files. Example, I have a project that consists of jdom.jar, plugin.xml and build.properties and these lines are added in the .project file there. For what purpose?

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <projectDescription>
    <name>org.jdom</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
    <buildCommand>
    <name>org.eclipse.pde.ManifestBuilder</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>org.eclipse.pde.SchemaBuilder</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>com.ibm.sse.model.structuredbuilder</name>
    <arguments>
    </arguments>
    </buildCommand>
    </buildSpec>
    <natures>
    <nature>org.eclipse.pde.PluginNature</nature>
    </natures>
    </projectDescription>

    Phil

    #212198 Reply

    And my log is constantly being dumped with this:

    !SESSION Aug 17, 2004 01:14:45.656 ———————————————
    eclipse.buildId=M200408051455
    java.version=1.4.2_04
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US

    !ENTRY org.eclipse.osgi Aug 17, 2004 01:14:45.656
    !MESSAGE The class “com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$2” cannot be loaded because the system is shutting down and the plug-in “com.ibm.sse.model.jsp” has already been stopped.
    !STACK 0
    java.lang.ClassNotFoundException: The class “com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$2” cannot be loaded because the system is shutting down and the plug-in “com.ibm.sse.model.jsp” has already been stopped.
    at org.eclipse.core.runtime.adaptor.EclipseClassLoader.shouldActivateFor(EclipseClassLoader.java:147)
    at org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass(EclipseClassLoader.java:62)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:371)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
    at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager.getVisitor(JSPIndexManager.java:73)
    at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$1.run(JSPIndexManager.java:50)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

    !ENTRY org.eclipse.core.runtime 4 2 Aug 17, 2004 01:14:45.671
    !MESSAGE An internal error occurred during: “Update JSP Index”.
    !STACK 0
    java.lang.NoClassDefFoundError: com/ibm/sse/model/jsp/internal/java/search/JSPIndexManager$2
    at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager.getVisitor(JSPIndexManager.java:73)
    at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$1.run(JSPIndexManager.java:50)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

    Phil

    #212787 Reply

    I’m having the same problem. ALL my .project files got affected by having this buildCommand added to them whether they are web projects or not. Looks like myEclipse has taken over somewhere in the Saving of .project files because I can’t even edit the file outside eclipse and have it stick. Next time I open eclipse it automagically adds that section back into the .project file. The real problem for me is I’m the only one on a team of about 20 people using myEclipse and I really only make use of the web stuff in one project. So now I can’t check in any .project files without affecting every other project. This seems like a bug to me.

    =Perry

    #212789 Reply

    One additional thing… After closing all editor windows in Eclipse so that only my java package perspective is active I close eclipse. Then I clear my .log file in the metadata directory. The restart eclipse and then immediately exit I get the following in the .log file.

    !SESSION Aug 19, 2004 13:57:27.981 ———————————————
    eclipse.buildId=I200406251208
    java.version=1.4.2_03
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
    Command-line arguments: -showlocation

    !ENTRY org.eclipse.osgi Aug 19, 2004 13:57:27.981
    !MESSAGE The class “com.ibm.wtp.common.ui.UITesterImpl” cannot be loaded because the system is shutting down and the plug-in “com.ibm.wtp.common.ui” has already been stopped.
    !STACK 0
    java.lang.ClassNotFoundException: The class “com.ibm.wtp.common.ui.UITesterImpl” cannot be loaded because the system is shutting down and the plug-in “com.ibm.wtp.common.ui” has already been stopped.
    at org.eclipse.core.runtime.adaptor.EclipseClassLoader.shouldActivateFor(EclipseClassLoader.java:147)
    at org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass(EclipseClassLoader.java:62)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:371)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
    at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:307)
    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:336)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1313)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:131)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:124)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:113)
    at com.ibm.wtp.common.UIContextDetermination$UITesterRegistryReader.readElement(UIContextDetermination.java:153)
    at com.ibm.wtp.common.RegistryReader.internalReadElement(RegistryReader.java:61)
    at com.ibm.wtp.common.RegistryReader.readRegistry(RegistryReader.java:99)
    at com.ibm.wtp.common.UIContextDetermination.getCurrentContext(UIContextDetermination.java:69)
    at com.ibm.etools.validate.internal.EventManager.isHeadless(EventManager.java:431)
    at com.ibm.etools.validate.internal.EventManager.shutdown(EventManager.java:323)
    at com.ibm.etools.validate.plugin.ValidationPlugin.shutdown(ValidationPlugin.java:137)
    at org.eclipse.core.internal.compatibility.PluginActivator.stop(PluginActivator.java:74)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:994)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:990)
    at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:502)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.stop(AbstractBundle.java:437)
    at org.eclipse.core.runtime.adaptor.BundleStopper.basicStopBundles(BundleStopper.java:75)
    at org.eclipse.core.runtime.adaptor.BundleStopper.stopBundles(BundleStopper.java:62)
    at org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStopping(EclipseAdaptor.java:551)
    at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:457)
    at org.eclipse.osgi.framework.internal.core.SystemBundle$1.run(SystemBundle.java:182)
    at java.lang.Thread.run(Thread.java:534)

    !ENTRY org.eclipse.core.runtime 4 1 Aug 19, 2004 13:57:27.981
    !MESSAGE Plug-in com.ibm.wtp.common.ui was unable to load class com.ibm.wtp.common.ui.UITesterImpl.
    !STACK 0
    java.lang.ClassNotFoundException: com.ibm.wtp.common.ui.UITesterImpl
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:404)
    at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:307)
    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:336)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1313)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:131)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:124)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:113)
    at com.ibm.wtp.common.UIContextDetermination$UITesterRegistryReader.readElement(UIContextDetermination.java:153)
    at com.ibm.wtp.common.RegistryReader.internalReadElement(RegistryReader.java:61)
    at com.ibm.wtp.common.RegistryReader.readRegistry(RegistryReader.java:99)
    at com.ibm.wtp.common.UIContextDetermination.getCurrentContext(UIContextDetermination.java:69)
    at com.ibm.etools.validate.internal.EventManager.isHeadless(EventManager.java:431)
    at com.ibm.etools.validate.internal.EventManager.shutdown(EventManager.java:323)
    at com.ibm.etools.validate.plugin.ValidationPlugin.shutdown(ValidationPlugin.java:137)
    at org.eclipse.core.internal.compatibility.PluginActivator.stop(PluginActivator.java:74)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:994)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:990)
    at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:502)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.stop(AbstractBundle.java:437)
    at org.eclipse.core.runtime.adaptor.BundleStopper.basicStopBundles(BundleStopper.java:75)
    at org.eclipse.core.runtime.adaptor.BundleStopper.stopBundles(BundleStopper.java:62)
    at org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStopping(EclipseAdaptor.java:551)
    at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:457)
    at org.eclipse.osgi.framework.internal.core.SystemBundle$1.run(SystemBundle.java:182)
    at java.lang.Thread.run(Thread.java:534)

    #212954 Reply

    Scott Anderson
    Participant

    The log entries on shutdown, while they might look dramatic, really don’t cause any problems per se. They’re just caused by the OSGi runtime trying to spin up plugins during shutdown and then realizing that it can’t. Most of the issues mentioned in this thread will be addressed in the 3.8.1 update available on Monday. I’ve opened a bug report for the structure builder addition for non-MyEclipse projects for investigation and resolution by 3.8.2.

    #213135 Reply

    donpark
    Member

    I agree with others. I noticed it when I tried to sync my projects with CVS and found that all the project’s .project file showed up as changed. I can’t check them in because other members of my team, who manage the non-webapp projects and don’t use MyEclipse, will get build errors.

    #213137 Reply

    Scott Anderson
    Participant

    Don,

    The alteration of the .project files for non-web application projects that you’ve pointed out is certainly an issue. We’ve got a P1 problem report on it and expect to address it either with a quick fix or in the 3.8.2 maintenance release in the very near future. In the meantime, we apologize for the inconvenience this causes while we address it.

    #213344 Reply

    Scott Anderson
    Participant

    An additional question on this topic. The structured builder and validation builder are needed to build the underlying edit models for any of the editors (XML, XSD, CSS, etc). If removing these builders from the non-J2EE projects prevents you from editing or validating XML, for example, with our editors then I assume that would be an acceptable trade to all of you? You can think of it similarly to removing the Java builder and then not being able to compile java code in a project. Just to be clear I want to be sure you understand what you’re all asking for.

    #213359 Reply

    Jon Nermut
    Member

    Could it be opt in instead of automatic?
    So that the first time that you try to edit an xml file using the myEclipse editor in a non J2EE project it gives you the option of adding the builders.
    I really want to use the XSD and XML editors in a normal java project.

    #213364 Reply

    donpark
    Member

    Scott, IMHO packaging these builders as “capabilities” that developers can add to projects is the right way to go in the long run. So if a developer wants “smart editing” or “auto validation” capability, they can add it. Web Project capability can implicitly include these capabilities.

    For the short run, just allowing per-project enable/disabling of builder insertion would be fine.

    #213379 Reply

    Scott Anderson
    Participant

    Guys,

    Thanks for the feedback. I’ll add the desire for “opt in” to the bug report. Seems like the best solution in the short term. The capabilities idea is certainly interesting in the longer term also.

    #221786 Reply

    kereszturi
    Member

    I’m running the myeclipse plugin 3.8.3 and it’s still adding this stuff to all projects. This is royal pain. I have several non-myeclipse related projects that are being changed, causing issues for others on my team who don’t have myeclipse.

    Is there any word on this problem?

Viewing 15 posts - 1 through 15 (of 16 total)
Reply To: Why is 3.8.0 adding stuff to my .project files?

You must be logged in to post in the forum log in