Принято решение от @Sergey:
ant.project.properties['env.foo'] = 'bar'
Не работает у меня на gradle
2.9 и ant
1.9.7.
Это не бросило ни одной ошибки, но ничего не делать. Действительно, если вы посмотрите на код, он реализован как :
public Hashtable<String, Object> getProperties() {
return PropertyHelper.getPropertyHelper(this).getProperties();
}
где org.apache.tools.ant.PropertyHelper # getProperties равно :
public Hashtable<String, Object> getProperties() {
//avoid concurrent modification:
synchronized (properties) {
return new Hashtable<String, Object>(properties);
}
}
Так что он делает явное копирование и не может работать.
Способ сделать это правильно в gradle
файле:
ant.project.setProperty('env.foo', 'bar')
Документация упомянуть несколько других способов (примечание, без проекта):
ant.buildDir = buildDir
ant.properties.buildDir = buildDir
ant.properties['buildDir'] = buildDir
ant.property(name: 'buildDir', location: buildDir)