RemoteBuild - Remote Build Configuration

This commit is contained in:
raywu 2022-08-05 15:36:16 +08:00
parent ef0a47fd61
commit 443eeb32d6
3 changed files with 105 additions and 438 deletions

View File

@ -1,65 +0,0 @@
default:
tags:
- BIOS ## Select server automatically
variables:
GIT_CLONE_PATH: $CI_BUILDS_DIR\Deploy\$CI_CONCURRENT_ID\$GITLAB_USER_ID\$CI_PROJECT_ID
GIT_STRATEGY: none
stages:
- init
- badging
## Macro Template. Can be used with "extends" key.
## Must start with "." to indicate Gitlab not to run them.
.badge_update_template:
stage: badging
script:
## Prepare variables
- 'set BUILD_JOB_URL=%CI_PROJECT_URL%/-/jobs/%UPSTREAM_BUILD_JOB_ID%'
## Find badge id to update
- 'curl -s --header "%API_HEADER%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges" > badge.txt'
- '%RUNNER_PATH%\jq-win64.exe -c "map(select(.name|contains(\"%BADGE_NAME%\")))[0].id" badge.txt > badge_id.txt'
- 'set /p BADGE_ID= < badge_id.txt'
## Update badge
- 'curl -s --request PUT --header "%API_HEADER%" --data "link_url=%BUILD_JOB_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/%BADGE_ID%"'
allow_failure: true
## Badging jobs
badging_init: ## Add badges to project - master, develop, ci build
stage: init
variables:
BADGE_STATE: unknown
BADGE_COLOR: inactive
rules:
- if: $UPSTREAM_PIPELINE_IID == '1' ## For first CI pipe
- if: $BADGE_INIT == 'true' ## If BADGE_INIT is manually added into pipeline variable
script:
- 'set BADGE_NAME=master'
- 'curl -s --request POST --header "%API_HEADER%" --data "link_url=%CI_PROJECT_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/"'
- 'set BADGE_NAME=develop'
- 'curl -s --request POST --header "%API_HEADER%" --data "link_url=%CI_PROJECT_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/"'
- 'set BADGE_NAME=ci_build'
- 'curl -s --request POST --header "%API_HEADER%" --data "link_url=%CI_PROJECT_URL%&image_url=https://shields.io/badge/%BADGE_NAME%-%BADGE_STATE%-%BADGE_COLOR%?style=plastic&name=%BADGE_NAME%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/badges/"'
allow_failure: true
badging_master_success:
extends: .badge_update_template
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
BADGE_NAME: master
badging_develop_success:
extends: .badge_update_template
rules:
- if: $CI_COMMIT_REF_NAME =~ /^.*[_-]develop(ment)?$/i
variables:
BADGE_NAME: develop
badging_ci_build_success:
extends: .badge_update_template
rules:
- if: $CI_COMMIT_REF_NAME =~ /^CI?\d?D?\d?-.*$/i
variables:
BADGE_NAME: ci_build

View File

