Changes in --clean option

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Changes in --clean option

Vladimir Prus

Hi!
I've comitted a change to the way --clean option works. Previously, it would
clean all targets Boost.Build knows about -- including changes under
different Jamroots, which was pretty confusing.

Now:

1.
     bjam --clean

removes only targets from the current Jamfile and its direct and indirect
children. Targets having different Jamroot, and targets in parent Jamfiles
are not removed.

2.  bjam --clean some_dir

removes only targets from some_dir/Jamfile and its direct and indirect
children. If there are two subdirs: sub1 and sub2, and sub1 referes to
targets in sub2, and you run:

   bjam --clean sub1

the targets in sub2 are *not* removed.


The new --clean-all option has the old behaviour: cleaning absolutely
everything.

I know some people were interested in such change. Comments appreciated!

- Volodya



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Changes in --clean option

Phillip Seaver
Vladimir Prus wrote:

> 1.
>      bjam --clean
>
> removes only targets from the current Jamfile and its direct and indirect
> children. Targets having different Jamroot, and targets in parent Jamfiles
> are not removed.
>
> 2.  bjam --clean some_dir
>
> removes only targets from some_dir/Jamfile and its direct and indirect
> children. If there are two subdirs: sub1 and sub2, and sub1 referes to
> targets in sub2, and you run:
>
>    bjam --clean sub1
>
> the targets in sub2 are *not* removed.
>  
What are indirect children?

If I understand it correctly, it sounds like a good change to me.  ;-)

Phillip

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Changes in --clean option

Vladimir Prus
On Wednesday 08 February 2006 18:44, Phillip Seaver wrote:

> Vladimir Prus wrote:
> > 1.
> >      bjam --clean
> >
> > removes only targets from the current Jamfile and its direct and indirect
> > children. Targets having different Jamroot, and targets in parent
> > Jamfiles are not removed.
> >
> > 2.  bjam --clean some_dir
> >
> > removes only targets from some_dir/Jamfile and its direct and indirect
> > children. If there are two subdirs: sub1 and sub2, and sub1 referes to
> > targets in sub2, and you run:
> >
> >    bjam --clean sub1
> >
> > the targets in sub2 are *not* removed.
>
> What are indirect children?

Children of children, or children of children of children, and so on.

In other words, if you have Jamroot, sub1/Jamfile and sub1/sub2/Jamfile,
then running "bjam --clean" in Jamroot will clean not only targets in Jamroot
and sub1/Jamfile, but also in sub1/sub2/Jamfile.

- Volodya
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build