@@ -127,24 +127,46 @@ jobs:
127127 run : |
128128 # 创建一个映射来存储模块名到 JDK 版本的映射
129129 modules=(${{ join(fromJSON(steps.find-maven-modules.outputs.modules-list), ' ') }})
130- modules_in_right_jdk=""
130+ modules_in_right_jdk_array=()
131131 for module in "${modules[@]}"; do
132132 # 读取模块中的 pom.xml 来确定 JDK 版本
133133 jdk_version=$(grep -m 1 '<java.version>' $module/pom.xml | sed 's/<[^>]*>//g' | xargs)
134134 echo "${module} JDK version: ${jdk_version}"
135- # 如果是目标 jdk 版本,则执行 release 操作
136135
136+ # 如果是目标 jdk 版本,则记录
137137 if [[ "${jdk_version}" == "17" ]]; then
138- modules_in_right_jdk="${modules_in_right_jdk}${ module},"
138+ modules_in_right_jdk_array+=(${ module})
139139 fi
140140 done
141141
142- if [[ -n ${modules_in_right_jdk} ]]; then
143- modules_in_right_jdk="${modules_in_right_jdk:0:-1}"
144- echo "release for module ${modules_in_right_jdk}"
145- mvn --batch-mode deploy -Psnapshot -pl ${modules_in_right_jdk} -am -amd -B -U
146- echo "release completed for module ${modules_in_right_jdk}"
142+ # 过滤出需要发布的 adapter,过滤条件:adapter 版本与 pom.xml 中的版本一致
143+ adapter_snapshot_version=$(grep '<revision>' pom.xml | sed -e 's/.*<revision>\(.*\)<\/revision>.*/\1/' | tr -d ' ')
144+ modules_in_snapshot_version=""
145+ for module in "${modules_in_right_jdk_array[@]}"; do
146+ # 如果没有 adapter-mapping.yaml,则跳过( koupleless-adapter-configs 没有 adapter-mapping.yaml)
147+ if [[ ! -f $module/conf/adapter-mapping.yaml ]]; then
148+ continue
149+ fi
150+
151+ # 读取模块中的 adapter-mapping.yaml 来确定 adapter 版本
152+ adapter_version=$(grep 'version:' $module/conf/adapter-mapping.yaml | sed -e 's/.*version:\(.*\)/\1/' | tr -d ' ')
153+ echo "${module} adapter version: ${adapter_version}"
154+
155+ # 如果是目标 adapter 版本,则记录
156+ if [[ "${adapter_version}" == "${adapter_snapshot_version}" ]]; then
157+ modules_in_snapshot_version="${modules_in_snapshot_version}${module},"
158+ fi
159+ done
160+
161+ if [[ -n ${modules_in_snapshot_version} ]]; then
162+ modules_in_snapshot_version="${modules_in_snapshot_version:0:-1}"
163+ echo "release for module ${modules_in_snapshot_version}"
164+ mvn --batch-mode deploy -Psnapshot -pl ${modules_in_snapshot_version} -am -amd -B -U
165+ echo "release completed for module ${modules_in_snapshot_version}"
147166 fi
167+
168+ # 请在发布 koupleless-adapter-configs 之前,发布 jdk8 和 jdk17 所有的 koupleless-adapters
169+ mvn --batch-mode deploy -Psnapshot -pl koupleless-adapter-configs -am -amd -B -U
148170 working-directory : adapter/
149171 env :
150172 MAVEN_USERNAME : ${{ secrets.MAVEN_USERNAME }}
0 commit comments