rusefi-1/misc/jenkins/functional_test_and_build_b.../build_current_bundle.bat

121 lines
3.7 KiB
Batchfile
Raw Normal View History

rem
rem This script would compile firmware, dev console and win32 simulator into a single bundle file
rem This script depends on Cygwin tools: zip
rem
2019-06-01 10:47:15 -07:00
set script_name=build_current_bundle
set "root_folder=%cd%"
2019-06-22 10:55:21 -07:00
echo %script_name Entering root_folder=%root_folder%
2019-06-30 19:28:58 -07:00
FOR %%i IN ("%root_folder%") DO (set root_folder=%%~si)
echo %script_name Short name %root_folder%"
2017-04-06 17:57:45 -07:00
echo build_current_bundle.bat: Hello rusEfi build full bundle
echo %date% %time%
cd firmware/bootloader
call !clean_bootloader.bat
call !compile_bootloader_discovery407.bat
if not exist bootloader_generated.hxx echo FAILED TO COMPILE BOOTLOADER
if not exist bootloader_generated.hxx exit -1
pwd
cd ../..
rem At root folder here
cd firmware
echo %date% %time%
2019-02-21 09:38:39 -08:00
echo build_current_bundle.bat: will be Erasing chip
2019-02-21 09:29:50 -08:00
if not exist flash_erase407.bat echo NOT FOUND flash_erase.bat
if not exist flash_erase407.bat exit -1
2019-02-21 09:38:39 -08:00
echo build_current_bundle.bat: Erasing chip
pwd
rem Using magic 'cd' system variable to save current location here
2019-02-21 10:30:27 -08:00
set "cur_folder=%cd%"
2019-02-21 09:29:50 -08:00
call flash_erase407.bat
2019-02-21 10:30:27 -08:00
cd %cur_folder%
2019-02-21 09:38:39 -08:00
pwd
2017-04-06 17:57:45 -07:00
echo build_current_bundle.bat: Building firmware
2018-12-15 21:19:15 -08:00
call clean.bat
2017-04-06 17:57:45 -07:00
git submodule update --init
call update_version.bat
call clean_compile_two_versions.bat
if not exist deliver/rusefi_no_asserts.hex echo Just to confirm - FAILED to compile no_asserts
if not exist deliver/rusefi_no_asserts.hex exit -1
if not exist deliver/rusefi.hex echo Just to confirm - FAILED to compile default DEBUG
if not exist deliver/rusefi.hex exit -1
echo "%script_name%: Building DFU"
..\misc\encedo_hex2dfu\hex2dfu.exe -i deliver/rusefi_no_asserts.hex -o deliver/rusefi_no_asserts.dfu
..\misc\encedo_hex2dfu\hex2dfu.exe -i deliver/rusefi.hex -o deliver/rusefi.dfu
ls -l deliver
cd ..
rem At root folder here
2019-02-12 17:01:16 -08:00
call misc\jenkins\build_java_console.bat
if not exist java_console_binary/rusefi_console.jar exit -1
2019-02-12 17:01:16 -08:00
call misc\jenkins\build_simulator.bat
if not exist simulator/build/rusefi_simulator.exe exit -1
rm -rf temp
mkdir temp
2019-02-12 17:01:16 -08:00
set stm_arch=stm32f407
2019-07-01 08:19:06 -07:00
rem This depends on Cygwin date copied under 'datecyg' name to avoid conflict with Windows date
rem By the way, '%%' is the way to escape % in batch files
2019-07-01 08:44:59 -07:00
rem this is copy-pasted at build_version.bat
2019-07-01 08:19:06 -07:00
for /f %%i in ('datecyg +%%Y%%m%%d_%%H%%M%%S') do set TIMESTAMP=%%i
set folder=snapshot_%TIMESTAMP%_%stm_arch%_rusefi
2019-07-01 06:31:35 -07:00
echo "%script_name%: folder variable1=%folder%"
set folder=temp\%folder%
2019-07-01 06:31:35 -07:00
echo "%script_name%: folder variable3=%folder%"
2019-02-17 10:17:56 -08:00
pwd
call misc\jenkins\build_working_folder.bat
2019-06-30 16:47:33 -07:00
IF NOT ERRORLEVEL 0 (
2019-07-01 09:22:58 -07:00
echo %script_name%: ERROR: invoking build_working_folder.bat
2019-06-30 16:47:33 -07:00
EXIT /B 1
)
2019-06-22 10:55:21 -07:00
echo "%script_name%: Building only console"
pwd
dir
zip %root_folder%/temp/rusefi_console.zip %root_folder%/java_console_binary/rusefi_console.jar %root_folder%/java_console/rusefi.xml
if not exist %root_folder%/temp/rusefi_console.zip echo CONSOLE ZIP FAILED
if not exist %root_folder%/temp/rusefi_console.zip exit -1
echo "%script_name%: only console ready"
echo "%script_name%: Going back to root folder"
cd %root_folder%
pwd
echo "%script_name%: Making rusefi_simulator.zip"
pwd
2017-04-10 07:00:42 -07:00
zip -j temp/rusefi_simulator.zip simulator/build/rusefi_simulator.exe firmware/tunerstudio/rusefi.ini java_console_binary/rusefi_console.jar
2019-07-01 09:22:58 -07:00
cd temp
if not exist rusefi_bundle.zip echo %script_name%: ERROR not found rusefi_bundle.zip
if not exist rusefi_bundle.zip EXIT /B 1
2019-06-30 19:28:58 -07:00
2019-06-01 10:47:15 -07:00
echo "%script_name%: Uploading stuff"
2019-07-07 14:50:51 -07:00
ncftpput -u %RUSEFI_BUILD_FTP_USER% -p %RUSEFI_BUILD_FTP_PASS% %RUSEFI_FTP_SERVER% . rusefi_bundle.zip
ncftpput -u %RUSEFI_BUILD_FTP_USER% -p %RUSEFI_BUILD_FTP_PASS% %RUSEFI_FTP_SERVER% separate_files rusefi_simulator.zip
ncftpput -u %RUSEFI_BUILD_FTP_USER% -p %RUSEFI_BUILD_FTP_PASS% %RUSEFI_FTP_SERVER% separate_files rusefi_console.zip
2019-06-01 09:34:29 -07:00
cd ..
echo "TIMESTAMP %date% %time%"
2019-06-01 10:47:15 -07:00
pwd
echo "exiting %script_name%"