📄 autobuild
字号:
#!/bin/bash
# Automated build script for FileZilla. To use it you need the
# following installed:
#
# - Visual C++ 6
# - MS Platform SDK for the latest header files
# - Recent version of Cygwin
# - Perl (this can be installed with cygwin now)
# - NSIS
# Stop on any error
set -e
# For debugging, turn this on
#set -x
echo
echo FileZilla autobuild script
echo
MSVC6DIR=$(regtool get '\machine\Software\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual Studio\ProductDir' 2> NUL:) || True
if [ "$MSVC6DIR" != "" ]
then
MSVC6DIR="`cygpath \"$MSVC6DIR\\COMMON\\msdev98\\BIN\"`"
fi
MSVC7DIR=$(regtool get '\machine\Software\Microsoft\VisualStudio\7.0\InstallDir' 2> NUL:) || True
MSVCVER=6
#if [ -e "$MSVC7DIR" ]
#then
# MSVCVER=7
#fi
MSDevDir=$MSVC6DIR
if [ $MSVCVER == "7" ]
then
MSDevDir=$MSVC7DIR
fi
if [ "$CYGWIN_ROOT" == "" ]
then
CYGWIN_ROOT=$(cygpath -w /)
export CYGWIN_ROOT
fi
PATH=$PATH:"$MSDevDir"
function die()
{
echo Error: $@
exit 2
}
# Arguments: <Release/Debug>
function buildall()
{
# I don't have VC7, so VC7 build are disabled for now
# if [ $MSVCVER == "7" ]
# then
# devenv "src/FileZilla.sln" $REBUILD /build "$1" /OUT msdev.log
# else
echo - FzSFTP
msdevbuild FzSFtp $1 $REBUILD
echo - FileZilla
msdevbuild FileZilla $1 $REBUILD
echo - Bulgarian language file
msdevbuild FzResBu $1 $REBUILD
echo - Traditional Chinese language file
msdevbuild FzResCh $1 $REBUILD
echo - Simplified Chinese language file
msdevbuild FzResChs $1 $REBUILD
echo - German language file
msdevbuild FzResDe $1 $REBUILD
echo - French language file
msdevbuild FzResFr $1 $REBUILD
echo - Hungarian language file
msdevbuild FzResHu $1 $REBUILD
echo - Italian language file
msdevbuild FzResIt $1 $REBUILD
echo - Japanese language file
msdevbuild FzResJp $1 $REBUILD
echo - Korean language file
msdevbuild FzResKr $1 $REBUILD
echo - Polish language file
msdevbuild FzResPo $1 $REBUILD
echo - Russian language file
msdevbuild FzResRu $1 $REBUILD
echo - Spanish language file
msdevbuild FzResEs $1 $REBUILD
# fi
}
function msdevbuild()
{
if ! msdev "source/FileZilla.dsw" /MAKE "$1 - Win32 $2" /OUT msdev.log $3
then
cat msdev.log
die Building $1
fi
rm -f msdev.log
# rm -f msdev.log src/$1/Release/$1.$2
}
[ -e readme.htm ] || die "Please run from top level folder by typing: build"
[ -e source/filezilla.dsw ] || die "Please run from top level folder by typing: build"
# Command line parameters
CLEAN=1
VERBOSE=0
while [ "$1" != "" ]
do
case $1 in
-n)
CLEAN=0
;;
-v)
VERBOSE=1
;;
*)
echo "Error: Unrecognized build type '$1'"
exit 1
;;
esac
shift
done
function buildnumparse()
{
MAJOR_VER=$1
MINOR_VER=$2
BUILD_VER=$3
}
echo "Build release versions"
REBUILD=
if [ $CLEAN == "1" ]
then
REBUILD=/REBUILD
fi
buildall Release
echo "Running NSIS to generate installation"
if ! makensis.exe source/install/FileZilla.nsi > nsis.log
then
cat nsis.log
die Building installer
fi
rm -f nsis.log
echo "Creating binary .zip"
rm -f FileZilla.zip
if ! zip -9 -j FileZilla.zip source/release/FileZilla.exe \
source/FzSFtp/release/FzSFtp.exe \
source/install/FzGSS.dll \
source/install/dbghelp.dll \
source/openssl/ssleay32.dll \
source/openssl/libeay32.dll \
"source/LanguageDLLs/Bulgarian/release/FzResBu.dll" \
"source/LanguageDLLs/TraditionalChinese/release/FzResCh.dll" \
"source/LanguageDLLs/SimplifiedChinese/release/FzResChs.dll" \
"source/LanguageDLLs/German/release/FzResDe.dll" \
"source/LanguageDLLs/Spanish/release/FzResEs.dll" \
"source/LanguageDLLs/French/release/FzResFr.dll" \
"source/LanguageDLLs/Hungarian/release/FzResHu.dll" \
"source/LanguageDLLs/Italian/release/FzResIt.dll" \
"source/LanguageDLLs/Korean/release/FzResKr.dll" \
"source/LanguageDLLs/Polish/release/FzResPo.dll" \
"source/LanguageDLLs/Japanese/release/FzResJp.dll" \
"source/LanguageDLLs/Russian/release/FzResRu.dll" \
readme.htm \
source/documentation/FileZilla.chm \
GPL.html \
legal.htm \
puttylicense.html \
> zip.log
then
cat zip.log
die "Zipping binaries"
fi
rm -f zip.log
echo "Packing source .zip"
rm -f FileZilla_src.zip
cd source/install
source.bat > nul
zip -r -9 ../../FileZilla_src.zip source > nul
cd ../..
zip -9 FileZilla_src.zip build.bat > nul
echo "Packing debug files (*.pdb, *.map, *.cod, ...)"
rm -f FileZilla_dbg.zip
cd source/release
zip -r -9 -j ../../FileZilla_dbg.zip *.map > nul
zip -r -9 -j ../../FileZilla_dbg.zip *.pdb > nul
zip -r -9 -j ../../FileZilla_dbg.zip *.cod > nul
cd ../..
echo "Installing..."
FileZilla_setup.exe
echo Build complete.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -