Using configured project path in user/project tools

Project, workspace, and file management issues

Using configured project path in user/project tools

Postby zura » Tue Mar 20, 2012 12:11 pm

Hello all,

either I'm doing something wrong or misinterpreting the help file, so decided to ask here in case someone else has already figured out the correct answer:

I have a folder where all project files are saved (c:\ueprojects\project1.prj etc), and actual project1 contains source files from c:\project1\ folder ('c:\project1' is specified as the project directory in project1.prj).

I'm creating a tool that needs to be aware of which project (which folder) it is run from, so I try to use %RP parameter to read the project path, expecting to get 'c:\project1', but instead it gives me the folder where prj files themselves are stored (c:\ueprojects)...

Is this the intended behavior? And if is, is there any other way (other than opening the project1.prj file and searching in it for the project path) to get the path for the current project?

Thanks for all the advice.
zura
zura
Newbie
 
Posts: 5
Joined: Thu Apr 01, 2010 9:56 am

Re: Using configured project path in user/project tools

Postby Mofi » Tue Mar 20, 2012 1:28 pm

Indeed, the help page Tool Configuration command is not clear enough at the moment regarding the information you need. %RP (short 8.3 format) respectively %rp (long format) is a placeholder for path of the project file *.prj. It can be seen just indirectly because of %r (full file name with path) and %rn (just file name) which would not make sense if the configured project directory would be referenced with %rp.

There is no variable for the configured project directory. You might send a feature request email to IDM support asking for a variable referencing the configured project directory.

If all your projects are subdirectories in the same parent directory and the project file name is equal the project directory name, you may easily build the project directory path by using the project file name.

Another solution would be to extract the configured project directory path from the *.prj file. This can be done by configuring a batch file as user/project tool with "%r" or %R containing following lines:

Code: Select all
@echo off
for /f "usebackq eol=[ tokens=1,2 delims==" %%A in (%1) do (
 if "%%A"=="Project Directory" (
  set ProjPath=%%B
  goto !FoundProjPath
 )
)
:!FoundProjPath

This little code searches in the file with file name passed to the batch file as first parameter line by line for the string Project Directory followed by an equal sign and a string value assigned to environment variable ProjPath. The for loop is exited when project directory entry in the project file was found. Lines starting with [ are skipped to make the find for the really wanted value a little bit faster.
User avatar
Mofi
Grand Master
Grand Master
 
Posts: 4049
Joined: Thu Jul 29, 2004 11:00 pm
Location: Vienna

Re: Using configured project path in user/project tools

Postby rhapdog » Tue Mar 20, 2012 2:22 pm

I just happened to hit this same speed bump.

Since you are already creating a user tool, might I suggest you go ahead and pass the project file name (%r) to this tool, and program the tool to take in this project file and locate the project path from the project file, as it would be faster than the batch file.

Either way, it's an awkward workaround. I, personally, like to keep one path for all my project files in one neat location, then my project folders might be in a number of different locations, depending on whether I'm coding for a website (each site has to have a different physical location for the web server), coding a desktop application (which I don't want to be in the web server path), etc.

It's easier to keep project files in one location, since I generally don't have more than 20 projects at once, and since it is easier to open a project when I don't have to "browse" around to remember where I put it!

I'll also send in a feature request for this.
User avatar
rhapdog
Master
Master
 
Posts: 272
Joined: Tue Apr 01, 2008 10:02 am
Location: Mississippi, USA

Re: Using configured project path in user/project tools

Postby zura » Tue Mar 20, 2012 4:11 pm

good, so I'm not completely crazy to think that it was not trivial :)
I needed this to call an external program with a specific file from the active project, so I guess the easiest would be to pass the project file name as a parameter and parse all folder paths outside.

Thanks for the responses!
zura
Newbie
 
Posts: 5
Joined: Thu Apr 01, 2010 9:56 am

Re: Using configured project path in user/project tools

Postby rhapdog » Wed Mar 21, 2012 10:16 am

I sent a feature request to IDM, and got back the following reply:
Thank you for your message. I understand the dilemma here and agree with your feedback. We will consider changing this or making an additional parameter available for user tools to reference the path to the actual project directory shown in the project settings dialog.
User avatar
rhapdog
Master
Master
 
Posts: 272
Joined: Tue Apr 01, 2008 10:02 am
Location: Mississippi, USA


Return to Projects/Workspace