[Scons-users] java builder not working with variant directory

William Roberts bill.c.roberts at gmail.com
Wed Jun 25 12:09:03 EDT 2014


This is a follow up to a previous post, now that I have the time to
dedicate to this issue.

I have attached sample code where the java builder fails with the same
source, one example "works" just uses a SConstruct file. The other
example "broken" uses a SConstruct to call the SConscript and sets a
variant directory of "out" and duplicate=1.

I am running scons 2.3.1 with a patch applied for some debug prints.
The tarball has the patch.

When running "broken" we see the following output from the java builder:
scons: Reading SConscript files ...
CWD: /home/wroberts/simple/broken/out
Entry: .
Is directory
Source files: []
Classes: []

It switched to the variant dir, but never made the hardlink back to
the java sources, and never switch into that hardlink. Based on what I
see for my C code projects that do this we should see out/broken/<src>
and we do not.

When running "works" we see its all ok:
scons: Reading SConscript files ...
CWD: /home/wroberts/simple/works
Entry: .
Is directory
Source files: [<SCons.Node.FS.File object at 0x2745110>]
Classes: [<SCons.Node.FS.File object at 0x27451d0>]

I'm no scons expert, but I have written custom emitters, and I have
them working with my project that uses a SConscript and variant dir,
and it works. IIRC emiters have no concept of the variant directory or
the hardlinks that should be set up. So my question is, who is
responsible in the code base for creating the hardlink and cd'ing into
it? Is my understanding even correct?


Any help would be greatly appreciated, thanks.

Bill















-- 
Respectfully,

William C Roberts
-------------- next part --------------
A non-text attachment was scrubbed...
Name: scons_java.tar.bz2
Type: application/x-bzip2
Size: 3273 bytes
Desc: not available
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20140625/9e33af5c/attachment.bin>


More information about the Scons-users mailing list