65 lines
1.3 KiB
Groovy
65 lines
1.3 KiB
Groovy
import common.Review
|
|
import static common.Constants.strip
|
|
|
|
def j = new Review
|
|
(
|
|
name: 'Formatting',
|
|
label: 'Common'
|
|
).generate(this)
|
|
|
|
|
|
j.with
|
|
{
|
|
concurrentBuild()
|
|
|
|
steps
|
|
{
|
|
shell('''\
|
|
cd source
|
|
hg revert -a -C
|
|
hg --config extensions.hgext.purge= purge --all
|
|
hg --config extensions.hgext.strip= strip -r 'secret() or draft()' --no-backup --force 2>/dev/null || echo "No changeset stripped"
|
|
'''.stripIndent().trim())
|
|
|
|
shell('cd build; cmake -Werror=dev ../source -Dtools.only=true')
|
|
|
|
shell('''\
|
|
cd build
|
|
make format
|
|
cd ../source
|
|
|
|
STATUS=$(hg status | wc -c)
|
|
if [ "$STATUS" != "0" ]; then
|
|
echo 'Current repository state is not formatted!'
|
|
hg addremove
|
|
hg diff
|
|
hg commit -m "fix formatting" -s
|
|
fi
|
|
|
|
(hg --config phases.new-commit=secret import -m 'jenkins patch formatting' -d 'today' -u 'jenkins' ../patch.diff)
|
|
if [ "$?" != "0" ]; then
|
|
echo 'FORMATTING FAILED: Patch cannot be applied'
|
|
exit 0
|
|
fi
|
|
|
|
cd ../build
|
|
make rebuild_cache
|
|
make format
|
|
cd ../source
|
|
|
|
STATUS=$(hg status | wc -c)
|
|
if [ "$STATUS" != "0" ]; then
|
|
echo 'FORMATTING FAILED: Patch is not formatted'
|
|
hg diff
|
|
hg revert -a -C
|
|
exit 0
|
|
fi
|
|
'''.stripIndent().trim())
|
|
}
|
|
|
|
publishers
|
|
{
|
|
textFinder('FORMATTING FAILED', '', true, false, true)
|
|
}
|
|
}
|