Bug 92631 - JDT output folder isn't marked "Derived"
Summary: JDT output folder isn't marked "Derived"
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0.1   Edit
Hardware: All Windows XP
: P3 normal (vote)
Target Milestone: 3.1 M7   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-25 15:53 EDT by Peter Carmichael CLA
Modified: 2005-05-02 12:16 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Carmichael CLA 2005-04-25 15:53:01 EDT
The output folder of a java project doesn't have the "Derived" property.

Create a java project, and set its "default output folder" to a subdirectory 
like "bin".

Add a java class to the project.

Switch to the Resource Perspective, and you will see that the build created 
a "bin" directory.  If you check its properties you will see that "[ ] 
Derived" is not checked.

If you check each of the directories in the package path in that directory, 
you will see "[x] Derived" is checked.

A problem that this causes is that a team provider importing a Team Project 
Set that includes java projects will ask "Do you want to add to source 
control" for each of the java project's "bin" directory, due to the build 
taking place.
This means that importing projects *from* source control, will ask you to add 
folders *to* source control.
This is because there doesn't seem to be a way to easily distinguish the build 
creating the directory, from the user creating a new directory.
If they were marked "Derived", the "bin" directories would have been ignored.
Comment 1 Kent Johnson CLA 2005-05-02 08:22:51 EDT
I need to double check, but I'm pretty sure the builder marks the output 
folder as derived if it creates it.

If someone else creates it, then we cannot mark it.
Comment 2 Kent Johnson CLA 2005-05-02 11:45:56 EDT
The output folder is not created by the Java builder since the 'user' creates 
it when he creates a new project & as a result its not a derived folder.

You can see this by turning off 'Build Automatically' & creating a new 
project. You will see that 'src' & 'bin' folders were created before any build 
took place.

Derived is reserved for generated files/directories.
Comment 3 Peter Carmichael CLA 2005-05-02 11:57:21 EDT
Thanks for identifying that it isn't the builder that "generates" the output 
folder.

The code that "generates" the output folder should mark it "Derived".
Comment 4 Kent Johnson CLA 2005-05-02 12:16:23 EDT
This is a user created folder.

Its not generated by any tool & reopening this PR is not going to change that.