From d0e2dddb21bb3e29f2a8f793af1cdfadc47e9eb3 Mon Sep 17 00:00:00 2001 From: davidhan008 <619409713@qq.com> Date: Mon, 10 Jul 2023 10:11:58 +0800 Subject: [PATCH] Add: create 3rdparty and push into obs --- base.sh | 1 + config | 2 +- create-ros-3rdparty-in-obs.sh | 46 +++++++++++++++++++++ push-projects-to-obs.sh | 76 +++++++++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 create-ros-3rdparty-in-obs.sh create mode 100644 push-projects-to-obs.sh diff --git a/base.sh b/base.sh index ad256db..7e62802 100755 --- a/base.sh +++ b/base.sh @@ -21,6 +21,7 @@ ROS_GITEE_BASE=${OUTPUT}/gitee LOG=${OUTPUT}/ros-tools.log ROS_PROJECTS_NAME=${OUTPUT}/ros-projects-name.list +ROS_3RDPARTY_NAME=$PWD/ros-3rdparty.list ROS_PKG_LIST=${OUTPUT}/ros-pkg.list mkdir -p ${OUTPUT} diff --git a/config b/config index becd8b9..ffe5a54 100644 --- a/config +++ b/config @@ -2,7 +2,7 @@ ROS_DISTRO=humble SRC_TAR_FROM=ubuntu DEBUG=no SRC_TAR_BASE_URL=https://packages.ros.org/ros2/ubuntu/pool/main/r -GITEE_ORG=will_niutao +GITEE_ORG=your_name GITEE_DOMAIN=gitee.com OBS_DOMAIN=build.openeuler.openatom.cn OBS_PROJECT=openEuler:ROS:humble diff --git a/create-ros-3rdparty-in-obs.sh b/create-ros-3rdparty-in-obs.sh new file mode 100644 index 0000000..272fd77 --- /dev/null +++ b/create-ros-3rdparty-in-obs.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +. base.sh + +SERVICE_FILE=_service + +prepare() +{ + if [ ! -f ${ROS_3RDPARTY_NAME} ] + then + error_log "Please give the source repo path of ros" + exit 1 + fi + + #mkdir -p ${ROS_OBS_BASE} + #rm -rf ${ROS_OBS_BASE}/* +} + +main() +{ + prepare + + info_log "Start to analyse ros-pkg." + + while read project + do + info_log "start create project $project" + + mkdir -p ${ROS_OBS_BASE}/${project} + cd ${ROS_OBS_BASE}/${project} + + echo "" > ${SERVICE_FILE} + echo " " >> ${SERVICE_FILE} + echo " git" >> ${SERVICE_FILE} + echo " https://${GITEE_DOMAIN}/${GITEE_ORG}/${project}.git" >> ${SERVICE_FILE} + echo " *" >> ${SERVICE_FILE} + echo " *" >> ${SERVICE_FILE} + echo " ${ROS_DISTRO}" >> ${SERVICE_FILE} + echo " " >> ${SERVICE_FILE} + echo "" >> ${SERVICE_FILE} + done < ${ROS_3RDPARTY_NAME} + + info_log "create 3rdparty project ok" +} + +main $* diff --git a/push-projects-to-obs.sh b/push-projects-to-obs.sh new file mode 100644 index 0000000..b1845ea --- /dev/null +++ b/push-projects-to-obs.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +. base.sh + +ROS_PUSH_LIST=${OUTPUT}/ros-push.list + +prepare() +{ + if [ ! -f ${ROS_PUSH_LIST} ] + then + error_log "Please give the ${ROS_CHECK_LIST}" + exit 1 + fi + mkdir -p ${OUTPUT}/obs_project + cd ${OUTPUT}/obs_project + osc checkout ${OBS_PROJECT} + osc update + echo "success clone obs prjector: ${OBS_PROJE}" +} + +main() +{ + prepare + + info_log "Start to analyse ros-pkg." + + while read project + do + info_log "start push to $project to obs" + + if [ -d "${OUTPUT}/obs_project/${OBS_PROJECT}/$project" ] + then + continue + fi + + #1. create project + cd ${OUTPUT}/obs_project/${OBS_PROJECT} + osc mkpac $project + + #2. copy obs prject + cp ${OUTPUT}/obs/${project}/_service ${OUTPUT}/obs_project/${OBS_PROJECT}/${project}/_service + + #3. push _service + cd ${OUTPUT}/obs_project/${OBS_PROJECT}/${project} + osc add _service + osc commit -m "fix" + + done < ${ROS_PUSH_LIST} + + while read project + do + info_log "start push to $project to obs" + + if [ -d "${OUTPUT}/obs_project/${OBS_PROJECT}/$project" ] + then + continue + fi + + #1. create project + cd ${OUTPUT}/obs_project/${OBS_PROJECT} + osc mkpac $project + + #2. copy obs prject + cp ${OUTPUT}/obs/${project}/_service ${OUTPUT}/obs_project/${OBS_PROJECT}/${project}/_service + + #3. push _service + cd ${OUTPUT}/obs_project/${OBS_PROJECT}/${project} + osc add _service + osc commit -m "fix" + + done < ${ROS_3RDPARTY_NAME} + + info_log "Done push projects to obs" +} + +main $* -- Gitee