make windoz msg bundling suck less

This commit is contained in:
walking
2011-02-12 11:30:21 +00:00
parent 2d260a80fa
commit 93045c2a8d
17 changed files with 89 additions and 216 deletions

View File

@ -45,10 +45,8 @@
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
<arg value="/c" />
<!-- no leading ./ here, windoz complains about it. -->
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<jar basedir="${build}" destfile="${dist}/${jar}">
<manifest>
@ -82,10 +80,8 @@
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
<arg value="/c" />
<!-- no leading ./ here, windoz complains about it. -->
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
</target>

View File

@ -19,6 +19,17 @@ then
POUPDATE=1
fi
# on windows, one must specify the path of commnad find
# since windows has its own retarded version of find.
if which find|grep -q -i windows ; then
export PATH=.:/bin:/usr/local/bin:$PATH
fi
# Fast mode - update ondemond
echo Placing a file named messages_{LangCode}.only in locale folder,
echo will limit .po file update to the language specified by {LangCode}.
LG2=$(find locale -iname messages_*.only|tail -1)
[ LG2 ] && LG2=${LG2#locale/messages_} && LG2=${LG2%.only}
# add ../java/ so the refs will work in the po file
JPATHS="src"
for i in locale/messages_*.po
@ -26,6 +37,11 @@ do
# get language
LG=${i#locale/messages_}
LG=${LG%.po}
# skip, if specified
if [ $LG2 ]; then
[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
fi
if [ "$POUPDATE" = "1" ]
then
@ -33,7 +49,6 @@ do
find $JPATHS -name *.java -newer $i > $TMPFILE
fi
echo $LG
if [ -s build/net/i2p/desktopgui/messages_$LG.class -a \
build/net/i2p/desktopgui/messages_$LG.class -nt $i -a \
! -s $TMPFILE ]

View File

@ -1,17 +0,0 @@
#
# Update messages_xx.po and messages_xx.class files,
# from both java and jsp sources.
# Requires installed programs xgettext, msgfmt, msgmerge, and find.
# zzz - public domain
#
## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
## need to cd into our orignal path - where we call sh.exe from.
cd $CALLFROM
## echo $PWD
## except this everything is the same with bundle-message.sh
## walking - public domain :-D
source bundle-messages.sh $PARAS

View File

@ -59,15 +59,14 @@
<target name="bundle" depends="compile">
<!-- Update the messages_*.po files.
We need to supply the bat file for windows, and then change the fail property to true -->
<exec executable="sh" osfamily="unix" failifexecutionfails="false" >
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="sh" osfamily="mac" failifexecutionfails="false" >
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
<arg value="/c" />
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
</target>
@ -81,9 +80,8 @@
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
<arg value="/c" />
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
</target>

View File

@ -1,28 +0,0 @@
@echo off
set Callfrom=%cd%
set Paras=%1
rem before calling make sure you have msys and mingw 's "bin" path
rem in your current searching path
rem type "set path" to check
if not exist ..\locale\*.only goto updateALL
rem put a messages_xx.only(eg messages_zh.only) into locale folder
rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
echo [tip] Puting a messages_{LangCode}.only (eg messages_zh.only)
echo into locale folder will restrict the PO file update
echo process to your choosen language ONLY.
for %%i in (..\locale\*.only) do set PO=%%~ni
echo [info] %PO%.only found, will ONLY update file : %PO%.po
for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
call sh --login %cd%\bmsg.sh
for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
goto end
:updateALL
call sh --login %cd%\bmsg.sh
:end
echo End of Message Bundling

View File

@ -18,6 +18,17 @@ then
POUPDATE=1
fi
# on windows, one must specify the path of commnad find
# since windows has its own retarded version of find.
if which find|grep -q -i windows ; then
export PATH=.:/bin:/usr/local/bin:$PATH
fi
# Fast mode - update ondemond
echo Placing a file named messages_{LangCode}.only in locale folder,
echo will limit .po file update to the language specified by {LangCode}.
LG2=$(find ../locale -iname messages_*.only|tail -1)
[ LG2 ] && LG2=${LG2#../locale/messages_} && LG2=${LG2%.only}
# add ../java/ so the refs will work in the po file
JPATHS="../java/src"
for i in ../locale/messages_*.po
@ -26,6 +37,11 @@ do
LG=${i#../locale/messages_}
LG=${LG%.po}
# skip, if specified
if [ $LG2 ]; then
[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
fi
if [ "$POUPDATE" = "1" ]
then
# make list of java files newer than the .po file

View File

@ -1,17 +0,0 @@
#
# Update messages_xx.po and messages_xx.class files,
# from both java and jsp sources.
# Requires installed programs xgettext, msgfmt, msgmerge, and find.
# zzz - public domain
#
## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
## need to cd into our orignal path - where we call sh.exe from.
cd $CALLFROM
## echo $PWD
## except this everything is the same with bundle-message.sh
## walking - public domain :-D
source bundle-messages.sh $PARAS

View File

@ -48,15 +48,14 @@
<target name="bundle" depends="compile, precompilejsp">
<!-- Update the messages_*.po files.
We need to supply the bat file for windows, and then change the fail property to true -->
<exec executable="sh" osfamily="unix" failifexecutionfails="false" >
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="sh" osfamily="mac" failifexecutionfails="false" >
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
<arg value="/c" />
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
</target>
@ -70,9 +69,8 @@
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
<arg value="/c" />
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
</target>

View File

@ -1,28 +0,0 @@
@echo off
set Callfrom=%cd%
set Paras=%1
rem before calling make sure you have msys and mingw 's "bin" path
rem in your current searching path
rem type "set path" to check
if not exist ..\locale\*.only goto updateALL
rem put a messages_xx.only(eg messages_zh.only) into locale folder
rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
echo [tip] Puting a messages_{LangCode}.only (eg messages_zh.only)
echo into locale folder will restrict the PO file update
echo process to your choosen language ONLY.
for %%i in (..\locale\*.only) do set PO=%%~ni
echo [info] %PO%.po found, will ONLY update file : %PO%.po
for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
call sh --login %cd%\bmsg.sh
for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
goto end
:updateALL
call sh --login %cd%\bmsg.sh
:end
echo End of Message Bundling

View File

@ -18,6 +18,17 @@ then
POUPDATE=1
fi
# on windows, one must specify the path of commnad find
# since windows has its own retarded version of find.
if which find|grep -q -i windows ; then
export PATH=.:/bin:/usr/local/bin:$PATH
fi
# Fast mode - update ondemond
echo Placing a file named messages_{LangCode}.only in locale folder,
echo will limit .po file update to the language specified by {LangCode}.
LG2=$(find ../locale -iname messages_*.only|tail -1)
[ LG2 ] && LG2=${LG2#../locale/messages_} && LG2=${LG2%.only}
# add ../java/ so the refs will work in the po file
JPATHS="../java/src ../jsp/WEB-INF"
for i in ../locale/messages_*.po
@ -26,6 +37,11 @@ do
LG=${i#../locale/messages_}
LG=${LG%.po}
# skip, if specified
if [ $LG2 ]; then
[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
fi
if [ "$POUPDATE" = "1" ]
then
# make list of java files newer than the .po file

View File

@ -1,17 +0,0 @@
#
# Update messages_xx.po and messages_xx.class files,
# from both java and jsp sources.
# Requires installed programs xgettext, msgfmt, msgmerge, and find.
# zzz - public domain
#
## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
## need to cd into our orignal path - where we call sh.exe from.
cd $CALLFROM
## echo $PWD
## except this everything is the same with bundle-message.sh
## walking - public domain :-D
source bundle-messages.sh $PARAS

View File

@ -80,13 +80,13 @@
<!-- Update the messages_*.po files.
We need to supply the bat file for windows, and then change the fail property to true -->
<exec executable="sh" osfamily="unix" failifexecutionfails="false" >
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="sh" osfamily="mac" failifexecutionfails="false" >
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="sh" osfamily="windows" failifexecutionfails="false" >
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<!-- jar again to get the latest messages_*.class files -->

View File

@ -1,28 +0,0 @@
@echo off
set Callfrom=%cd%
set Paras=%1
rem before calling make sure you have msys and mingw 's "bin" path
rem in your current searching path
rem type "set path" to check
if not exist ..\locale\*.only goto updateALL
rem put a messages_xx.only(eg messages_zh.only) into locale folder
rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
echo [tip] Puting a messages_{LangCode}.only (eg messages_zh.only)
echo into locale folder will restrict the PO file update
echo process to your choosen language ONLY.
for %%i in (..\locale\*.only) do set PO=%%~ni
echo [info] %PO%.only found, will ONLY update file : %PO%.po
for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
call sh --login %cd%\bmsg.sh
for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
goto end
:updateALL
call sh --login %cd%\bmsg.sh
:end
echo End of Message Bundling

View File

@ -1,17 +0,0 @@
#
# Update messages_xx.po and messages_xx.class files,
# from both java and jsp sources.
# Requires installed programs xgettext, msgfmt, msgmerge, and find.
# zzz - public domain
#
## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
## need to cd into our orignal path - where we call sh.exe from.
cd $CALLFROM
## echo $PWD
## except this everything is the same with bundle-message.sh
## walking - public domain :-D
source bundle-messages.sh $PARAS

View File

@ -80,15 +80,14 @@
<target name="bundle" depends="compile, precompilejsp">
<!-- Update the messages_*.po files.
We need to supply the bat file for windows, and then change the fail property to true -->
<exec executable="sh" osfamily="unix" failifexecutionfails="false" >
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="sh" osfamily="mac" failifexecutionfails="false" >
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
<arg value="/c" />
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
</target>
@ -102,9 +101,8 @@
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
<arg value="/c" />
<arg value="bundle-messages.bat" />
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
</target>

View File

@ -1,28 +0,0 @@
@echo off
set Callfrom=%cd%
set Paras=%1
rem before calling make sure you have msys and mingw 's "bin" path
rem in your current searching path
rem type "set path" to check
if not exist ..\locale\*.only goto updateALL
rem put a messages_xx.only(eg messages_zh.only) into locale folder
rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
echo [tip] Puting a messages_{LangCode}.only (eg messages_zh.only)
echo into locale folder will restrict the PO file update
echo process to your choosen language ONLY.
for %%i in (..\locale\*.only) do set PO=%%~ni
echo [info] %PO%.only found, will ONLY update file : %PO%.po
for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
call sh --login %cd%\bmsg.sh
for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
goto end
:updateALL
call sh --login %cd%\bmsg.sh
:end
echo End of Message Bundling

View File

@ -18,6 +18,17 @@ then
POUPDATE=1
fi
# on windows, one must specify the path of commnad find
# since windows has its own retarded version of find.
if which find|grep -q -i windows ; then
export PATH=.:/bin:/usr/local/bin:$PATH
fi
# Fast mode - update ondemond
echo Placing a file named messages_{LangCode}.only in locale folder,
echo will limit .po file update to the language specified by {LangCode}.
LG2=$(find ../locale -iname messages_*.only|tail -1)
[ LG2 ] && LG2=${LG2#../locale/messages_} && LG2=${LG2%.only}
# add ../src/ so the refs will work in the po file
JPATHS="../src/java/ ../src/tmp/"
for i in ../locale/messages_*.po
@ -26,6 +37,11 @@ do
LG=${i#../locale/messages_}
LG=${LG%.po}
# skip, if specified
if [ $LG2 ]; then
[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
fi
if [ "$POUPDATE" = "1" ]
then
# make list of java files newer than the .po file