Changing the Resource Location of an existing Eclipse project - eclipse

I have wanted to do this a few times, for various reasons.
Firstly in the case where I have specified the Location incorrectly when I created the project. This project is part of a larger project, and I either want to go up or down a directory level to include more or less other stuff.
Secondly in the case where I have an existing eclipse project. I want to reuse the project on a different source tree (actually a different subversion branch of the same project).
The Resource Location field seems to be read only. The only way of achieving the above that I've found is creating a new project. Does anyone have any way of doing this?
Edit: I only want to change the Resource Location, not move the whole project.

The location of a project is the location of its .project file. So you need to delete project (Do NOT select delete content checkbox), then move the .project file to a new location and import the project from there.
Creating new project does pretty much the same except you do not loose any project specifics/types.

Yes. You can do that by using the following option:
On the Project, Right click and select option "Refactor" and then choose the option "Move".
This will pop up a dialog box. Specify the folder where you want your project to be.
Once the move operation is successful, your project is moved to a new location and you will see that Resource Location is pointing to a new folder that you have specified.

Related

What happens when import an existing project in ecilipse without copy it?

Someone send me an folder and asked me to import it in eclipse. I found most tutorials online asks to select "copy projects into workspace" when importing it. (for example this one: https://www.codejava.net/ides/eclipse/import-existing-projects-into-eclipse-workspace)
But it takes much longer when I select copy than without copy it. So I wonder what happens when I do not select copy? Is it linked to the original directory? Where are these link stored? If I change something, where the change is done, the original folder or in my workspace?
If you don't copy the project then the project description that Eclipse creates specifies the original directory as the location of the project. All changes you make will be in that original directory.
The project location information is stored in the workspace metadata. It isn't really a link, just part of the project description. To be exact it is stored in the .metadata/org.eclipse.core.resources/projects/<project name>/.location file.
You can see the location in the Properties for the project on the Resources page in the Location field.

Script to do delete and creation in Eclipse

I'm wondering if anyone can recommend any scripting plugins for Eclipse that would allow me to delete a file from one project and add it to another project as well as change any references from the old location to point to the new one.
Locate the file in Package Explorer. Right click on it. Go to Refactor > Move then select the destination and update reference option. All references will be update automatically. You can also preview changes by clicking on the Preview button.

groups and files in XCode vs. project folders in Finder

I still can't get the idea that when I create a new Group in XCode, and build the project, and then return back to finder and notice that the group does not exist but any file to be created under this group will appear in the project's directory in finder but that file is alone without being under any group.
(note: I'm not talking about this directory: /Users/username/Library/Application Support/iPhone Simulator/4.3/Applications/uuid/...)
1) can anyone explain why project's directory hierarchy in finder is different from the project's directory hierarchy in XCode ?
2) how can I make the two hierarchies looks like exactly the same between XCode and Finder? so when I create a new Group in future I can see it in finder.
thanks in advance.
Currently you cannot see the group you create in Xcode in finder. Its just a logical entity for you to organise your projects in a better way. Assuming you will be using xcode to make all the changes (including version control) you can use that categorisation and make sense out of it in Xcode.
However you always have the option of creating a folder in finder(your project workspace) and create files and save them in that folder using Xcode. This is particularly helpful for viewing organized code while browsing through the file system. Also you can group files into folders which you can then use across projects.
So basically it boils down to what your use case is. As for me i am happy using xcode. I usually create a directory to hold images and copy directories for libraries into my project folder so that there is clean organisation in the file system too.
Another helpful method is after you create the group in Xcode, but before you put files in it, check the File Inspector pane on the right with the group selected. Make sure Location is set Relative to Group and then click on the folder icon below that. This will bring up a Finder window. Then, make a directory with the same name, and click Choose. Now, anything you put in that group will go in that folder of the same name.
Simple solution is that you make the require folder in Finder, then go to Xcode. In navigator, right click and select "Add files to" option, add the that folder. It will be added to your navigator as well. Now whatever you add to that group, it will be automatically added to your folder in finder as well.

Adding existing project folders to the project explorer in eclipse

Probably a very straight forward solution here, but can't seem to find an answer. I recently changed my eclipse workspace to my dropbox folder, so I can work on my netbook when in college and on my desktop when at home. I copied and pasted all my project folders from the old workspace into the dropbox workspace, changed the workspace location in eclipse, but none of the projects are showing up in the project explorer now. Having refreshed the project explorer many times now to no avail, is there any way to add these projects into the project explorer? Thanks
From the main menu bar, select File > Import. The Import wizard opens.
Collapse or click + in General > Existing Project into Workspace and click Next.
Choose either Select root directory or Select archive file and click the associated Browse to locate the directory or file containing the projects.
Under Projects select the project or projects which you would like to import.
Click Finish to start the import.
I have had this problem in many versions of Eclipse and followed the process outlined by #vijin-paulraj, but frustratingly kept failing...
Until I noticed that the checkbox at the bottom of the wizard "Copy projects into workspace" is checked by default, and does not have an eventhandler attached to it. So if you do not clear this box before selecting the directory it will tell you that "Some projects cannot be imported because they already exist in the workspace." Clearing the checkbox after this will not trigger a form refresh and the Finish button will remain disabled.
TIP: once the checkbox is cleared, select the directory again will trigger form validation and allow you to proceed.
Try importing existing project:
http://publib.boulder.ibm.com/infocenter/wf/v2r7m0/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-importproject.htm
The answer for me was to make sure that I was in the correct working set.
I was in the working set from training and had not placed my new project into a working set at all.
While the above answers will most likely place your project into Eclipse, a working set will exclude you from seeing any project that is not placed in it from the package explorer.
My personal answer was to create a new working set to keep it separate from work, via the context menu from the upside down triangle at the top left of the package explorer.
Yours may be to modify your current set by adding the new project to it. This option is also located in the same menu.
My circumstance could have been avoided in the "new project" wizard, if I had placed it in a set from there.
I hope this has been useful. Please, feel free to ask for clarification.

