Include up-to-date-check to Antlr4 cpd
- Prevent unnecessary re-runs
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<property name="target-package-dir" value="${antlr4.outputDirectory}/net/sourceforge/pmd/lang/${lang-id}/ast"/>
|
<property name="target-package-dir" value="${antlr4.outputDirectory}/net/sourceforge/pmd/lang/${lang-id}/ast"/>
|
||||||
|
<property name="stamp-file" value="${project.build.directory}/last-generated-timestamp" />
|
||||||
|
|
||||||
|
|
||||||
<property name="lang-ast-package" value="net.sourceforge.pmd.lang.${lang-id}.ast" />
|
<property name="lang-ast-package" value="net.sourceforge.pmd.lang.${lang-id}.ast" />
|
||||||
@@ -40,6 +41,20 @@
|
|||||||
<property name="node-itf-name" value="${lang-name}Node"/>
|
<property name="node-itf-name" value="${lang-name}Node"/>
|
||||||
<property name="base-class-name" value="Abstract${lang-name}Node"/>
|
<property name="base-class-name" value="Abstract${lang-name}Node"/>
|
||||||
|
|
||||||
|
<target name="check-up-to-date"
|
||||||
|
description="Checks the input files are up to date">
|
||||||
|
|
||||||
|
<uptodate property="processing-not-required" targetfile="${stamp-file}">
|
||||||
|
<srcfiles dir="${target-package-dir}" includes="*.java" />
|
||||||
|
<srcfiles file="${ant.file}" />
|
||||||
|
</uptodate>
|
||||||
|
<echo message="Up-to-date check: processing-not-required=${processing-not-required}" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="update-stamp-file" unless="processing-not-required">
|
||||||
|
<touch file="${stamp-file}" />
|
||||||
|
</target>
|
||||||
|
|
||||||
<condition property="rename-parser">
|
<condition property="rename-parser">
|
||||||
<and>
|
<and>
|
||||||
<not>
|
<not>
|
||||||
@@ -72,7 +87,9 @@
|
|||||||
tofile="${parser-file}"/>
|
tofile="${parser-file}"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="cpd-language" description="Adapt Antlr sources for CPD-only languages">
|
<target name="cpd-language" depends="check-up-to-date, cpd-language-processing, update-stamp-file"/>
|
||||||
|
<target name="cpd-language-processing" description="Adapt Antlr sources for CPD-only languages"
|
||||||
|
unless="processing-not-required">
|
||||||
<!-- We only need the Lexer file. -->
|
<!-- We only need the Lexer file. -->
|
||||||
<delete file="${parser-file}"/>
|
<delete file="${parser-file}"/>
|
||||||
<delete>
|
<delete>
|
||||||
|
Reference in New Issue
Block a user