ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arun <arun.george.1...@gmail.com>
Subject Re: Passing environment to cron
Date Sat, 20 Oct 2007 16:51:02 GMT
Sorry for putting in to, I just cliked reply and gmail added you too in
reply list.

On 10/20/07, Arun <arun.george.1981@gmail.com> wrote:
>
> Scot,
> Thanks a lot for the reply. You are correct. I was not sourcing it . But
> When I echo the variable CATALINA_HOME from perl script it is an empty
> string causing the same effect.
> Take a peek at my perl script which runs as cron task.
> This script updates from sourceforge cvs and redeploys to tomcat using
> ant.
>
> #!/usr/bin/perl
> my $home="/home/build";
> my $tomcathome="/usr/local/bin/apache-tomcat-6.0.13";
> my $TRUE='true';
> my $checkoutcvs=$ARGV[0];
> my $clean=$ARGV[1];
> chdir '/home/build/mobchannel';
> print "Usage: ./autobuild [checkout] [clean]\n";
> print "The values for checkout and clean can be true or false or nothing
> for default\n";
> print "Default values are checkout=false and clean=false\n";
> print "checkout ? $checkoutcvs \n";
> `. /root/.bashrc`;
> print "CATALINA_HOME = ${CATALINA_HOME}";
> if($clean eq $TRUE)
> {
> `rm -rf mobchannelWEB`;
> }
> else
> {
> $checkoutcvs='false';
> }
>
> if($checkoutcvs eq $TRUE)
> {
> print "Checking out from CVS\n";
> `cvs -d ":extssh:arungeorge1981\@mobchannel.cvs.sourceforge.net:/cvsroot/mobchannel"
> co  mobchannelWEB`;
> }
> else
> {
> $clean='false';
> }
>
> print "Changed dir to mobchannelWEB\n\n";
> chdir 'mobchannelWEB';
> print "Starting Build...............\n";
> `rm -rf build.log`;
> `ant -logfile build.log `;
>
> my $failed=`grep "BUILD FAILED" build.log`;
> if($failed)
> {
> print "BUILD FAILED";
> my $tlog=`tail -1000 build.log`;
> print "$tlog ";
> }
> else
> {
> print "Stopping Server , stand by...............\n";
> `catalina stop`;
> `pkill -9 java`;
> print "Server stopped ...............\n\n\n";
> `rm -rf $tomcathome/webapps/mobchannelWEB`;
> print "Removing context MobchannelWEB ...............\n";
> #`rm -rf $home/temp`;
> `mkdir $tomcathome/webapps/mobchannelWEB`;
> #`mkdir $home/temp`;
> print "Deploying Context mobchannelWEB ...............\n";
> `cp -r WebRoot/* $tomcathome/webapps/mobchannelWEB`;
> #`cp -r WebRoot/* $home/temp`;
> chdir '/usr/local/bin/apache-tomcat-6.0.13/webapps/mobchannelWEB/';
> `find . -type f | xargs grep  -l 'mobchannel.database.user.password=fiddle'
> | xargs sed -i '' -e
> 's/mobchannel.database.user.password=fiddle/mobchannel.database.user.password=mobchannel/g'`;
>
> print "Starting Server ...............\n";
> `catalina start`;
> }
> print " Sending mail.....\n";
> chdir '/home/build/mobchannel/mobchannelWEB';
> `/home/build/mobchannel/sendMail.pl $checkoutcvs $clean`;
>
>
>
>
>
>
>
>
> On 10/20/07, Scot P. Floess <floess@mindspring.com> wrote:
> >
> > Sorry, by script I mean something that resembles the cron entry I
> > listed...
> >
> > Scot P. Floess wrote:
> > > Arun:
> > >
> > > I believe your problem is related to the way in which cron is
> > > running.  I don't believe your .bashrc is being sourced.  You may need
> > > to either write a script to kick off your ant tasks or perhaps make
> > > the cron entry resemble something like
> > >
> > > . ~/.bashrc ; ant -f [dir to build.xml]/build.xml [whatever tasks you
> > > call]
> > >
> > > Please note the preceeding dot in
> > >
> > > . ~/.bashrc
> > >
> > > This will source your bashrc and apply whatever is set there to the
> > > currently running shell...
> > >
> > > Arun wrote:
> > >> Hi,
> > >>
> > >>  have a problem running ant script as a cronjob. The cron tells
> > >>
> > >> BUILD FAILED
> > >> /home/build/mobchannel/mobchannelWEB/build.xml:230:
> > >> /home/build/mobchannel/mobchannelWEB/${env.CATALINA_HOME}/bin not
> > found.
> > >> But when I directly execute the build.xml using ant this error does
> > not
> > >> occur.
> > >>
> > >>
> > >>  <property environment="env" />
> > >>
> > >>         <property name="tomcat.home" value="${ env.CATALINA_HOME}" />
> > >>         <property name="webapp.name" value="mobchannelWEB" />
> > >>
> > >>         <property name="java.home " value="${env.JAVA_HOME}" />
> > >>         <property name="webapp.path" value="WebRoot" />
> > >>         <target name="jspc">
> > >>                 <taskdef classname=" org.apache.jasper.JspC"
> > >> name="jasper2">
> > >>                         <classpath id="jspc.classpath">
> > >>                                 <pathelement location="${
> > >> java.home}/../lib/tools.jar"
> > >> />
> > >>                                 <fileset dir="${tomcat.home}/bin">
> > >>
> > >>  My CATALIN_HOME points to correctly and so does my JAVA_HOME.
> > >>
> > >> The ${tomcat.home}/bin is getting expanded to path
> > >> /home/build/mobchannel/mobchannelWEB/${env.CATALINA_HOME}/bin .
> > >>
> > >> When it should have been /usr/local/bin/apache- tomcat-6.0.13/bin.
> > >>
> > >> Why does my ant script do this when run from a cronjob using perl
> > >> script.
> > >>
> > >> Obviously the env property should be empty. I am calling ant -logfile
> >
> > >> build.log from my perl script. And I am including the perlscript as a
> > >> cron
> > >> job.
> > >>
> > >> How can I pass the environment to ant. I have my CATALIN_HOME entry
> > in
> > >> ~/.bashrc. And When I echo in console I can see that too.
> > >>
> > >>
> > >>
> > >
> >
> > --
> > Scot P. Floess
> > 27 Lake Royale
> > Louisburg, NC  27549
> >
> > 252-478-8087 (Home)
> > 919-754-4592 (Work)
> >
> > Chief Architect JPlate   http://sourceforge.net/projects/jplate
> > Chief Architect JavaPIM http://sourceforge.net/projects/javapim
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> >
> >
>
>
> --
> Thanks
> Arun George




-- 
Thanks
Arun George

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message