Accep ted giải pháp từ @Sergey:
ant.project.properties['env.foo'] = 'bar'
Không làm việc cho tôi trên gradle
2,9 và ant
1.9.7. Điều đó không đưa ra bất kỳ lỗi nào, nhưng không làm gì cả. Thật vậy, nếu bạn đang nhìn vào mã nó implemented as:
public Hashtable<String, Object> getProperties() {
return PropertyHelper.getPropertyHelper(this).getProperties();
}
nơi org.apache.tools.ant.PropertyHelper#getProperties is:
public Hashtable<String, Object> getProperties() {
//avoid concurrent modification:
synchronized (properties) {
return new Hashtable<String, Object>(properties);
}
}
Vì vậy, nó làm cho bản sao rõ ràng và nó không thể hoạt động được.
Cách làm điều đó một cách chính xác trong gradle
file:
ant.project.setProperty('env.foo', 'bar')
Documentation đề cập đến vài cách khác (lưu ý, không có dự án):
ant.buildDir = buildDir
ant.properties.buildDir = buildDir
ant.properties['buildDir'] = buildDir
ant.property(name: 'buildDir', location: buildDir)
Cậu cố gắng sử dụng xây dựng kịch bản Ant qua 'ant.importBuild 'build.xml''? –
@Benjamin Đó là những gì tôi đang cố gắng hoàn thành. Thật không may kịch bản Ant cũ dựa trên một số biến môi trường. – Sergey