How do I properly add existing source code files to my Xcode project?

I'm new to iPhone development and I'm still getting familiar with the Mac dev environment, including Xcode. I want to add some 3rd party code to my iPhone project, but when I add the "existing files" to my Xcode project, I'm presented with a dialog box that has far too many options that I don't understand and, as such, my project isn't working. When I #import headerfilename.h, I get a build error that reads headerfilename.h: No such file or directory.
alt text http://joecrotchett.com/images/misc/fileadd.jpg
Can anyone explain to me what all these options mean or give me a link to some documentation that can? I'm having a hard time finding anything in Apple's docs.
Which options do I want to choose to add existing source code files to my Xcode project? I should note that the source code files that I'm trying to add are located in my project/Classes/frameworkname/ directory.
After they're added, do I need to reference this new code directory in my project settings anywhere (i.e. some kind of header file directory variable)?
Thanks so much!
Update: I found the following answers/responses on the apple dev forums that were very useful and helped me fix my issue...
To make it simple :
- if you do not check the copy option, the file stay where it is.
- if you check it, it is copied in your project folders In the first case
(what it seems you are doing) you need
to tell the compiler that the header
files are in another directory :
- project info -> build -> search paths -> User Header Search Path : add
the directory from where you took the
header file Hope this will help
You have discovered the most confusing
dialog box that ever came out of
Cupertino. Six years of Xcode, and
this thing still is partly a mystery
to me. To even get that far, I had to
make many test projects to try and
reverse-engineer what this thing does.
The "Copy" box means that it will copy
the files as they are right now, into
the project. If this box is not
checked, then it just references those
files during a build and copies them
as they are at THAT time. For source
code, you want the Copy box checked.
The "relative to" is a total mystery
to me and I can't help you with that.
I usually leave it however it is
already set. Does it mean relative to
where they are on disk, or the
arrangement in Xcode, or in the
bundle? Who knows. The last 2 radio
buttons SEEM to mean that it will
either re-create the folder structure
of the folder you are adding, or just
put "fake" folders in Xcode that point
to the real folders. This is probably
your problem - you are adding source
code that is not all at the top level,
and when it goes to find it, it does
not re-create the hierarchy. Others
can supply a better way, hopefully,
but what I would do is put all of the
source in one folder and add that,
using the Copy box. Then in Xcode you
can make whatever bogus folders you
want and put the source file names in
those fake folders.
This is from the Xcode user guide:
"The project navigator shows projects, groups, folders, and files:
The project or projects in your workspace window are the highest level
of the hierarchy in the project navigator. Open the project’s
disclosure triangle to see the groups, folders, and files in the
project. Select the project to display the project editor, where you
can view and edit project and target settings.
A group appears in the project navigator as a yellow folder icon. The
group does not represent a folder on disk. Although you can organize
your project in Xcode to reflect the organization of files on disk,
moving files into and out of groups does not affect the content of the
folders on disk, and moving files on disk into and out of folders does
not affect the content of the groups in the project navigator.
A folder is a reference to a folder on disk and appears in the project
navigator as a blue folder icon. The contents of the folder in the
project navigator reflect the contents of the folder on disk. It’s
important to note, however, that the files that appear in a folder
icon in the project navigator are not part of your project unless you
have added them to the project explicitly (in which case they appear
directly under the project or in a group, as well as in the folder).
You can view and edit the files in a folder, but to move files in and
out of the folder you must use the Finder.
A file in the project navigator is a reference to a file on disk."
I think usually the default option is the best one. If you want to add into some group, you can tick on the "Copy Item to Destination group"
You don't have to change any project settings after adding
And if you want to add the whole framework code, please choose add existing framework
Copy items into destination group's
folder (if needed)
Well, only if you want it to copy the files. If you are happy with their existing location and don't want it to copy them, don't select it (that's what I do).
Reference Type:
A total mystery to me
Text Encoding
Self explanatory
Recursively create groups for any
added folders Create Folder References
for any added folders
Leave this as the default and then organize the folders in your Xcode project any way you want.
Add to targets
If you add an additional target to your project, e.g. for iPhone vs. iPad versions, then not noticing that it has by default added the files to just one of them (at random?) can cause headaches.
Also, make sure you add the new header directory to your search paths in Project Settings > Build > Search paths. I think that's what's causing your problem.
Hope this helps, I remember how confusing this was to me at first.
If you want to add an Framwork Bundle, just add is as one. Add -> Existing Frameworks