| <project name="ReplicateIdeaVersions" default="replicateIdeaVersions"> |
| <property name="plugin.xml" value="idea/src/META-INF/plugin.xml"/> |
| <property name="android-extensions.plugin.xml" value="plugins/android-idea-plugin/src/META-INF/plugin.xml"/> |
| |
| <macrodef name="replicateIdeaVersion"> |
| <attribute name="target.file"/> |
| <attribute name="idea-version-pattern" default="<idea-version since-build="[0-9.]+" until-build="[0-9.]+"/>"/> |
| <attribute name="replace-pattern" default="<!-- IDEA VERSION -->"/> |
| |
| <sequential> |
| <loadfile srcfile="${plugin.xml}" property="main.plugin.version"> |
| <filterchain> |
| <linecontainsregexp> |
| <regexp pattern="@{idea-version-pattern}"/> |
| </linecontainsregexp> |
| <trim/> |
| <headfilter lines="1" /> |
| <striplinebreaks /> |
| </filterchain> |
| </loadfile> |
| |
| <echo message="${main.plugin.version}" /> |
| |
| <fail message="Property "main.plugin.version" must be set"> |
| <condition> |
| <not> |
| <isset property="main.plugin.version"/> |
| </not> |
| </condition> |
| </fail> |
| |
| <fail message="Property "main.plugin.version" must not be empty"> |
| <condition> |
| <equals arg1="${main.plugin.version}" arg2=""/> |
| </condition> |
| </fail> |
| |
| <replaceregexp file="@{target.file}" byline="true" match="@{replace-pattern}" replace="${main.plugin.version}" /> |
| </sequential> |
| </macrodef> |
| </project> |