From: SnickerSun Date: Fri, 15 Dec 2023 02:43:43 +0000 (+0800) Subject: 添加 autobuild.sh 实现编译release一条指令完成 X-Git-Tag: release_V1.2.70_20241020_135402~1396^2 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=39746eb7d4e4f4a570de9d1c9896848da6a17050;p=mirrors%2FFD230.git 添加 autobuild.sh 实现编译release一条指令完成 添加 gitdiff.sh自动抽取当前变更的数据 --- diff --git a/.gitignore b/.gitignore index a9e060d04..f5f586ade 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ code/sdk/deveco/** code/sdk/vscode/** code/sdk/output/** code/sdk/tools/pkg/fwpkg/brandy/upload_app.fwpkg +release/** +build.log diff --git a/autuobuild.sh b/autuobuild.sh new file mode 100644 index 000000000..72e12100c --- /dev/null +++ b/autuobuild.sh @@ -0,0 +1,68 @@ +#!/bin/bash + +version=HEAD +DATE=$(date +%Y%m%d_%H%M%S) +HOMEDIR=$PWD + +if [ "$1" == "" ] +then +TARGET_PACK_NAME=pack_brandy_native_js +else +TARGET_PACK_NAME=$1 +fi + +if [ "$2" == "" ] +then +RELEASE_BUILD=debug +else +RELEASE_BUILD=release +fi +CURRENT_BRANCH=`git branch |awk '$1=="*"{print $2}'` +COMMIT_ID=`git rev-parse HEAD` +SOURCE_MODIFIED=`git status --short` +cp_releasepackage() +{ + #code/sdk/output/brandy/acore/brandy-native-js/package/brandy/ + package_dir=$HOMEDIR/code/sdk/output/package/brandy/$TARGET_PACK_NAME + filename=${TARGET_PACK_NAME}_${RELEASE_BUILD}_${DATE}_${USER}.fwpkg + releasedir=$HOMEDIR/release/$TARGET_PACK_NAME/$RELEASE_BUILD/${DATE} + packsource=$HOMEDIR/code/sdk/tools/pkg/fwpkg/brandy/upload_app.fwpkg + echo do release copy + mkdir -p $releasedir + cp -r build.log $package_dir $releasedir/ + cp $packsource $releasedir/$filename + echo $filename > $releasedir/readme.txt + echo branch name $CURRENT_BRANCH >> $releasedir/readme.txt + echo commit $COMMIT_ID >> $releasedir/readme.txt + if [ "$SOURCE_MODIFIED" == "" ] + then + echo no source changed >> $releasedir/readme.txt + else + echo source changed >> $releasedir/readme.txt + echo $SOURCE_MODIFIED >> $releasedir/readme.txt + fi + echo release to $releasedir/$filename + cat $releasedir/readme.txt +} +build_target() +{ + + cd $HOMEDIR/code/sdk/ + ./build.py -nhso -c -$RELEASE_BUILD $TARGET_PACK_NAME 2>&1 + ret_code=$? + if [ $ret_code == 0 ] + then + #code/sdk/output/currentbuild.txt + if [ -e "$HOMEDIR/code/sdk/output/currentbuild.txt" ] + then + TARGET_PACK_NAME=`cat $HOMEDIR/code/sdk/output/currentbuild.txt` + fi + cp_releasepackage + echo build done at $(date +%Y%m%d_%H%M%S) + else + echo build failed at $(date +%Y%m%d_%H%M%S) + fi + cd $HOMEDIR +} + +build_target | tee build.log diff --git a/code/sdk/build/script/pack_tool.py b/code/sdk/build/script/pack_tool.py index 328f54aa0..0aff91770 100755 --- a/code/sdk/build/script/pack_tool.py +++ b/code/sdk/build/script/pack_tool.py @@ -52,7 +52,18 @@ class packTool: pack_path = os.path.join(output_root, 'package', chip, self.pack_name) pack_target_path = os.path.join(pack_path, self.target_name) pack_bin_path = pack_path - print("Start pack target %s" % self.target_name) + current_target_file = os.path.join(output_root,'currentbuild.txt') + fh=open(current_target_file,"w") + fh.write(self.pack_name) + fh.close + + print("output_path %s" % output_path) + print("Start pack target %s" % self.pack_name) + print("pack_target_path %s" % pack_target_path) + print("current_target_file %s" % current_target_file) + + # output_patht /home/snicker/FD230/code/sdk/output/brandy/acore/brandy-native-js + os.makedirs(pack_target_path) for file_name in os.listdir(output_path): diff --git a/gitdiff.sh b/gitdiff.sh new file mode 100644 index 000000000..646f750f1 --- /dev/null +++ b/gitdiff.sh @@ -0,0 +1,75 @@ +#!/bin/bash +#set -e +version=HEAD +DATE=$(date +%Y%m%d.%H%M%S) +HOMEDIR=$PWD +TMPDIR=/tmp/${USER}_${DATE} + + +if ! [ "$1" = "" ] +then + +version=$1 + +fi +echo $version + +BACKUPDIR_HOME=$HOMEDIR/../PATCHES/$(basename $HOMEDIR)_${DATE} + + +genpatch() { +TARGETDIR=$1 +tmpfile_changelist=/$TMPDIR/changelist.txt +tmpfile_removedfiles=/$TMPDIR/deletedfiles.sh +tmpfile_modified_or_new_files=/$TMPDIR/modified_or_new_files.txt +tmpfile_local_diff_patch=/$TMPDIR/local_diff_patch.txt +tmpfile_git_commit_file=/$TMPDIR/commit.txt +BACKUPDIR=$BACKUPDIR_HOME/ +BACKUPDIR_DIFF=$BACKUPDIR_HOME/diff/ + +rm -rf $TMPDIR +mkdir -p $TMPDIR +cd $TARGETDIR +git config core.filemode false +git status . -s > $tmpfile_changelist +export count=`wc $tmpfile_changelist -l|awk '{print $1}'` +echo $TARGETDIR $count +if [ "$count" == "0" ] ; then + echo $TARGETDIR no change +else + + git log -n 1 --format="%H" >$tmpfile_git_commit_file + + git status . -s |awk ' ($1 != "D" ) {print $2 }' >$tmpfile_modified_or_new_files + git status . -s |awk ' ($1 == "D" ) {print "rm " $2 }' >$tmpfile_removedfiles + + mkdir -p $BACKUPDIR + mkdir -p $BACKUPDIR_DIFF + git diff . > $tmpfile_local_diff_patch + mv $tmpfile_local_diff_patch $BACKUPDIR_DIFF + mv $tmpfile_git_commit_file $BACKUPDIR_DIFF + + if ! [ $(wc -l $tmpfile_modified_or_new_files|awk '{print $1}' ) == "0" ] ; then + mv $tmpfile_modified_or_new_files $BACKUPDIR_DIFF + cat $BACKUPDIR_DIFF/$(basename $tmpfile_modified_or_new_files)|xargs tar czf $BACKUPDIR/changefiles.tar.gz + tar xzf $BACKUPDIR/changefiles.tar.gz -C $BACKUPDIR + rm $BACKUPDIR/changefiles.tar.gz + else + echo $tmpfile_modified_or_new_files $(wc -l $tmpfile_modified_or_new_files |awk '{print $1}') , skip copy. + fi + + if ! [ $(wc -l $tmpfile_removedfiles|awk '{print $1}') == "0" ] ; then + mv $tmpfile_removedfiles $BACKUPDIR_DIFF + else + echo $tmpfile_removedfiles $(wc -l $tmpfile_removedfiles|awk '{print $1}') , skip copy. + fi +fi +cd $HOMEDIR + +} + +genpatch $PWD +echo done + + +