Hi Eric,
In *nix shells, your shell will load one or more of several different startup 
files.
Which one is loaded by bash depends on what type of a process you are running 
the script as.
One file is run only when you are logging in (bash runs ".bash_profile", or, if 
it is not present, ".profile").
The login environment should also run "/etc/profile" for you when you login.

Your system doesn't seem to be running bash when you ssh in to run a script. 
That's why you have to run "bash" when you login.
It may be running sh, ksh, csh or something else, in which case the startup 
files used will have different names.

You also should look at ".bashrc", which is run by every command that is 
started up by the system. In fact, it may be run by the system for your script 
when you ssh in to run a command. ".bashrc" probably runs "/etc/rc" as well.

Example page from googling for "bash startup files":
   - http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html

Simon has a good idea - run the specific commands you need when you run a 
script over ssh.
Because of my experience with bash, I would write a bash script to set up the 
environment and then call ant from that script, but you can certainly do it in 
ant.

Rob


-----Original Message-----
From: Eric Fetzer [mailto:elstonk...@yahoo.com] 
Sent: Monday, May 07, 2012 6:17 PM
To: Ant Users List
Cc: Ant Users List
Subject: Re: Build directly on machine vs. SSH to machine and start build

Thanks Simon!  I can work with that...



On May 7, 2012, at 5:41 PM, Simon Murcott <si...@flaxx.net> wrote:

> I ended up writing a custom ant task to do this. Unfortunately in both *nix 
> and windows you can't always rely on environment variables. On *nix you need 
> to read the output of /bin/hostname or on windows read the output of 
> WScript.Network.ComputerName
> 
> 
> Regards, Simon
> 
> On 8/05/2012, at 8:28 AM, Eric Fetzer <elstonk...@yahoo.com> wrote:
> 
>> Thanks Nathan, very helpful.  This is at the top of my build file:
>> 
>>  <property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
>> 
>> When running with -v, I get this:
>> 
>> [property] Loading Environment env.
>> Property "env.COMPUTERNAME" has not been set
>> 
>> And then the code below tries to import a property file that doesn't exist:
>> 
>>  <if>
>>    <equals arg1="${env.HOSTNAME}" arg2="buildMachine"/>
>>    <then>
>>      <import file="properties1.xml" />
>>    </then>
>>    <else>
>>      <import file="properties2.xml" />
>>    </else>
>>  </if>
>> 
>> Anyone know of a way to make this work from an ssh call?  Seems like it 
>> would be fine because even when I'm running this from a manual login, it's 
>> after sshing from my own machine to this build machine...
>> 
>> Thanks,
>> Eric
>> 
>> 
>> ________________________________
>> From: "Perrier, Nathan" <nperr...@ptc.com>
>> To: Ant Users List <user@ant.apache.org>; Eric Fetzer <elstonk...@yahoo.com> 
>> Sent: Monday, May 7, 2012 1:17 PM
>> Subject: RE: Build directly on machine vs. SSH to machine and start build
>> 
>> Add -v in your call (or -debug):
>> 
>>    ant [-v|-d] -f build.xml
>> 
>> -----Original Message-----
>> From: Eric Fetzer [mailto:elstonk...@yahoo.com] 
>> Sent: Monday, May 07, 2012 2:12 PM
>> To: Ant Users
>> Subject: Build directly on machine vs. SSH to machine and start build
>> 
>> This is very strange to me.  Here are the 2 scenarios.
>> 
>> Scenario 1:
>> 1)  Log on to buildMachine as user builduser
>> 2)  >bash
>> 3)  >cd /my/builddir
>> 3)  >/opt/apache-ant-1.7.1/bin/ant -f build.xml -Dfull.buildnumber=3.0.2.8
>> 4)  Build succeeds without issue
>> 
>> Scenario 2:
>> 1)  From a different machine:
>>> ssh -f builduser@buildMachine ". ~/.bash_profile;cd 
>>> /app/rosstr/build;/opt/apache-ant-1.7.1/bin/ant -f build.xml 
>>> -Dfull.buildnumber=3.0.2.8
>> 2)  There are 7 different apps that get built in the build.xml file.  Each 
>> get called by the ant task.  Only one of them fails with no indication as to 
>> why it failed.
>> 
>> I've tried loads of stuff.  I echo just before it hits the ant call and the 
>> echo outputs.  I've retyped the ant line several times without success.  
>> I've changed the order of this particular ant call and it doesn't matter, it 
>> fails when it gets to it.  Here's the code that crashes:
>> 
>>      <ant antfile="BuildReports.xml"/>
>> 
>> Not exactly a tough thing to do.  Call the BuildReports.xml file in the 
>> current directory...  Anyone have any idea what this could be or what I 
>> could do to debug this?  There is no verbose=true on the ant task...
>> 
>> Thanks,
>> Eric
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> For additional commands, e-mail: user-h...@ant.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
For additional commands, e-mail: user-h...@ant.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
For additional commands, e-mail: user-h...@ant.apache.org

Reply via email to