⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 autobuild

📁 一个FTP下载的源代码。代码质量非常高
💻
字号:
#!/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 + -