Bug 376199 - ${build_files} doesn't get expanded
Summary: ${build_files} doesn't get expanded
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build (show other bugs)
Version: 8.0.2   Edit
Hardware: PC Linux
: P3 normal with 3 votes (vote)
Target Milestone: ---   Edit
Assignee: cdt-build-inbox@eclipse.org CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-05 12:24 EDT by John Hubbard CLA
Modified: 2020-09-04 15:24 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Hubbard CLA 2012-04-05 12:24:55 EDT
Build Identifier: 20110916-0149

In short the build variable ${build_files} that claims to represent:
"Returns the set of absolute file system paths whose modification caused the current build. ..." always expands to "".  I assert that there is either a bug in the description of the variable, or in the expansion of the variable.  

Eclipse was installed from the tar ball onto an x86_64 Linux system.  I am currently using java 1.7.0_01.  (but will be updating to u3 shortly.  

see http://www.eclipse.org/forums/index.php/m/837371/#msg_837371 

Reproducible: Always

Steps to Reproduce:
1. Define your C/C++ build behavior to pass ${build_files} to "Build on resource save (Auto build)" .  
2. Modify and save a file, in order to kick off auto build.  (Note that auto build should be enabled).  
3. Watch as ${build_files} gets expanded to nothing:

**** Build of configuration Default for project atstcpp ****

/home/jhubbard/.bin/eclipseMake 
ERROR need at least one argument!

**** Build Finished ****
Comment 1 Scott Bell CLA 2013-04-30 15:52:29 EDT
This is still a problem in Juno.  In fact, very few of the build variables seem to work (e.g.: ${build_project}, ${cdt_pathentry_var}, etc...).  This is a serious problem as there is no way to pass this information to a builder.  If you are using a standard make and it is set up perfectly this may not be a problem, but for any case which strays even slightly from this path, the need to know what has changed is paramount.

Can someone please look into why these variables are available and not, apparently, being set?

Thank you!

PS: It seems that ${build_type} gets set, but always to "none" and nothing else.
Comment 2 Chris Recoskie CLA 2013-04-30 15:58:33 EDT
I have seen issues as well with Eclipse dynamic variables not expanding properly when trying to evaluate the build WD in the scanner discovery system.  Seems to work OK when building though (with standard make).
Comment 3 Scott Bell CLA 2013-04-30 16:15:32 EDT
Can you share how you are able to determine?

I have replaced the standard make with a cygwin shell script and these variables are not passed on the command line nor are they available from cygwin.  As I said, it may work with mingw or some other make variant, but it doesn't even work while calling an external builder.

Here is the command line:
c:/cygwin/bin/bash.exe C:/cygwin/my-bin/remote_build.sh "${build_project}" "${build_files} acf" ${build_type} ${cdt_pathentry_var}

This is in the script:
  for arg; do
   echo Arg=$arg
  done
  echo Build Files = ${build_files}
  echo Build Project = ${build_project}
  exit 0

This is the output:
  Arg= acf
  Arg=none
  Arg=-k
  Arg=all
  Build Files =
  Build Project =

This would be SO nice have working!