luckyfengyong / goclipse

Automatically exported from code.google.com/p/goclipse
0 stars 0 forks source link

Linked folders cause project name to be prepended to file paths, causing Resource Not Found stack traces. #152

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create an empty Go Project. Name it "abc"
2. Create a directory, "def" outside of the project directory (your home 
directory is fine)
3. Add "def" as a linked folder to the project. (Right click project name --> 
New --> Folder --> Advanced --> Link to Alternative Location (linked folder) 
--> /path/to/def)
4. Add "def" as a src folder and remove auto-created "src" (Right click project 
name --> Properties --> Go Project Configuration --> click "src" --> Remove 
Folder --> Add Folder --> select "def")
5. Create "itworks.go" file within "def" linked folder. (Right click "def" --> 
New --> Go File --> Command Source File --> Empty Main function --> Finish)
6. In source file: import "fmt", and in main() function, type "fmt.Println(it 
works)". The syntax error is intentional. Save.
7. Change package name from main to "def". Save.
8. Notice the workspace-name/.metadata/.log file now contains a stack trace:

!ENTRY goclipse 4 0 2013-08-30 13:28:56.003
!MESSAGE Resource '/abc/path/to/def' does not exist.
!STACK 1
org.eclipse.core.internal.resources.ResourceException: Resource 
'/abc/path/to/def' does not exist.
    at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:341)
    at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:215)
    at org.eclipse.core.internal.resources.Container.members(Container.java:266)
    at org.eclipse.core.internal.resources.Container.members(Container.java:249)
    at com.googlecode.goclipse.builder.GoCompiler.clearPackageErrorMessages(GoCompiler.java:483)
    at com.googlecode.goclipse.builder.GoCompiler.compilePkg(GoCompiler.java:397)
    at com.googlecode.goclipse.builder.GoBuilder.incrementalBuild(GoBuilder.java:286)
    at com.googlecode.goclipse.builder.GoBuilder.build(GoBuilder.java:81)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SUBENTRY 1 org.eclipse.core.resources 4 368 2013-08-30 13:28:56.003
!MESSAGE Resource '/abc/path/to/def' does not exist.

What is the expected output? What do you see instead?
The file should contain the red Xs indicating a syntax error in the file. No 
errors are found, no pop up indicating an error happens.
Instead, this stack trace shows the project name be prepended to the absolute 
path of the linked directory. 

What version of the product are you using? On what operating system?
0.7.6v450 using Eclipse 3.8.0 on Ubuntu Precise (64bit)

Please provide any additional information below.

Original issue reported on code.google.com by tto...@google.com on 30 Aug 2013 at 5:33

GoogleCodeExporter commented 9 years ago
Will see if I can repro and create a fix -

Original comment by devonca...@gmail.com on 30 Aug 2013 at 5:36