altern
altern

Reputation: 5949

Setting ant property with bash command result

How could I set ant property the value which is the result of bash script execution? For example, I need to have target which utilizes svn and bash utilities in order to control build execution. Speaking more specifically, target that I'm trying to create will be used to define, whether there are modified files in deployed application via command:

svn stat | awk -F ''  ' $1=="A" || $1 == "C" || $1=="M" || $1 == "D" || $1 == "R" {print $1}' | wc -l

I need to set the result of this command to some ${modified_lines_number} property.

Upvotes: 2

Views: 2350

Answers (2)

Bryan Oakley
Bryan Oakley

Reputation: 386010

Assuming you're using the exec task to run that command, that task has an outputproperty attribute that lets you specify the name of a property in which to store the output.

Upvotes: 3

tangens
tangens

Reputation: 39733

You could capture the output of your command like this:

OUTPUT=$(snv stat | ... | wc -l)

...and define a property for ant like this:

ant -Dmodified_lines_number=$OUTPUT

Upvotes: 1

Related Questions