我想自动提取
compileSdkVersion
和
buildToolsVersion
从…起
应用程序/内部版本。格拉德尔
:
android {
compileSdkVersion 24
buildToolsVersion "27.0.3"
提取的值应替换中的硬编码值
.travis.yml
:
env:
global:
- ANDROID_API_LEVEL=24
- ANDROID_BUILD_TOOLS_VERSION=27.0.3
我希望避免两次定义值,因为每次值更改时都必须记住更新这两个值。
中间状态:CompileSDK版本
下面的行用于抽壳
24
从…起
应用程序/内部版本。格拉德尔
:
$ grep -H compileSdkVersion app/build.gradle | grep -o "[0-9]\+
在Travis CI上运行相同的操作,如下所示:
env:
global:
- ANDROID_API_LEVEL=(`grep -H compileSdkVersion app/build.gradle | grep -o "[0-9]\+"`)
- ANDROID_BUILD_TOOLS_VERSION=27.0.3
导致以下错误:
$导出ANDROID\u API\u级别=(
grep -H compileSdkVersion app/build.gradle | grep -o "[0-9]\+"
/家/特拉维斯/。travis/job\u阶段:评估:第57行:查找匹配“”时意外的EOF
中间状态:buildToolsVersion
正在提取
BuildTools版本
仍然不能完美地工作。
$ grep -H buildToolsVersion app/build.gradle | grep -o '[\.0-9]\+'
。
27.0.3