@ -1,46 +1,112 @@
## Global variable
# Using AaeonRemoteBuildPkg only. Mask this section if you want to use own project local .yml
include:
- project: 'AAEON/Utility/AaeonRemoteBuildPkg'
file: '.gitlab-ci-project.yml'
# Use project local .yml only. Unmask if you want to use it.
#include:
# - local: '.gitlab-ci-project.yml'
variables:
GIT_DEPTH: "1"
## Unmask for patching NameTooLong issue
## Build variables for ########################################################
## AaeonRemoteBuild.bat %1 %2 %3 %4 %5:
## %1 PROJECT_REBUILD=BUILD_ALL
## 1: Build all; 0: Build; 2: Skip Build process[Test Only]
## %2 PROJECT_SHA=SHA_FOLDER=not used any more. Reserved for compatibility.
## %3 PROJECT_VEB_FILE=VEB=file name (w/o extension)
## %4 PROJECT_VEB_TOOL=AptioV_DIR=VEB tool version
## Veb Support List:
## 4.5.5_TOOLS_41
## Aptio_5.x_TOOLS_24_6
## Aptio_5.x_TOOLS_27
## Aptio_5.x_TOOLS_28
## Aptio_5.x_TOOLS_30_7
## Aptio_5.x_TOOLS_31_1
## Aptio_5.x_TOOLS_32_1
## Aptio_5.x_TOOLS_34_1
## Aptio_5.x_TOOLS_35
## Aptio_5.x_TOOLS_35_1
## Aptio_5.x_TOOLS_35_2
## Aptio_5.x_TOOLS_37_1
## Aptio_5.x_TOOLS_37_1_x64
## Aptio_5.x_TOOLS_JRE_34_1
## Aptio_5.x_TOOLS_40
## %5 PROJECT_BUILD_BATCH=batch file name (w/ .bat) used for compiling
## instead of using build commands defined in .veb.
## Optional, give un-exist file name to disable.
## And for
## AaeonRemoteDeploy.bat %1 %2:
## %1 COPY_OPTION
## 0: For Gitlab remote deploy, copy all; 1: For local use, copy file listed; 2: Skip
## %2 PROJECT_SHA=SHA_FOLDER
## Name: Create SHA and Output folder; 0: Create Output folder only; 1: Create with short SHA
## Name example:
## $CI_COMMIT_SHORT_SHA: 8 chars
## $CI_COMMIT_SHA: Full sha
PROJECT_REBUILD: 1
PROJECT_SHA: $CI_COMMIT_SHA
PROJECT_VEB_FILE: Kabylake
PROJECT_VEB_TOOL: Aptio_5.x_TOOLS_33
PROJECT_BUILD_BATCH: N/A ## Set to build.bat if project uses build.bat instead of make
## Patching NameTooLong issue. Optional, unmask if needed to change for project -
##GIT_CLONE_PATH: $CI_BUILDS_DIR\Build\$CI_CONCURRENT_ID\$GITLAB_USER_ID\$CI_PROJECT_ID
## Stage definitions
stages:
- build
- deploy
## Release variables for ####################################################
## AaeonRemotePreRelease.bat via environment
## PROJECT_RELEASE_DIR: Path to release folder
## PROJECT_CHANGELOG: Path to CHANGELOG file
## PROJECT_HISTORY: Path to History file
## PROJECT_FORMAL_HISTORY: Select to include internal commit message in History
## true/false - Show/hide internal messages [Test only]
## auto - Include internal messages only for beta version (refer to PROJECT_FORMAL_VERSION)
## PROJECT_FORMAL_VERSION: First formal release version in form of Major.Minor (ex: '1.0')
## When releasing a version - History.txt will be
## Same as formal - reset as first release
## Smaller than formal - appended with internal changes
## Larger than formal - appended w/o internal changes
PROJECT_RELEASE_DIR: AaeonRelease
PROJECT_CHANGELOG: CHANGELOG.md
PROJECT_HISTORY: $PROJECT_RELEASE_DIR\History.txt
PROJECT_FORMAL_HISTORY: auto
PROJECT_FORMAL_VERSION: '1.0'
## PROJECT_ONEDRIVE_RELATIVE_FOLDER: Folder name on Onedrive to release BIOS.
## Useful for ODM project's name is different with Onedrive folder name. This happens when -
## Project's name is too short, or conflict with other project's name
## Project's name is changed, but for some reason Onedrive folder is not changed accordingly
##PROJECT_ONEDRIVE_RELATIVE_FOLDER: 'Some fixed string'
## PROJECT_SIGN_ON_FORM: Form to dynamically generate sign-on message in History.txt
## Possible phrases
## $(TOKEN) - To be replaced by parsed token. Support AAEON_MODEL_NAME, SYSTEM_PRODUCT_NAME, PROJECT_NAME
## {{signon_tag}} - To be replaced by BIOS tag. Ex: K860AM10
## {{signon_major}} - To be replaced by major version parsed from BIOS tag. Ex: 1
## {{signon_minor}} - To be replaced by minor version parsed from BIOS tag. Ex: 0
## Optional, unmask if needed to change for customizing -
##PROJECT_SIGN_ON_FORM: '$$(AAEON_MODEL_NAME) R{{signon_major}}.{{signon_minor}}({{signon_tag}}) ({{signon_date}})'
## Macro Template. Can be used with "extends" key.
## Must start with "." to indicate Gitlab not to run them.
.build_template:
stage: build
before_script:
# Prepare project variables for passing job variables to other jobs.
## for variables bridge jobs do not have, and are required by downstream jobs, put to project variable
## PROJECT_BUILD_JOB_ID -> CI_JOB_ID for building job
- 'curl -s --request POST --header "%API_HEADER%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/variables" --form "key=PROJECT_BUILD_JOB_ID" --form "value=%CI_JOB_ID%"'
- 'curl -s --request PUT --header "%API_HEADER%" "%CI_API_V4_URL%/projects/%CI_PROJECT_ID%/variables/PROJECT_BUILD_JOB_ID" --form "value=%CI_JOB_ID%"'
script:
- 'AaeonRemoteBuild.bat 1 1'
## ReleaseDbg variables ####################################################
## This feature will be enabled when either one of following files presents in project:
## - AaeonPlatformDebugger\AaeonPlatformDebugger.sdl
## - DebugEnable.sdl
##
## PROJECT_DEBUG_CIF_PATH: Path to a .cif containing file name of .sdl file.
## Default use one in AaeonRemoteBuildPkg with DebugEnable.sdl
## PROJECT_DEBUG_SDL_PATH: Path to a .sdl containing AMI SDL tokens to enable debug mode.
## Default use one in AaeonRemoteBuildPkg
## Optional, unmask if needed to change for project -
##PROJECT_DEBUG_CIF_PATH: %REMOTE_BUILD_PATH%\DebugEnable\DebugEnable.cif
##PROJECT_DEBUG_SDL_PATH: %REMOTE_BUILD_PATH%\DebugEnable\DebugEnable.sdl
##PROJECT_DEBUG_SDL_PATH: DebugEnable.sdl ## (Example for using one added in project root)
.deploy_template:
stage: deploy
variables:
GIT_CLONE_PATH: $CI_BUILDS_DIR\Deploy\$CI_CONCURRENT_ID\$GITLAB_USER_ID\$CI_PROJECT_ID
GIT_STRATEGY: none
script:
# Display working directory because it is not displayed when GIT_STRATEGY is none.
- 'echo %GIT_CLONE_PATH%'
# Perform file copy only
- 'AaeonRemoteBuild.bat 2 1'
after_script:
- del /S /Q *.* ## remove files since that have been put to NAS.
# Overriding other configurations
# Refer to https://docs.gitlab.com/ee/ci/yaml/includes.html#override-included-configuration-values for more detail
# Example - Overriding deployed file list
.build_files:
extends:
- .build_template # To obtain "script" key which is required in all job.
artifacts:
paths:
- 'AaeonRemoteBuild.bat'
- '*.[Bb][Ii][Nn]'
- 'build.log'
- '_Aaeon_Release\*.[Bb][Ii][Nn]'
@ -57,121 +123,10 @@ stages:
- 'Build\*.sd'
- 'Build\*.mak'
- 'Build\*.h'
expire_in: 5min
.variables_for_downstream:
inherit:
variables:
# Only listed variables will be inherited
- API_HEADER
variables:
# Pass pre-defined variables with prefix "UPSTREAM" to downstream,
# because downstream has own defined ones.
UPSTREAM_REF: $CI_COMMIT_REF_NAME
UPSTREAM_SHA: $CI_COMMIT_SHORT_SHA
UPSTREAM_PROJECT_ID: $CI_PROJECT_ID
UPSTREAM_PROJECT_NAME: $CI_PROJECT_NAME
UPSTREAM_BUILD_JOB_ID: $PROJECT_BUILD_JOB_ID
UPSTREAM_PIPELINE_IID: $CI_PIPELINE_IID
## Build Jobs
build_in_Server1:
extends:
- .build_template
- .build_files
rules:
- if: $CI_COMMIT_REF_NAME =~ /^CI?1(D\d)?-.*$/i
tags:
- BIOS1
build_in_Server2:
extends:
- .build_template
- .build_files
rules:
- if: $CI_COMMIT_REF_NAME =~ /^CI?2(D\d)?-.*$/i
tags:
- BIOS2
build_no_preferred:
extends:
- .build_template
- .build_files
rules:
- if: $CI_COMMIT_REF_NAME =~ /^CI?D\d-.*$/i
tags:
- BIOS
build_no_preferred_no_deploy:
extends:
- .build_template
rules:
- if: $CI_COMMIT_REF_NAME =~ /^CI?-.*$/i
- if: $CI_COMMIT_REF_NAME =~ /^CI?\d?D?\d?-.*$/i ## skip if it is ci build
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event" ## Build BIOS when merge request issued
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ## Build BIOS when committing to project master
- if: $CI_PIPELINE_SOURCE == "web" ## Build BIOS when run pipeline manually
tags:
- BIOS
## Build debug binary and upload to Gitlab. Work only with Tag
debug_build:
extends:
- .build_template
rules:
- if: $CI_COMMIT_TAG =~ /^.*[_-]debug$/i
tags:
- BIOS
artifacts:
name: Debug_Binary
paths:
- '*.[Bb][Ii][Nn]'
## Deploy Jobs
deploy_to_Taipei:
extends:
- .deploy_template
rules:
- if: $CI_COMMIT_REF_NAME =~ /^(CI?\d?)?D1-.*$/i
tags:
- BIOS1
deploy_to_Taichung:
extends:
- .deploy_template
rules:
- if: $CI_COMMIT_REF_NAME =~ /^(CI?\d?)?D2-.*$/i
tags:
- BIOS2
deploy_to_PC:
extends: .variables_for_downstream
stage: deploy
rules:
- if: $CI_COMMIT_REF_NAME =~ /^CI?\d?D0-.*$/i
trigger:
project: AAEON/Utility/AaeonPersonalDeploy # Allow absolute path only.
branch: $GITLAB_USER_LOGIN
strategy: depend
## Badging jobs
.badging_template:
extends: .variables_for_downstream
stage: deploy
trigger:
include: .gitlab-ci-badging.yml
badging_success:
extends: .badging_template
variables:
BADGE_STATE: success
BADGE_COLOR: success
when: on_success
badging_failed:
extends: .badging_template
variables:
BADGE_STATE: failed
BADGE_COLOR: red
when: on_failure
- 'Build\git-cliff\*' ## for PreRelease result
- 'Build\AmiCrbMeRoms\*' ## for AMI CRB Binary
- 'AmiFspBinaryBuildTemp\Token.*'
- 'AmiFspBinaryBuildTemp\Platform.*'
- 'AmiFspBinaryBuildTemp\*.mak'
expire_in: 1day
when: always

