Skip to content

Instantly share code, notes, and snippets.

@akutz
Created December 20, 2011 21:04
Show Gist options
  • Save akutz/1503267 to your computer and use it in GitHub Desktop.
Save akutz/1503267 to your computer and use it in GitHub Desktop.
akutz: igorf: I am running into the issue described here - http://forum.springsource.org/showthread.php?113801-EclipseRT-OSGi-Bundle-facet-Maven-plugin-problems
[3:35pm] akutz: igorf: Essentially, when an OSGi facet is added to the project m2e can no longer update the project configuration because of "problems encountered while setting project description"
[3:35pm] igorf: ok
[3:35pm] igorf: I can't help with STS, sorry
[3:35pm] akutz: It's not STS
[3:35pm] akutz: I'm using vanilla Eclipse
[3:35pm] akutz: with the STS plug-ins
[3:36pm] igorf: are you able to reproduce the problem without the STS plugins?
[3:37pm] igorf: I am using m2e for maven-bundle-plugin projects quite extensively, so I know it works at least in some scenarios
[3:38pm] akutz: Hmm, I haven't tried.
[3:38pm] akutz: I'm currently working with projects that require STS. I can open some that don't.
[3:39pm] akutz: It apparently only affects projects that are faceted and using the Eclipse RT OSGi Bundle facet.
[3:40pm] akutz: Which *used* to be apart of Spring DM Server Tools but it is now the Eclipse Virgo Server project.
[3:41pm] akutz: Yep, as soon as I removed that facet, even with the STS plug-ins installed, the Maven Update Project Configuration action worked w/o errors.
[3:42pm] igorf: akutz: if you believe this is a bug in m2e, please open a bugreport in m2e bugzilla and provide a quality patch that addresses the problem. m2e development team does not have the resources to diagnose m2e compatibility with all thirdparty eclipse plugins
[3:43pm] akutz: Not to be a PITA, but isn't the Eclipse Virgo project a first-party Eclipse plug-in?
[3:45pm] akutz: And I'm not asking for you to dedicate resources to it, but some direction on how to diagnose the error would be helpful. For example, I am not seeing anything in the logs. For that matter, my ".metadata/.plugins/org.eclipse.m2e.logback.configuration" directory is completely empty.
[3:45pm] akutz: Is there something I need to do to enable logging?
[3:47pm] igorf: m2e uses slf4j for logging and by default log configuration and log files are located in .metadata/.plugins/org.eclipse.m2e.logback.configuration
[3:47pm] akutz: Yes, I mentioned the same directory in my penultimate message.
[3:48pm] akutz: I also said it was empty and asked if there is anything I need to do to enable m2e logging. Or is there anything I can do to verify that m2e logging is functioning as expected.
[3:48pm] igorf: m2e is not expected to remove existing project natures during project configuration update
[3:49pm] akutz: I can't verify that is what is occurring (although that is what the webpage states), because, as I have said, there is nothing in my logs.
[3:49pm] akutz: I agree that what the webpage states is odd, and it is not something I would expect m2e to do.
[3:49pm] cschneide left the chat room. ("Leaving.")
[3:51pm] igorf: core project update logic is implemented in ProjectConfigurationManager.updateProjectConfiguration http://git.eclipse.org/c/m2e/m2e-core.git/tree/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java#n281
[3:52pm] igorf: STS and other installed m2e extensions can participate in maven project update, so you need to understand what code triggers the exception first
[3:53pm] akutz: project.setDescription(description, monitor);
[3:53pm] akutz: description.setNatureIds(newNatures);
[3:53pm] akutz: the last one.
[3:53pm] igorf: akutz: do you have full stack trace?
[3:54pm] akutz: igorf: Not to be rude, but have you seen the several statements I've made that m2e is not producing any logs for me whatsoever? You keep ignoring that I am telling you this.
[3:54pm] akutz: igorf: The log directory is completely devoid of any files.
[3:55pm] mpiggott: akutz: The logging feature is optional, make sure it is installed
[3:56pm] akutz: mpiggott: I will check, thank you. Is it an m2e plug-in?
[3:56pm] akutz: It was not. Installing now.
[4:02pm] akutz: https://gist.github.com/1502073
[4:02pm] akutz: There are no errors in the log. Just the Eclipse pop-up that says "Problems encountered while setting project description"
[4:03pm] mpiggott: akutz: Anything in the Eclipse error log?
[4:03pm] akutz: Pardon me for being a noob, but where is that?
[4:04pm] mpiggott: akutz: CTRL + 3 then type error should find it
[4:05pm] akutz: https://gist.github.com/1502087
[4:05pm] akutz: exception stacktrace not available
[4:05pm] akutz: Interestingly the error is being thrown from the plug-in org.eclipse.core.resources
[4:06pm] akutz: Or maybe that is the root of all plug-in exceptions.
[4:07pm] mpiggott: akutz: No, but if m2e is setting the description it would do it through APIs so any error would be set in there
[4:07pm] akutz: Ah
[4:08pm] akutz: mpiggott: m2e is clearly setting the description - http://git.eclipse.org/c/m2e/m2e-core.git/tree/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java#n338
[4:08pm] igorf: akutz: m2e does not remove natures, only adds new one
[4:08pm] akutz: I know.
[4:09pm] akutz: The line I quoted is in addMavenNature
[4:09pm] akutz: So it fits with what you've been saying.
[4:09pm] akutz: Doesn't it?
[4:09pm] igorf: yes, it does
[4:10pm] igorf: the failure you get can come from other calls into project.setDescription. you can't tell until you have the full stack trace
[4:10pm] akutz: What is interesting is #332 http://git.eclipse.org/c/m2e/m2e-core.git/tree/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java#n332
[4:11pm] akutz: The code to set the description shouldn't even be called unless the project does not have the Maven Nature, correct?
[4:11pm] akutz: Well, I'm not holding back the stack trace on purpose. Is there anything I can do to cause the stack trace to be emitted?
[4:12pm] akutz: It seems to me that y'all should be emitting the CoreException somewhere instead of bubbling it up to Eclipse which apparently doesn't know how to handle it to emit the stack trace
[4:13pm] akutz: igorf: Except per your guidance I looked at the updateProjectConfiguration method and the only way project.setDescription gets invoked is through the addMavenNature invocation.
[4:15pm] igorf: akutz: exception handling is done in UpdateConfigurationJob, which correctly returns IStatus to the platform in case of exception. Either the platform swallows the stack trace (which I think it does not) or the exception happens outside of m2e code
[4:16pm] igorf: start m2e under debugger, put a breakpoint in addMavenNature and see if it gets called
[4:16pm] akutz: I will happily do that if you instruct me how to debug an installed plug-in. I assume I need to pull the m2e sources.
[4:17pm] igorf: akutz: you can install m2e "SDK" feature with sources from http://download.eclipse.org/technology/m2e/releases/1.0/
[4:17pm] igorf: http://wiki.eclipse.org/M2E_extension_development_environment
[4:17pm] akutz: http://download.eclipse.org/technology/m2e/releases/1.0/ = 404
[4:18pm] mpiggott: akutz: Its a p2 update site, not a webpage
[4:19pm] akutz: Well poop on me.
[4:22pm] akutz: The SDK is installed. How do I start m2e under a debugger?
[4:23pm] mpiggott: akutz: If you open the Eclipse debug configurations there should be an Eclipse Application entry?
[4:23pm] akutz: For Maven Build?
[4:24pm] akutz: Oh
[4:24pm] akutz: "Eclipse Application"
[4:24pm] akutz: You were literal.
[4:24pm] akutz: Got it.
[4:24pm] akutz: Created a new one and called it m2e.
[4:25pm] mpiggott: akutz: Try and create a breakpoint I in m2e, and in the self hosted instance of Eclipse import your projects
[4:25pm] akutz: mpiggott: Do I just import the m2e sources and create the breakpoint there?
[4:26pm] mpiggott: akutz: With the SDK you might be able to just open it with ctrl + shift + t, or you may need to create a new plugin project & depend on it, not sure
[4:26pm] akutz: Gotcha.
[4:27pm] akutz: So, I launched "Eclipse Application" but it launched headless. Is my current Eclipse now attached to the debugger? Or did I launch it incorrectly?
[4:29pm] mpiggott: akutz: Hmm, maybe on the debug configuration, go to the plugins tab and switch to plugins selected below only. (Then select everything ,if the list is empty menu: Window > Preferences and filter on target. Set the target platform to the running instance)
[4:30pm] akutz: mpiggott: It's a JVM issue - https://gist.github.com/1502175
[4:30pm] bsd joined the chat room.
[4:32pm] mpiggott: akutz: Do you know if you're using the 32-bit Eclipse?
[4:32pm] akutz: I am. FlashBuilder won't load in 64-bit eclipse.
[4:33pm] mpiggott: akutz: On the firstpage of the debug configuration there should be a JRE options
[4:34pm] akutz: Yep
[4:34pm] akutz: Set to Runtime JRE
[4:34pm] akutz: Eclipse loads fine in mixed mode (which is what my JVM is set to)
[4:34pm] mpiggott: akutz: Use a 32-bit one You may have to open Installed JRE's and Add it if it isn't there
[4:35pm] mpiggott: I'm not familiar w/ mac so I don't particularly know what to do there
[4:36pm] akutz: Better yet, I can add "-d32" to the java executable.
[4:36pm] akutz: Forces 32-bit mode.
[4:37pm] akutz: There is no explicit 32-bit Java distro for OS X Lion.
[4:37pm] akutz: Java dev on OS X is getting difficult.
[4:40pm] akutz: Okay. Debug Eclipse is up and running. Now to try and set the break point.
[4:45pm] akutz: Okay, Eclipse can't find the type with Ctrl-Shit-T. How else do you recommend I find the type?
[4:47pm] mpiggott: akutz: Create a new Plugin project, then open the manifest and add the m2e plugin as a dependency (probably org.eclipse.m2e.core)
[4:48pm] akutz: When you say Plugin project, you mean Eclipse Plugin project? Or Maven Plugin project?
[4:48pm] mpiggott: akutz: Sorry, Eclipse
[4:48pm] akutz: np
[4:49pm] akutz: Done.
[4:50pm] mpiggott: Should be able to open the type now I imagine
[4:52pm] akutz: FWIW you must also add it as an imported package.
[4:53pm] akutz: So, where does the SDK shove the source (so I can attach it)
[4:54pm] mpiggott: akutz: Normally if it is installed it should just know where it is
[4:54pm] akutz: It didn't.
[4:54pm] akutz: It was in eclipse/plugins/org.eclipse.m2e.core.source_1.0.100.20110804-1717.jar
[4:56pm] akutz: Okay, I must be doing something wrong, because when I right-clicked on the project and selected Maven->Update Project Configuration, none of the breakpoints I set at the top of each updateProjectConfiguration method are being tripped.
[4:56pm] mpiggott: akutz: Did use Debug rather than Run?
[4:57pm] akutz: Oh yeah. I'm getting a crapload of pop up errors all over the place.
[4:57pm] akutz: Apparently debug mode doesn't expect Eclipse to ever be usable
[4:57pm] mpiggott: Strange
[4:58pm] akutz: I am getting a new message in the parent Eclipse's console log.
[4:59pm] akutz: https://gist.github.com/1502299
[4:59pm] akutz: Actually, refresh that - https://gist.github.com/1502299
[5:00pm] akutz: What is interesting is that the UpdateConfigurationJob starts and completes without error. But THEN the error is encountered.
[5:02pm] mpiggott: akutz: I wonder if it is the order some of the Spring plugins are defined in your pom?
[5:04pm] akutz: mpiggott: There are none. The project was created from a template that gives the project a spring nature and OSGi facet, but the POM is a JAR or WAR that has no dependencies on Spring.
[5:04pm] akutz: mpiggott: Do you think that could be the issue? It's trying to remove the nature because it does not see a Spring dependency in the POM file?
[5:05pm] mpiggott: akutz: It shouldn't, I think igorf mentioned it earlier but m2e should only remove natures it added
[5:06pm] igorf: mpiggott: akutz: m2e does not remove natures, only adds. this was the intent at least
[5:07pm] igorf: during Update Configuration, that is
[5:07pm] akutz: mpiggott: He did, but I can't escape the fact that when I invoke "Update Project Configuration" a log entry is being emitted such that "!MESSAGE Cannot remove nature org.springframework.ide.eclipse.core.springnature because it is a prerequisite of nature com.springsource.server.ide.facet.core.bundlenature."
[5:07pm] akutz: igorf: I traced that, and you're correct. There is no indication it should.
[5:07pm] mpiggott: akutz: Maybe Spring is participating in te update
[5:07pm] akutz: mpiggott: Possibly. How would it register itself to do so?
[5:07pm] igorf: akutz: put a breaking inside setDescription and see what calls it
[5:08pm] mpiggott: igorf: different error when self-hosting: https://gist.github.com/1502299
[5:09pm] igorf: looks the same to me
[5:09pm] igorf: "Problems encountered while setting project description"
[5:10pm] mpiggott: igorf: Try refreshing maybe
[5:10pm] mpiggott: igorf: Oh, yes, 2 lines below that
[5:10pm] igorf: mpiggott: sorry?
[5:11pm] akutz: igorf: What is the implementation of IProject I should be breaking on?
[5:11pm] mpiggott: igorf: I see more than just setting the description, also see: Cannot remove nature org.springframework.ide.eclipse.core.springnature because it is a prerequisite of nature com.springsource.server.ide.facet.core.bundlenature.
[5:11pm] mpiggott: akutz: Project
[5:12pm] igorf: mpiggott: this is the nested IStatus, I believe.
[5:12pm] mpiggott: igorf: Ah
[5:12pm] igorf: anyways, dentist appointment... wish me luck
[5:12pm] cstamas_ joined the chat room.
[5:13pm] mpiggott: igorf: Try not to have too much fun ^^
[5:13pm] igorf: yeah, I hope it would be really boring
[5:13pm] cstamas left the chat room. (Ping timeout: 20 seconds)
[5:13pm] akutz: mpiggott: IProject and Project do not appear to be in the same package...
[5:13pm] akutz: igorf: Thank you for your help
[5:14pm] mpiggott: akutz: One is probably API the other is internal?
[5:14pm] akutz: org.eclipse.core.resources.IProject
[5:14pm] akutz: Eclipse won't open the type
[5:14pm] mpiggott: If you open the type hierarchy (F4)
[5:15pm] mpiggott: akutz: Which Eclipse package are you using? (e.g. j2ee, java, SDK)
[5:15pm] akutz: j2ee
[5:15pm] mpiggott: akutz: Probably doesn't have the source bundles for the Eclipse plugins installed
[5:15pm] akutz: Huh, IProject is an eclipse class.
[5:15pm] akutz: import org.eclipse.core.resources.IProject;
[5:16pm] mpiggott: akutz: http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.7/org.eclipse.core/resources/3.7.100/org/eclipse/core/resources/IProject.java#IProject
[5:17pm] akutz: mpiggott: I need to go. Will you be on later? Also, From what you can see, does it appear as if Maven Update Configuration is completing okay inside of the m2e code but blowing up because of something Spring is doing?
[5:18pm] akutz: I guess I'm confused. It seems that m2e "Maven Update Configuration" invokes m2e code but then also causes non m2e code to be invoked?
[5:18pm] mpiggott: akutz: Depends on what later is
[5:18pm] akutz: Gotcha
[5:18pm] mpiggott: akutz: Yes, m2e doesn't run maven plugins, it requires configurators
[5:18pm] mpiggott: akutz: Eclipse doesn't like it when you touch its files outside the API
[5:18pm] akutz: Is there a way to update a project configuration outside of m2e that should invoke the same code that is causing the error?
[5:19pm] akutz: I'm familiar with the new concept of configurations. Loathe them.
[5:19pm] akutz: I've had to ignore several already (via the POM)
[5:19pm] mpiggott: akutz: Only thing I can think of would be the import process, e.g. in Import there is a Maven section
[5:20pm] akutz: Yes, it is "Red X" on import as well.
[5:20pm] akutz: I have to update the project config to make it go away.
[5:20pm] mpiggott: akutz: What is the error on import?
[5:20pm] akutz: Same
[5:21pm] mpiggott: akutz: Are you using the Maven Import wizard, or the Ecilpse one?
[5:21pm] akutz: Maven
[5:21pm] mpiggott: akutz: Are you using Execute mappings?
[5:21pm] akutz: Dunno
[5:22pm] mpiggott: akutz: The things you added to your pom, are they <ignore/> or <execute/>
[5:22pm] akutz: Ah, I thought you were asking me about the import
[5:23pm] akutz: <execute><runOnIncremental>
[5:23pm] akutz: I am using the lifecycleMappingMetadata section to approve plugin goals
[5:23pm] akutz: Per http://wiki.eclipse.org/M2E_plugin_execution_not_covered
[5:24pm] mpiggott: akutz: execute can cause problems & general falkiness
[5:24pm] akutz: Changed it to <ignore />
[5:25pm] akutz: Nope. Same error. Checking on import.
[5:25pm] ollie left the chat room. ("Leaving.")
[5:25pm] akutz: Same error on import too. Like I said, it only happens when the project has the Eclipse OSGi RT facet.
[5:26pm] akutz: To be exact: "EclipseRT Virgo Server" --> "EclipseRT OSGi Bundle" 1.0
[5:28pm] akutz: What plug-in do I need to install for the Eclipse SDK?
[5:29pm] mpiggott: akutz: I'm not sure about plugin, we typically start from the Eclipse SDK download
[5:29pm] mpiggott: akutz: http://eclipse.org/downloads/packages/eclipse-classic-371/indigosr1
[5:30pm] akutz: The SDK download isn't listed.
[5:30pm] mpiggott: akutz: You might want to try and look at the IProjectDescription, see if both natures are there, if the order is correct, etc.
[5:30pm] akutz: That's the thing.
[5:30pm] mpiggott: akutz: I'm going to head out for lunch now will be back later though.
[5:30pm] akutz: Me too.
[5:30pm] akutz: Later
[5:31pm] akutz: Thank you again.
[5:36pm] You left the chat by being disconnected from the server.
[6:04pm] You rejoined the room.
[6:05pm] You left the chat by being disconnected from the server.
[6:05pm] You rejoined the room.
[6:06pm] mauro left the chat room. (Client closed connection)
[6:08pm] akutz: mpiggott: When you get back, I have some additional information.
[6:16pm] mpiggott: atpa8a: Whats up?
[6:17pm] mpiggott: Whups, wrong person
[6:17pm] mpiggott: akutz: Whats up
[6:17pm] akutz: mpiggott: I created a brand new Maven project using the osgi-bundle archetype and receive the same error. I just thought it was worth mentioning that is reproducible using stock archetypes.
[6:18pm] akutz: I added the offending Facet and voila…error
[6:19pm] mpiggott: akutz: Archetypes are just downloaded from your repositories
[6:20pm] mpiggott: akutz: We use tycho for the m2e build
[6:20pm] akutz: I'm aware. My point is that it isn't the same projects I've been having the problem with. Those were created by hand.
[6:23pm] mpiggott: akutz: Do you still have the STS plugins installed?
[6:23pm] akutz: mpiggott: Yes. They are required to use the EclipseRT OSGi Bundle facet.
[6:23pm] akutz: FWIW, I just created a maven-plugin project that is non OSGi and added the "EclipseRT OSGi Bundle" facet to it for giggles.
[6:23pm] akutz: It breaks the update as well.
[6:23pm] akutz: It is definitely the addition of the facet.
[6:24pm] akutz: When you add said facet it actually adds to natures to the project:
[6:24pm] akutz: com.springsource.server.ide.facet.core.bundlenature
[6:24pm] akutz: org.springframework.ide.eclipse.core.springnature
[6:25pm] akutz: The error that is being produced when updating the project indicates that the latter nature is being removed (trying anyway) by something but can't be because the former nature depends on it.
[6:27pm] akutz: I don't think the issue is m2e, but rather some process inside of Eclipse that m2e is instigating
[6:32pm] akutz: I'm downloading the Eclipse Platform SDK to see if I can hook into the area where the exception is being thrown.
[6:33pm] mpiggott: akutz: LIkely there is a spring plugin that adds those natures to the project description
[6:33pm] akutz: Ah, so the description itself can be extended by natures?
[6:33pm] mpiggott: akutz: I assume the IProjectDesscription has a list of natures
[6:34pm] mpiggott: akutz: Yes, there is a setNatureIds
[6:44pm] akutz: mpiggott: Any reason you can think of why my breakpoints aren't being hit? I'm attached to the Eclipse Project.class and have put breakpoints there as well as the Configuration manager where the updates occur.
[6:45pm] akutz: mpiggott: Should I be performing the actions in the Eclipse debug instance or in the parent instance?
[6:45pm] akutz: mpiggott: I'm performing the actions currently in the debug instance
[6:45pm] mpiggott: akutz: The original instance.
[6:46pm] akutz: That may be why
[6:47pm] akutz: mpiggott: Despite where I perform the "Update Proj Config", no break points are being triggered.
[6:48pm] mpiggott: akutz: Launched with Debug correct?
[6:48pm] akutz: mpiggott: It's in the Debug window and I launched it with the Bug, so I think so. I'll try again though.
[6:49pm] mpiggott: akutz: Easy way to tell, in the Debug view you would see a tree with all the threads, Run you don't see them
[6:49pm] akutz: mpiggott: Do I want to "Run a product" or "Run an application" inside the debug window
[6:49pm] akutz: Oh, I see them.
[6:49pm] akutz: Maybe I need to enable Tracing?
[6:50pm] mpiggott: akutz: You shouldn't that is extra logging
[6:51pm] mpiggott: (for projects that use it, m2e does not)
[6:55pm] mpiggott: akutz: I just tried creating a maven project w/o m2e code in my workspace, and I did hit a breakpoing in Project#setDescription
[6:56pm] akutz: Well, you're already getting different results than me seeing as how I have to manually attach sources.
[6:56pm] akutz: And you are performing the actions from the parent, correct?
[6:57pm] akutz: Maybe I should try with a fresh Eclipse install.
[6:57pm] mpiggott: akutz: I guess. Not in the hosted instance.
[7:06pm] akutz: mpiggott: I have a new instance of Eclipse. I am going to install the SDK and verify I can hit a breakpoint. Then I'll install the STS plug-ins and verify I still hit the breakpoints. Then I'll install m2e.
[7:14pm] akutz: mpiggott: How did you cause the breakpoint to trigger without m2e?
[7:15pm] mpiggott: akutz: I just put a breakpoint in Project then created a new Maven Project & hit the breakpoint
[7:15pm] akutz: How do you create a new Maven project without m2e?
[7:15pm] mpiggott: akutz: I had m2e installed, I just didn't have m2e's code checked out in my workspace.
[7:15pm] akutz: Inside Ecelipse I mean
[7:15pm] akutz: mpgiggott: Ah, I never did either. Gotcha.
[7:15pm] mpiggott: akutz: I imagine the Proect breakpoint would be hit if you create a Java project also
[7:20pm] akutz: nope
[7:27pm] akutz: mpiggott: I have to be in the wrong class. Nothing.
[7:27pm] akutz: org.eclipse.core.internal.resources.Project?
[7:42pm] mpiggott: akutz: Yup. I just tested a Java project & that works also
[7:42pm] akutz: mpiggott: I think I just figured out what I've been doing wrong.
[7:42pm] akutz: I'm testing my theory now.
[7:42pm] akutz: A no prize if you can guess
[7:45pm] akutz: mpiggott: not working.
[7:45pm] akutz: mpiggott: I think I'm supposed to be setting breakpoints in the class file in the parent instance and I've been setting them in the hosted instance.
[7:46pm] mpiggott: akutz: Right, you do things in the Host, not the Hosted instance.
[7:46pm] akutz: mpiggott: Well, that negates the last 2 hours of testing
[7:48pm] akutz: mpiggott: Where are you setting the breakpoint? On "monitor = Policy.monitorFor(monitor);" ?
[7:49pm] mpiggott: akutz: Yes
[7:49pm] akutz: Okay. I must not be launching the hosted instance correctly.
[7:50pm] akutz: Under "Program to Run" do you have it set to a "product" or "an application"
[7:50pm] mpiggott: akutz: You shouldn't need to change it. e.g. should be Run a product: org.eclipse.sdk.ide
[7:51pm] mpiggott: akutz: The buttons the window has are Debug/Close yes? Not Run/Close right?
[7:51pm] akutz: Yes. It is debug mode.
[7:51pm] akutz: Fresh eclipse instlal
[7:52pm] mpiggott: akutz: Cool. I keep checking as I used to do support and people gloss over the easy stuff too often
[7:52pm] akutz: mpiggott: I do the same. Np.
[8:02pm] akutz: mpiggott: A breakpoint finally hit when I exited the hosted instance.
[8:02pm] akutz: mpiggott: But the vars were null.
[8:02pm] mpiggott: akutz: Strange.
[8:09pm] akutz: mpiggott: The Project constructor is hitting when the hosted instance is created and destroyed, but no other breakpoints are hitting in between
[8:10pm] mpiggott: akutz: Are you creating your test project in the hosted instance?
[8:10pm] akutz: mpiggott: No, I'm doing everything in the parent instance.
[8:10pm] akutz: mpiggott: Should I be creating the test project in the hosted instance?
[8:11pm] mpiggott: akutz: That is the problem. Basically the host instance is where you do your debugging, the hosted instance is where you simulate your workflow
[8:11pm] akutz: mpiggott: Thank you.
[8:11pm] mpiggott: akutz: The workflow in this case being creating / importing projects
[8:11pm] akutz: Make sense
[8:12pm] akutz: WORKED
[8:13pm] akutz: mpiggott: Now that I have that working I'll go back to my original instance with everything that I need so I can see how it works there.
[8:27pm] akutz: mpiggott: Okay, it is working in the original environment. I can see exactly where the error is ocurring.
[8:28pm] mpiggott: akutz: Cool
[8:29pm] akutz: mpiggott: Interestingly enough the first call to setDesecription comes through with 5 natures (including Spring) whereas the subsequent calls do not have the Spring nature, which is what causes the error.
[8:29pm] akutz: Eclipse is trying to remove it and because of the bundle nature's dependency it cannot
[8:30pm] akutz: the question is, why is the Spring nature ever removed to begin with
[8:32pm] mpiggott: akutz: If you aren't already you probably want to look back on the stack and see where the list of natures comes from.
[8:33pm] akutz: Yeah. I am. The problem is I need to figure out when it goes from 5 to 4. Once that happens it never goes back to 5. Have to create a new project.
[8:37pm] akutz: mpiggott: It's coming from you guys, but you are calling project.getDescription to get it.
[8:38pm] akutz: So the question is, where between you calling project.getDescription() and getting 5 natures is the Spring nature getting dropped.
[8:38pm] akutz: Because ultimately you call project.getDescription() and only 4 natures are coming back
[8:39pm] akutz: mpiggott: Oh wow!
[8:40pm] akutz: http://www.dumpt.com/img/viewer.php?file=npttdz36m6nxt59wzhy6.jpg
[8:43pm] mpiggott: akutz: Spring trying to add it?
[8:43pm] akutz: mpiggott: It looks like Spring is trying to remove it, doesn't it?
[8:43pm] akutz: SpringCoreUtils.removeProjectNature
[8:43pm] akutz: I think it thinks it isn't a Spring project and therefore doesn't need the nature.
[8:44pm] akutz: I think I will create a Spring project and try the same workflow.
[8:44pm] bsd1 joined the chat room.
[8:44pm] bsd left the chat room. (Client closed connection)
[8:51pm] akutz: mpiggott: Well, I'm halted. STS source is not open so I can't trace it. The best I can do is to file a bug report with STS. Joy.
[8:52pm] akutz: mpiggott: Thank you for all of your help. I learned a lot today!
[8:52pm] mpiggott: akutz: np
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment