You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by Nicola Ken Barozzi <ni...@apache.org> on 2002/05/28 13:36:44 UTC

[HEADS UP] Forrest is running :-)

Forrest is Running!!!  :-D

Steven and I have been working these days to set up Forrest automated runs
on a server he has kindly offered for this.

Currently, the site gets updated every hour and the result is published at:
http://www.krysalis.org/forrest/
On the bottom of the pages there is a "Last Published" that tells you when
the site was regenerated.

The script that is run by cron is:

#!/bin/sh
export DISPLAY=:1
export JAVA_HOME=/usr/java/jdk1.3.1_02
cd /home/forrestbot/xml-forrest
cvs update -d
./build.sh docs
./build.sh deploysite

As you see, all is done by Ant.

Now we need to:
1. get the Forrest site published on xml.apache.org site, by committing it
to the site cvs
-> I'm working on this

2. running Forrest also on other projects.
-> I'm working on this, I need to modularize the build to be able to specify
other properties
-> Is the forrest descriptor format Steven submitted ok? Can someone commit
a version that contains the relevant information for Forrest and Xml.Apache?

3. switching xml-site over to the Forrest file format. Since there is a
xml.apache skin we can use that till we are happy with our new Forrest skin.
-> it would be cool if someone wrote a target to transform a old DocumentDTD
xdocs to the new one automatically. Any takers?

--
Nicola Ken Barozzi                   nicolaken@apache.org
            - verba volant, scripta manent -
   (discussions get forgotten, just code remains)
---------------------------------------------------------------------


Re: [HEADS UP] Forrest is running :-)

Posted by Stefan Bodewig <bo...@apache.org>.
On Wed, 29 May 2002, Nicola Ken Barozzi <ni...@apache.org> wrote:

> Which basically means that you are right, and we are working to
> change the current system.  :-)

Cool 8-)

Stefan

Re: [HEADS UP] Forrest is running :-)

Posted by Nicola Ken Barozzi <ni...@apache.org>.
From: "Stefan Bodewig" <bo...@apache.org>

> On Wed, 29 May 2002, Nicola Ken Barozzi <ni...@apache.org> wrote:
> > From: "Stefan Bodewig" <bo...@apache.org>
>
> >> and the first thing *I* would do was getting rid of build.sh
> >> completely, I want *my* Ant, not Forrest's Ant to do the job.
> >
> > Well, I know what your opinion about this is, and I see your
> > points.
>
> The emphasis on my person in the paragraph above stems from the fact
> that my version of Ant will certainly always be newer than the one
> coming with Forrest of Centipede.

But you may have optional.jar in the classpath.
In latest centipede this breaks the build, since the optional tasks are
defined in  "cents".
Maybe you recall my post on Ant-Dev about this issue.

> No problem with providing a simple build environment for the average
> user, but completely bypassing the users environemnt (and unsetting
> ANT_HOME if present) is not nice.  You should at least document that
> it will never use the user's "normal" version of Ant.

You are right.
If the build system is Ant, we should not set ANT_HOME ourselves... but
AFAIK we are resetting it after the call to the original state and build.sh
is not ant.sh... but yes, we should be more clear.

Since The build will use Centipede, and Centipede will not be Ant but simply
use it, we will have Centipede as arequirement, not Ant.

Which basically means that you are right, and we are working to change the
current system.  :-)

--
Nicola Ken Barozzi                   nicolaken@apache.org
            - verba volant, scripta manent -
   (discussions get forgotten, just code remains)
---------------------------------------------------------------------


Re: [HEADS UP] Forrest is running :-)

Posted by Stefan Bodewig <bo...@apache.org>.
On Wed, 29 May 2002, Nicola Ken Barozzi <ni...@apache.org> wrote:
> From: "Stefan Bodewig" <bo...@apache.org>

>> and the first thing *I* would do was getting rid of build.sh
>> completely, I want *my* Ant, not Forrest's Ant to do the job.
> 
> Well, I know what your opinion about this is, and I see your
> points.

The emphasis on my person in the paragraph above stems from the fact
that my version of Ant will certainly always be newer than the one
coming with Forrest of Centipede.