View File

@ -1,223 +0,0 @@
@rem PORTING NOTE
@rem ===========================================
@rem * Select prefered build server in .gitlab-ci.yml. Ex: [Tag: BIOS] use all; [Tag: BIOS1] use BIOS1 only
@rem * Set variables %1 %2 from the script section in .gitlab-ci.yml:
@rem * %1 BUILD_ALL=1: Build all; 0: Build; 2: Skip Build process[Test Only]
@rem * %2 SHA_FOLDER=1: Create SHA and Output folder; 0: Create Output folder only
@rem * Set VEB file name (w/o extension). Ex: [VEB=CoffeeLake_BOXER-6842M]
@rem * Set VEB tool version. Ex: [AptioV_DIR=Aptio_5.x_TOOLS_32_1]
@rem * (Optional) Set output path for copying output file. Ex: [OUTPUT_DIR=\\AA-LK11-1682\Share]
@rem * (Optional) Set user name for accessing share folder. Ex: [USERNAME=username@aaeon.com.tw]
@rem * (Optional) Set password for accessing share folder. Ex: [PASSWORD=########]
@rem * (Optional) Set output folder for copying output file. Ex: [OUTPUT_FOLDER=CoffeeLake_BOXER-6842M]
@rem * Make sure there is tee.exe in VEB_DIR(gitlab-runner) folder on build server.
@rem * The tool can be found on http://sourceforge.net/projects/unxutils/?source=dlp
echo.
echo *******************************************
echo AaeonRemoteBuild.bat Start
echo *******************************************
echo.
echo Set Build Environment Parameters
echo -------------------------------------------
@set BUILD_ALL=%1
@set DEDIPROG_DIR=C:\Program Files (x86)\DediProg\SF Programmer
:SetVebParm
@set VEB=Kabylake
@rem BUILD_WITH_BATCH : For projects use build.bat instead of make
@set BUILD_WITH_BATCH=0
@set AptioV_DIR=Aptio_5.x_TOOLS_33
@rem Veb Support List:
@rem 4.5.5_TOOLS_41
@rem Aptio_5.x_TOOLS_24_6
@rem Aptio_5.x_TOOLS_27
@rem Aptio_5.x_TOOLS_28
@rem Aptio_5.x_TOOLS_30_7
@rem Aptio_5.x_TOOLS_31_1
@rem Aptio_5.x_TOOLS_32_1
@rem Aptio_5.x_TOOLS_34_1
@rem Aptio_5.x_TOOLS_35
@rem Aptio_5.x_TOOLS_35_1
@rem Aptio_5.x_TOOLS_35_2
@rem Aptio_5.x_TOOLS_37_1
@rem Aptio_5.x_TOOLS_37_1_x64
@rem Aptio_5.x_TOOLS_JRE_34_1
@set VEB_DIR=C:\gitlab-runner
:SetVebToolsDirectories
@set TOOLS_DIR=%VEB_DIR%\%AptioV_DIR%\BuildTools
@set WINDDK_DIR1=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86\x86
@set WINDDK_DIR2=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86
@set EWDK_DIR=%VEB_DIR%\EWDK_1703
@rem EWDK_DIR=%VEB_DIR%\EWDK_19h1
@set path=%VEB_DIR%;%EWDK_DIR%;%WINDDK_DIR1%;%WINDDK_DIR2%;%TOOLS_DIR%;%path%
:SetVebEnvVariables
@set CCX86DIR=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86\x86
@set CCX64DIR=%VEB_DIR%\WINDDK\7600.16385.1\bin\x86\amd64
echo.
echo Set deploy Environment Parameters
echo -------------------------------------------
:SetOutputPath
@set NET_IP=172.16.1.26
@set OUTPUT_DIR=\\%NET_IP%\public
@rem Get path in form of "user_name\project_name"
if "%CI_PROJECT_PATH%" == "" (
@rem Retrieve from current directory. For compatibitliy to Gitlab 8.2.3.
@set OUTPUT_FOLDER=%CD:~14%
) else (
@rem Using CI variable to retrieve. Replace / with \.
@set OUTPUT_FOLDER=%CI_PROJECT_PATH:/=\%
)
@set USERNAME=runner
@set PASSWORD=12345678
@ping %NET_IP% -n 1 -w 1000
if ERRORLEVEL 1 (
@set NET_IP=192.168.11.56
@set OUTPUT_DIR=\\!NET_IP!\Temp\Share
@set USERNAME=aaeon\user1
@set PASSWORD=123456
@ping !NET_IP! -n 1 -w 1000
)
:ConnectOuputDir
if ERRORLEVEL 1 (
@set OUTPUT_DIR=%USERPROFILE%\AAEON Technology\nas - gitlab_runner
) else (
rem connect output directory
@net use %OUTPUT_DIR% /user:%USERNAME% %PASSWORD%
@set NET_USE=1
@set OUTPUT_FOLDER=runner-build\%OUTPUT_FOLDER%
)
@set OUTPUT_PATH=%OUTPUT_DIR%\%OUTPUT_FOLDER%
:SetShaFolder
@set SHA_FOLDER=%2
if "%SHA_FOLDER%" == "1" (
@set OUTPUT_PATH=%OUTPUT_DIR%\%OUTPUT_FOLDER%\%CI_COMMIT_SHA%
)
:StartBuild
echo.
echo Starting Build Process
echo -------------------------------------------
@set OLDTIME=%time%
@echo success > .success.tmp
@if "%BUILD_ALL%" == "2" goto Built
@if "%BUILD_ALL%" == "0" goto Build
:ReBuildAll
if "%BUILD_WITH_BATCH%" == "1" (
(call Build.bat rebuild || del .success.tmp) | tee build.log
@echo off
) else (
(make clean || del .success.tmp) | tee build.log
(make rebuild || del .success.tmp) | tee build.log
)
goto Built
:Build
if "%BUILD_WITH_BATCH%" == "1" (
(call Build.bat || del .success.tmp) | tee build.log
@echo off
) else (
(make || del .success.tmp) | tee build.log
)
goto Built
:Built
FOR /F "usebackq tokens=1-3" %%I IN (Build\Token.mak) DO (
if "%%I" EQU "AMI_FSP_BIN_BUILD_TEMP_DIR" (
Set AmiFspBinBuildTempDir=%%K
)
)
echo.
echo Copying Output Files
echo -------------------------------------------
:CreateOuputFolder
if exist "%OUTPUT_PATH%\" (
@del "%OUTPUT_PATH%\*" /Q
@rmdir "%OUTPUT_PATH%\Build" /S /Q
@rmdir "%OUTPUT_PATH%\%AmiFspBinBuildTempDir%" /S /Q
)
@mkdir "%OUTPUT_PATH%\Build"
@mkdir "%OUTPUT_PATH%\%AmiFspBinBuildTempDir%"
:CopyBuildFiles
@copy *.bin "%OUTPUT_PATH%" /y /b
@copy *.cap "%OUTPUT_PATH%" /y /b
@copy *.rom "%OUTPUT_PATH%" /y /b
@copy build.log %OUTPUT_PATH% /y /b
@copy _Aaeon_Release\*.bin "%OUTPUT_PATH%" /y /b
@copy Build\Token.* "%OUTPUT_PATH%\Build" /y /b
@copy Build\Platform.* "%OUTPUT_PATH%\Build" /y /b
@copy Build\GSIOSETUPVAR.* "%OUTPUT_PATH%\Build" /y /b
@copy Build\*.inf "%OUTPUT_PATH%\Build" /y /b
@copy Build\PCIBRDSDL.* "%OUTPUT_PATH%\Build" /y /b
@copy Build\SIOBRDSDL.* %OUTPUT_PATH%\Build /y /b
@copy Build\*.hfr "%OUTPUT_PATH%\Build" /y /b
@copy Build\*.vfr %OUTPUT_PATH%\Build /y /b
@copy Build\*.asl "%OUTPUT_PATH%\Build" /y /b
@copy Build\*.uni "%OUTPUT_PATH%\Build" /y /b
@copy Build\*.sd "%OUTPUT_PATH%\Build" /y /b
@copy Build\*.mak "%OUTPUT_PATH%\Build" /y /b
@copy Build\*.h %OUTPUT_PATH%\Build /y /b
@copy %AmiFspBinBuildTempDir%\Token.* %OUTPUT_PATH%\%AmiFspBinBuildTempDir% /y /b
@copy %AmiFspBinBuildTempDir%\Platform.* %OUTPUT_PATH%\%AmiFspBinBuildTempDir% /y /b
@copy %AmiFspBinBuildTempDir%\*.mak %OUTPUT_PATH%\%AmiFspBinBuildTempDir% /y /b
@copy Build\AmiCrbMeRoms\*.bin "%OUTPUT_PATH%" /y /b
echo.
echo Create DediProg batch file
echo -------------------------------------------
FOR /F "tokens=2,3" %%i IN (Build\Token.h) DO (
if "%%i" == "AAEON_BIN" Set FLASH_BIN=%%j
)
echo BIOS BIN file = %FLASH_BIN%
@echo "%DEDIPROG_DIR%\Dpcmd" --spi-clk 0 -z %OUTPUT_PATH%\%FLASH_BIN% > Batch.bat
@echo if ERRORLEVEL 1 goto ProgramingFailed >> Batch.bat
@echo goto ProgramingSucess >> Batch.bat
@echo :ProgramingFailed >> Batch.bat
@echo msg * "BIOS %FLASH_BIN% programing fail" >> Batch.bat
@echo pause >> Batch.bat
@echo :ProgramingSucess >> Batch.bat
@echo msg * "BIOS %FLASH_BIN% programing sucess" >> Batch.bat
@copy Batch.bat %OUTPUT_PATH%\Batch.bat /y /b
:DeleteConnection
if "%NET_USE%" == "1" (
@net use %OUTPUT_DIR% /delete
)
echo.
echo Output files have been put to :
echo %OUTPUT_PATH%
if not exist .success.tmp goto FinishedWithFailure
:Finished
echo.
echo *******************************************
echo AaeonRemoteBuild.bat Finished
echo *******************************************
@echo Start Time %OLDTIME%
@echo End Time %time%
echo EXIT /B 0
EXIT /B 0
:FinishedWithFailure
echo.
echo *******************************************
echo Build Failed
echo *******************************************
@echo Start Time %OLDTIME%
@echo End Time %time%
echo EXIT /B 1
EXIT /B 1