mirror of https://github.com/apache/lucene.git
add check-after-regeneration (big nocommit, to figure out how we want this to work/plugin from jenkins)
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene4335@1506316 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
04818c95ef
commit
676d0993d5
11
build.xml
11
build.xml
|
@ -423,7 +423,9 @@
|
||||||
</antcall>
|
</antcall>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="regenerate" description="Run all code generators">
|
<target name="-regenerate">
|
||||||
|
<!-- nocommit: fix this everywhere else to be -regenerate too?
|
||||||
|
or make regenerate regenerateAndCheck? -->
|
||||||
<subant target="regenerate" inheritall="false" failonerror="false">
|
<subant target="regenerate" inheritall="false" failonerror="false">
|
||||||
<fileset dir="lucene" includes="build.xml" />
|
<fileset dir="lucene" includes="build.xml" />
|
||||||
<!-- todo:
|
<!-- todo:
|
||||||
|
@ -431,4 +433,11 @@
|
||||||
</subant>
|
</subant>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<target name="-check-after-regeneration">
|
||||||
|
<subant buildpath="." antfile="extra-targets.xml" target="-check-after-regeneration" inheritall="false" failonerror="true"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="regenerate" depends="-regenerate,-check-after-regeneration"
|
||||||
|
description="Run all code generators and verifies everything is in sync"/>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -63,15 +63,22 @@
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="-check-svn-working-copy" depends="ivy-availability-check,ivy-fail,ivy-configure,resolve-groovy">
|
<target name="-check-svn-working-copy" depends="ivy-availability-check,ivy-fail,ivy-configure,resolve-groovy">
|
||||||
<svn-checker/>
|
<svn-checker failonmodifications="false"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- should only be called by jenkins, not precommit! -->
|
||||||
|
<target name="-check-after-regeneration" depends="ivy-availability-check,ivy-fail,ivy-configure,resolve-groovy">
|
||||||
|
<svn-checker failonmodifications="true"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<macrodef xmlns:ivy="antlib:org.apache.ivy.ant" name="svn-checker">
|
<macrodef xmlns:ivy="antlib:org.apache.ivy.ant" name="svn-checker">
|
||||||
|
<attribute name="failonmodifications" default="true"/> <!-- false if file modifications are allowed -->
|
||||||
<sequential>
|
<sequential>
|
||||||
<ivy:cachepath organisation="org.tmatesoft.svnkit" module="svnkit" revision="1.7.8"
|
<ivy:cachepath organisation="org.tmatesoft.svnkit" module="svnkit" revision="1.7.8"
|
||||||
inline="true" conf="default" transitive="true" pathid="svnkit.classpath"/>
|
inline="true" conf="default" transitive="true" pathid="svnkit.classpath"/>
|
||||||
<local name="svn.checkprops.failed"/>
|
<local name="svn.checkprops.failed"/>
|
||||||
<local name="svn.unversioned.failed"/>
|
<local name="svn.unversioned.failed"/>
|
||||||
|
<local name="svn.changed.failed"/>
|
||||||
<script language="groovy" taskname="svn">
|
<script language="groovy" taskname="svn">
|
||||||
<classpath>
|
<classpath>
|
||||||
<path refid="groovy.classpath"/>
|
<path refid="groovy.classpath"/>
|
||||||
|
@ -90,7 +97,7 @@
|
||||||
file -> file.getAbsolutePath().substring(baseLen + 1).replace(File.separatorChar, (char)'/');
|
file -> file.getAbsolutePath().substring(baseLen + 1).replace(File.separatorChar, (char)'/');
|
||||||
}
|
}
|
||||||
|
|
||||||
Set missingProps = new TreeSet(), unversioned = new TreeSet();
|
Set missingProps = new TreeSet(), unversioned = new TreeSet(), changed = new TreeSet();
|
||||||
|
|
||||||
self.log('Getting all versioned and unversioned files...');
|
self.log('Getting all versioned and unversioned files...');
|
||||||
statusClient.doStatus(basedir, SVNRevision.WORKING, SVNDepth.fromRecurse(true), false, true, false, false, {
|
statusClient.doStatus(basedir, SVNRevision.WORKING, SVNDepth.fromRecurse(true), false, true, false, false, {
|
||||||
|
@ -101,6 +108,10 @@
|
||||||
} else if (status.getKind() == SVNNodeKind.FILE && nodeStatus != SVNStatusType.STATUS_DELETED) {
|
} else if (status.getKind() == SVNNodeKind.FILE && nodeStatus != SVNStatusType.STATUS_DELETED) {
|
||||||
missingProps.add(convertRelative(status.getFile()));
|
missingProps.add(convertRelative(status.getFile()));
|
||||||
}
|
}
|
||||||
|
if (nodeStatus == SVNStatusType.STATUS_MODIFIED || nodeStatus == SVNStatusType.STATUS_REPLACED ||
|
||||||
|
nodeStatus == SVNStatusType.STATUS_DELETED || nodeStatus == SVNStatusType.STATUS_ADDED) {
|
||||||
|
changed.add(convertRelative(status.getFile()));
|
||||||
|
}
|
||||||
} as ISVNStatusHandler, null);
|
} as ISVNStatusHandler, null);
|
||||||
|
|
||||||
self.log('Filtering files with existing svn:eol-style...');
|
self.log('Filtering files with existing svn:eol-style...');
|
||||||
|
@ -122,11 +133,20 @@
|
||||||
};
|
};
|
||||||
project.setProperty('svn.checkprops.failed', convertSet2String(missingProps));
|
project.setProperty('svn.checkprops.failed', convertSet2String(missingProps));
|
||||||
project.setProperty('svn.unversioned.failed', convertSet2String(unversioned));
|
project.setProperty('svn.unversioned.failed', convertSet2String(unversioned));
|
||||||
|
project.setProperty('svn.changed.failed', convertSet2String(changed));
|
||||||
]]></script>
|
]]></script>
|
||||||
<fail if="svn.checkprops.failed"
|
<fail if="svn.checkprops.failed"
|
||||||
message="The following files are missing svn:eol-style (or binary svn:mime-type):${line.separator}${svn.checkprops.failed}"/>
|
message="The following files are missing svn:eol-style (or binary svn:mime-type):${line.separator}${svn.checkprops.failed}"/>
|
||||||
<fail if="svn.unversioned.failed"
|
<fail if="svn.unversioned.failed"
|
||||||
message="Source checkout is dirty after running tests!!! Offending files:${line.separator}${svn.unversioned.failed}"/>
|
message="Source checkout is dirty after running tests!!! Offending files:${line.separator}${svn.unversioned.failed}"/>
|
||||||
|
<fail message="Source checkout is modified !!! Offending files:${line.separator}${svn.changed.failed}">
|
||||||
|
<condition>
|
||||||
|
<and>
|
||||||
|
<istrue value="@{failonmodifications}"/>
|
||||||
|
<isset property="svn.changed.failed"/>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
|
</fail>
|
||||||
</sequential>
|
</sequential>
|
||||||
</macrodef>
|
</macrodef>
|
||||||
</project>
|
</project>
|
||||||
|
|
Loading…
Reference in New Issue