如何使用自定义ant规则正则表达式更改属性文件中的属性

2023-12-02

在我的 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 不执行任何操作。


你的解决方案对我来说非常不清楚。为什么不转义点字符呢?为什么在正则表达式中使用引号和分组? 这是工作脚本:

<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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用自定义ant规则正则表达式更改属性文件中的属性 的相关文章

随机推荐