No problem with providing a simple build environment for the average
user, but completely bypassing the users environemnt (and unsetting
ANT_HOME if present) is not nice.  You should at least document that
it will never use the user's "normal" version of Ant.

> In fact, we need to run these targets with different values, because
> of all the different sites we have to generate.

I understand.

Stefan

Re: [HEADS UP] Forrest is running :-)

Posted by Nicola Ken Barozzi <ni...@apache.org>.
From: "Stefan Bodewig" <bo...@apache.org>

> On 29 May 2002, David Crossley <cr...@indexgeo.com.au> wrote:
>
> > I wonder what happens when "build docs" fails?
> > Does deploysite still proceed.
>
> It will at least be run.

Yes, it could be a problem if the regened pages link to pages that were to
be done after the fail.

> > I am no Ant expert,
>
> Well, I guess you could call me one, but I make up for it by knowing
> nothing about Forrest or Centipede ;-)
>
> > Is it sufficient to make deploysite depend on 'docs'?
>
> Would be cleaner than what is currently there, even
>
> ./build.sh docs deploysite
>
> instead of two calls would probably work better (and the first thing
> *I* would do was getting rid of build.sh completely, I want *my* Ant,
> not Forrest's Ant to do the job).

Well, I know what your opinion about this is, and I see your points. It was
done this way for simplicity, so users could try it OOTB, without having to
install anything else.
Anyway, since Forrest uses Centipede, and Centipede uses a special packaged
Ant, it will use the installed Centipede, in a similar fashion.

I will switch to this way of doing things as soon as the discussion on
krysalis-dev over the new buildmap is finished.

> I have a couple of problems with some minor points that I'd like to
> address when Ant 1.5 is out (mainly because I won't find the time to
> do so).
>
> One major thing is the unless attribute of the deploy target, this
> won't do anything as the value of this attribute specifies the name of
> a *single* property - and you'll probably never have a property with
> the name "deploy.username, deploy.package-name
>                                     deploy.data.dir, deploy.hostname,
deploy.remotedir"

Oops (blushing)
Thanks for pointing this out :-)

> What you really want (Ant 1.4.1) is
>
>   <target name="deploy" if="deploy.props.have.been.set"
>           depends="check-deploy-props">
>      ...
>   </target>
>
>   <target name="check-deploy-props">
>     <condition property="deploy.props.have.been.set">
>       <not>
>         <or>
>           <equals arg1="${deploy.username}" arg2="$${deploy.username}" />
>           ... and so on ...
>         </or>
>       </not>
>     </condition>
>   </target>
>
> Ant 1.5 with <isset> will make this more concise.

Yes. Will do.

> Back to your regularly scheduled program:
>
> It looks as if deploysite really depends on docs to have been run, as
> it tries to deploy the generated docs, so the most logical thing to do
> may be to make deploysite depend on docs and stick with a single Ant
> run, but I may be missing some point.

I didn't do it because I'm keeping them as separate as possible now, since
there has yet to be a "master" target that calls these and others in order,
and that needs to be generated on the basis of the Forrest descriptor. In
fact, we need to run these targets with different values, because of all the
different sites we have to generate.

--
Nicola Ken Barozzi                   nicolaken@apache.org
            - verba volant, scripta manent -
   (discussions get forgotten, just code remains)
---------------------------------------------------------------------


Re: [HEADS UP] Forrest is running :-)

Posted by Stefan Bodewig <bo...@apache.org>.
On 29 May 2002, David Crossley <cr...@indexgeo.com.au> wrote:

> I wonder what happens when "build docs" fails?
> Does deploysite still proceed.

It will at least be run.

> I am no Ant expert,

Well, I guess you could call me one, but I make up for it by knowing
nothing about Forrest or Centipede ;-)

> Is it sufficient to make deploysite depend on 'docs'?

Would be cleaner than what is currently there, even

./build.sh docs deploysite

