1
0
mirror of https://github.com/imapsync/imapsync.git synced 2024-11-17 00:02:29 +01:00
imapsync/W/install_modules.bat
Nick Bebout 1d08afaba6 1.977
2020-04-10 18:15:57 -05:00

117 lines
2.6 KiB
Batchfile
Executable File

REM $Id: install_modules.bat,v 1.39 2019/12/11 18:56:54 gilles Exp gilles $
::------------------------------------------------------
::--------------- Main of install_modules.bat ----------
@SETLOCAL
@ECHO OFF
ECHO Currently running through %0 %*
@REM Needed with remote ssh
SET SHELL=
SET
ECHO Installing Perl modules for imapsync
CD /D %~dp0
CALL :handle_error CALL :detect_perl
CALL :handle_error CALL :update_modules
@REM Do a PAUSE if run by double-click, aka, explorer (then ). No PAUSE in a DOS window or via ssh.
IF %0 EQU "%~dpnx0" IF "%SSH_CLIENT%"=="" PAUSE
@ENDLOCAL
EXIT /B
::------------------------------------------------------
::------------------------------------------------------
::--------------- Detect Perl --------------------------
:detect_perl
@SETLOCAL
perl -v
IF ERRORLEVEL 1 ECHO Perl needed. Install Strawberry Perl. Get it at http://strawberryperl.com/ ^
&& PAUSE && EXIT 3
ECHO perl is there
@ENDLOCAL
EXIT /B
::------------------------------------------------------
::------------------------------------------------------
::---------------- Update modules ----------------------
:update_modules
@SETLOCAL
FOR %%M in ( ^
App::cpanminus ^
MIME::Base64 ^
Encode ^
Encode::IMAPUTF7 ^
File::Tail ^
Regexp::Common ^
Sys::MemInfo ^
Test::MockObject ^
Readonly ^
Authen::NTLM ^
Crypt::SSLeay ^
Data::Uniqid ^
Digest::HMAC_MD5 ^
Digest::HMAC_SHA1 ^
Digest::MD5 ^
File::Copy::Recursive ^
Getopt::ArgvFile ^
Socket6 ^
Net::SSLeay ^
IO::Socket::IP ^
IO::Socket::INET ^
IO::Socket::INET6 ^
IO::Socket::SSL ^
IO::Tee ^
Mail::IMAPClient ^
Module::ScanDeps ^
Net::SSL ^
PAR::Packer ^
Pod::Usage ^
Test::Pod ^
Unicode::String ^
URI::Escape ^
Crypt::OpenSSL::RSA ^
JSON ^
JSON::WebToken ^
LWP ^
HTML::Entities ^
Encode::Byte ^
) DO @perl -m%%M -e "print qq{Updating %%M $%%M::VERSION \n}" ^
& ECHO DOING cpanm %%M & cpanm %%M & ECHO DONE cpanm %%M
ECHO Perl modules for imapsync updated
REM PAUSE
@REM @ECHO Net::SSLeay not updated
@ENDLOCAL
EXIT /B
::------------------------------------------------------
::------------------------------------------------------
::----------- Handle errors in LOG_bat\ directory ------
:handle_error
SETLOCAL
ECHO IN %0 with parameters %*
%*
SET CMD_RETURN=%ERRORLEVEL%
IF %CMD_RETURN% EQU 0 (
ECHO GOOD END
) ELSE (
ECHO BAD END
IF NOT EXIST LOG_bat MKDIR LOG_bat
ECHO Failure calling with extra %* >> LOG_bat\%~nx0.txt
)
ENDLOCAL
EXIT /B
::------------------------------------------------------