Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

How to get the load dir path in a command line build

I setup a RTC command line build.
In the shell, I would like to know the full path of the root of the build workspace (i.e. the load directory as set in the build definition).
Any idea ?

0 votes



3 answers

Permanent link
I found a workaround, but I don't like it since this is not documented :

The command I execute is gmake, in a subdir of my workspace.

Looking carefully at the execution environment, I found that there is a build property called team.scm.fetchDestination which contains the value of the Load Directory as filled in the Build Definition. I pass this value to gmake with the argument fetchDir=${team.scm.fetchDestination}

Also, I found that, when gmake executes, the environment variable PWD is the 'eclipse' dir of the Build engine (although the command is executed in a subdir)

As the fetchDir can be either absolute or relative to this directory, I compute in the Makefile the absolute path to the root of my workspace this way :

WSROOT = $(shell cd $(PWD) ; cd $(fetchDir) ; /bin/pwd)

... but one more time, as it uses undocumented properties and side effects of the execution context, I don't like this.

Any other idea ??

0 votes


Permanent link
Using ${team.scm.fetchDestination} is the recommended way of referring to the load directory. It's documented in that it's shown as the name of the property in the build definition.

For the working directory, you can configure which working directory you want in the Command Line page of the build definition. If left blank, it defaults to whatever was the current working directory when you ran JBE.

An alternative, and perhaps clearer, approach is to use build properties.
Set a build property with name 'loadDir' and value to be whatever you want as the load directory (absolute path on the build machine).
In the Jazz Source Control page, use ${loadDir} as the load directory.
In the Command Line page, use ${loadDir}/yourProjectName as the working directory (or whatever directory contains your build script), and specify simply 'gmake' as the command to run.

0 votes


Permanent link
Thanks a lot, I'll test it asap !

0 votes

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Dec 10 '10, 9:55 a.m.

Question was seen: 6,478 times

Last updated: Dec 10 '10, 9:55 a.m.

Confirmation Cancel Confirm