Added by Arseny Kapoulkine over 10 years ago

I wanted to upgrade to current version (, since I'm interested in the new Shell rule.
However, UseCommandLine is broken in it; this is technically not an issue (since there is no released version yet), so I thought I'd post it here.
Example repro:

DEPCACHE.standard = .depcache ;
DEPCACHE = standard ;

actions TestAction {
echo Executing test action for $(<)
echo _ >$(<)

rule TestVersion {
return "2" ;

rule Test TARGET {
TestAction $(TARGET) ;
UseCommandLine $(TARGET) : [ TestVersion ] ;

Test "1" ;

Changing TestVersion return value results in proper rebuild in jamplus 0.3; in latest version the output is:

  • found 1 target(s)...
  • updating 1 target(s)...
  • finished in 0.00 sec

so TestAction is not executed.

Replies (2)

RE: UseCommandLine - Added by Joshua Jensen over 10 years ago


Sorry about that. Two days ago, new support for scanning the contents of a source file went in. When a timestamp updates and this flag is set, the source file contents are scanned. If the contents are the same, no further update happens. If they differ, the dependency chain builds as normal. See tests/scancontents/.

Unfortunately, the new support caused the above test not to work anymore. That is fixed now. Your test is at tests/usecommandline. I had to make a few changes to get it to work properly, though, for the 'all' target.

Thanks for your patience. This is why I publish "nightly" builds. Your feedback is very valuable.


RE: UseCommandLine - Added by Arseny Kapoulkine over 10 years ago

Thanks for the fast reply! The new build works flawlessly. Also ScanContents is a good feature; I'm used to it from my SCons experience, so it's nice to have it in my favorite build tool.