Skip to content
Snippets Groups Projects
Commit e14d5cc4 authored by Markus Klein's avatar Markus Klein Committed by Christian Kuhn
Browse files

[TASK] Add XLF file checker for TRAVIS CI

The script checks for the presence of a t3:id in the XLF files.
Moreover the uniqueness is verified.

Resolves: #62965
Releases: master, 6.2
Change-Id: I8a2514b31c1484988ef7add937502424f64ed1e4
Reviewed-on: http://review.typo3.org/34184


Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
parent c7e952cc
No related merge requests found
...@@ -32,6 +32,7 @@ notifications: ...@@ -32,6 +32,7 @@ notifications:
before_script: before_script:
- if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
- if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
- chmod a+x typo3/sysext/core/Build/Scripts/*
- sudo apt-get install parallel - sudo apt-get install parallel
- composer self-update - composer self-update
- composer install - composer install
...@@ -57,3 +58,7 @@ script: ...@@ -57,3 +58,7 @@ script:
exit 99; exit 99;
fi fi
" "
- >
echo;
echo "Running XLF checker";
./typo3/sysext/core/Build/Scripts/xlfcheck.sh
#!/bin/bash
#########################
#
# Find all t3:id numbers in XLF language files
# and check their uniqueness.
#
# @author Markus Klein <klein.t3@reelworx.at>
# @date 2014-11-14
#
##########################
function join { local IFS="$1"; shift; echo "$*"; }
find typo3 -name '*.xlf' > xlffiles.txt
sed -ne 's/.*t3:id="\([0-9]\+\)".*/\1/pgM' `cat xlffiles.txt` | sort > xlfids.txt
uniq xlfids.txt > uxlfids.txt
XLFCNT=$(cat xlffiles.txt | wc -l)
XLFIDCNT=$(cat xlfids.txt | wc -l)
UXLFIDCNT=$(cat uxlfids.txt | wc -l)
DIFFIDS=$(join , $(uniq -d xlfids.txt))
MISSINGIDS=$(join , $(grep -LP 't3:id' `cat xlffiles.txt`))
rm xlfids.txt uxlfids.txt xlffiles.txt
if [ $XLFCNT -ne $XLFIDCNT ];
then
echo "There is at least one XLF file missing a unique ID (t3:id)."
echo "Missing in: $MISSINGIDS"
exit 1
fi
if [ $XLFIDCNT -ne $UXLFIDCNT ];
then
echo "There is an XLF id that does not seem to be UNIQUE."
echo "Search for t3:id $DIFFIDS"
exit 1
fi
exit 0
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment