在我的Android项目中,我在project.properties文件中设置了以下属性
proguard.config=proguard.cfg
我需要一个自定义宏来设置和取消设置此属性。
如何使用宏和正则表达式设置取消设置此属性? 我不清楚的两件事是如何将其设置为空属性值。将 那只是proguard.config = 或proguard.config =''
执行此操作的宏是什么?
<macrodef name="turn-on-proguard">
<sequential>
<replaceregexp file="./project.properties"
match='proguard.config="(.*)"'
replace='proguard.config=proguard.cfg'
byline="false">
</replaceregexp>
</sequential>
</macrodef>
<macrodef name="turn-off-proguard">
<sequential>
<replaceregexp file="./project.properties"
match='proguard.config="(.*)"'
replace='proguard.config='
byline="false">
</replaceregexp>
</sequential>
</macrodef>
这会有用吗?更新。 turn-proguard-off什么也没做。
答案 0 :(得分:0)
您的解决方案对我来说非常不清楚。你为什么不逃脱点角色?为什么在正则表达式中使用引号和分组? 这是工作脚本:
<macrodef name="turnonproguard">
<sequential>
<replaceregexp file="project.properties"
match='proguard\.config=.*'
replace='proguard.config=proguard.cfg'
byline="false"/>
</sequential>
</macrodef>
<macrodef name="turnoffproguard">
<sequential>
<replaceregexp file="project.properties"
match='proguard\.config=.*'
replace='proguard.config='
byline="false"/>
</sequential>
</macrodef>
<target name="on">
<turnonproguard/>
</target>
<target name="off">
<turnoffproguard/>
</target>