instead of two calls would probably work better (and the first thing
*I* would do was getting rid of build.sh completely, I want *my* Ant,
not Forrest's Ant to do the job).

I have a couple of problems with some minor points that I'd like to
address when Ant 1.5 is out (mainly because I won't find the time to
do so).

One major thing is the unless attribute of the deploy target, this
won't do anything as the value of this attribute specifies the name of
a *single* property - and you'll probably never have a property with
the name "deploy.username, deploy.package-name
                                    deploy.data.dir, deploy.hostname, deploy.remotedir"

What you really want (Ant 1.4.1) is

  <target name="deploy" if="deploy.props.have.been.set"
          depends="check-deploy-props">
     ...
  </target>

  <target name="check-deploy-props">
    <condition property="deploy.props.have.been.set">
      <not>
        <or>
          <equals arg1="${deploy.username}" arg2="$${deploy.username}" />
          ... and so on ...
        </or>
      </not>
    </condition>
  </target>

Ant 1.5 with <isset> will make this more concise.

Back to your regularly scheduled program:

It looks as if deploysite really depends on docs to have been run, as
it tries to deploy the generated docs, so the most logical thing to do
may be to make deploysite depend on docs and stick with a single Ant
run, but I may be missing some point.

Stefan

RE: [HEADS UP] Forrest is running :-)

Posted by David Crossley <cr...@indexgeo.com.au>.
Nicola Ken Barozzi
<snip/>
> Currently, the site gets updated every hour and the result
> is
> published at:
> http://www.krysalis.org/forrest/
> On the bottom of the pages there is a "Last Published" that
> tells you when
> the site was regenerated.
> 
> The script that is run by cron is:
> #!/bin/sh
> export DISPLAY=:1
> export JAVA_HOME=/usr/java/jdk1.3.1_02
> cd /home/forrestbot/xml-forrest
> cvs update -d
> ./build.sh docs
> ./build.sh deploysite
>
> As you see, all is done by Ant.

I wonder what happens when "build docs" fails?
Does deploysite still proceed. I am no Ant expert,
but i see that 'deploysite' only depends on 'init'
and the cronjob shell script does no error checking.
Is it sufficient to make deploysite depend on 'docs'?
--David



RE: [HEADS UP] Forrest is running :-)

Posted by Steven Noels <st...@outerthought.org>.
> > 3. switching xml-site over to the Forrest file format. Since
> > there is a
> > xml.apache skin we can use that till we are happy with our
> > new Forrest skin.
> > -> it would be cool if someone wrote a target to transform a
> > old DocumentDTD
> > xdocs to the new one automatically. Any takers?
> 
> I'll do the XSLT, the target is up to Anters amongst us ;-)

Done.

</Steven>

RE: [HEADS UP] Forrest is running :-)

Posted by Steven Noels <st...@outerthought.org>.
> From: Nicola Ken Barozzi [mailto:nicolaken@apache.org]

> Forrest is Running!!!  :-D
>
> Steven and I have been working these days to set up Forrest
> automated runs
> on a server he has kindly offered for this.

Providing hardware without Nicola's hard work actually making use of it
wouldn't have made any difference. So thumbs up to you, Nicola!

> Currently, the site gets updated every hour and the result is
> published at:
> http://www.krysalis.org/forrest/
> On the bottom of the pages there is a "Last Published" that
> tells you when
> the site was regenerated.
>
> The script that is run by cron is:
>
> #!/bin/sh
> export DISPLAY=:1
> export JAVA_HOME=/usr/java/jdk1.3.1_02
> cd /home/forrestbot/xml-forrest
> cvs update -d
> ./build.sh docs
> ./build.sh deploysite
>
> As you see, all is done by Ant.
>
> Now we need to:
> 1. get the Forrest site published on xml.apache.org site, by
> committing it
> to the site cvs
> -> I'm working on this
>
> 2. running Forrest also on other projects.
> -> I'm working on this, I need to modularize the build to be
> able to specify
> other properties
> -> Is the forrest descriptor format Steven submitted ok? Can
> someone commit
> a version that contains the relevant information for Forrest
> and Xml.Apache?

I will tonight - but I'm kind of stunned with the amount of feedback I
received on my descriptor format proposal... or was it that good? :-s

> 3. switching xml-site over to the Forrest file format. Since
> there is a
> xml.apache skin we can use that till we are happy with our
> new Forrest skin.
> -> it would be cool if someone wrote a target to transform a
> old DocumentDTD
> xdocs to the new one automatically. Any takers?

I'll do the XSLT, the target is up to Anters amongst us ;-)

</Steven>