Skip to content

Commit 192fa56

Browse files
gaosaromalvjing2
authored andcommitted
add versionRange for adaptor
fix adaptors rm unnessasary error log for maven format fix npe change regExr to versionRange support compositAdapterConfig add testy rm release-configs yml
1 parent 1dc133c commit 192fa56

22 files changed

Lines changed: 1225 additions & 335 deletions

.github/workflows/koupleless_runtime_release.yml

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -132,23 +132,42 @@ jobs:
132132
run: |
133133
# 创建一个映射来存储模块名到 JDK 版本的映射
134134
modules=(${{ join(fromJSON(steps.find-maven-modules.outputs.modules-list), ' ') }})
135-
modules_in_right_jdk=""
135+
modules_in_right_jdk_array=()
136136
for module in "${modules[@]}"; do
137137
# 读取模块中的 pom.xml 来确定 JDK 版本
138138
jdk_version=$(grep -m 1 '<java.version>' $module/pom.xml | sed 's/<[^>]*>//g' | xargs)
139139
echo "${module} JDK version: ${jdk_version}"
140-
# 如果是目标 jdk 版本,则执行 release 操作
141-
140+
141+
# 如果是目标 jdk 版本,则记录
142142
if [[ "${jdk_version}" == "1.8" ]]; then
143-
modules_in_right_jdk="${modules_in_right_jdk}${module},"
143+
modules_in_right_jdk_array+=(${module})
144+
fi
145+
done
146+
147+
# 过滤出需要发布的 adapter,过滤条件:adapter 版本与 pom.xml 中的版本一致
148+
adapter_release_version=$(grep '<revision>' pom.xml | sed -e 's/.*<revision>\(.*\)<\/revision>.*/\1/' | tr -d ' ')
149+
modules_in_release_version=""
150+
for module in "${modules_in_right_jdk_array[@]}"; do
151+
# 如果没有 adapter-mapping.yaml,则跳过( koupleless-adapter-configs 没有 adapter-mapping.yaml)
152+
if [[ ! -f $module/conf/adapter-mapping.yaml ]]; then
153+
continue
154+
fi
155+
156+
# 读取模块中的 adapter-mapping.yaml 来确定 adapter 版本
157+
adapter_version=$(grep 'version:' $module/conf/adapter-mapping.yaml | sed -e 's/.*version:\(.*\)/\1/' | tr -d ' ')
158+
echo "${module} adapter version: ${adapter_version}"
159+
160+
# 如果是目标 adapter 版本,则记录
161+
if [[ "${adapter_version}" == "${adapter_release_version}" ]]; then
162+
modules_in_release_version="${modules_in_release_version}${module},"
144163
fi
145164
done
146165
147-
if [[ -n ${modules_in_right_jdk} ]]; then
148-
modules_in_right_jdk="${modules_in_right_jdk:0:-1}"
149-
echo "release for module ${modules_in_right_jdk}"
150-
mvn --batch-mode deploy -Prelease -pl ${modules_in_right_jdk} -am -amd -B -U
151-
echo "release completed for module ${modules_in_right_jdk}"
166+
if [[ -n ${modules_in_release_version} ]]; then
167+
modules_in_release_version="${modules_in_release_version:0:-1}"
168+
echo "release for module ${modules_in_release_version}"
169+
mvn --batch-mode deploy -Prelease -pl ${modules_in_release_version} -am -amd -B -U
170+
echo "release completed for module ${modules_in_release_version}"
152171
fi
153172
working-directory: adapter/
154173
env:

.github/workflows/koupleless_runtime_release_2.1.x.yml

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ jobs:
131131
# 创建一个映射来存储模块名到 JDK 版本的映射
132132
modules=(${{ join(fromJSON(steps.find-maven-modules.outputs.modules-list), ' ') }})
133133
modules_in_right_jdk=""
134+
modules_in_right_jdk_array=()
134135
for module in "${modules[@]}"; do
135136
# 读取模块中的 pom.xml 来确定 JDK 版本
136137
jdk_version=$(grep -m 1 '<java.version>' $module/pom.xml | sed 's/<[^>]*>//g' | xargs)
@@ -139,15 +140,38 @@ jobs:
139140
140141
if [[ "${jdk_version}" == "17" ]]; then
141142
modules_in_right_jdk="${modules_in_right_jdk}${module},"
143+
modules_in_right_jdk_array+=(${module})
142144
fi
143145
done
144146
145-
if [[ -n ${modules_in_right_jdk} ]]; then
146-
modules_in_right_jdk="${modules_in_right_jdk:0:-1}"
147-
echo "release for module ${modules_in_right_jdk}"
148-
mvn --batch-mode deploy -Prelease -pl ${modules_in_right_jdk} -am -amd -B -U
149-
echo "release completed for module ${modules_in_right_jdk}"
147+
# 过滤出需要发布的 adapter,过滤条件:adapter 版本与 pom.xml 中的版本一致
148+
adapter_release_version=$(grep '<revision>' pom.xml | sed -e 's/.*<revision>\(.*\)<\/revision>.*/\1/' | tr -d ' ')
149+
modules_in_release_version=""
150+
for module in "${modules_in_right_jdk_array[@]}"; do
151+
# 如果没有 adapter-mapping.yaml,则跳过(koupleless-adapter-configs 没有 adapter-mapping.yaml)
152+
if [[ ! -f $module/conf/adapter-mapping.yaml ]]; then
153+
continue
154+
fi
155+
156+
# 读取模块中的 adapter-mapping.yaml 来确定 adapter 版本
157+
adapter_version=$(grep 'version:' $module/conf/adapter-mapping.yaml | sed -e 's/.*version:\(.*\)/\1/' | tr -d ' ')
158+
echo "${module} adapter version: ${adapter_version}"
159+
160+
# 如果是目标 adapter 版本,则记录
161+
if [[ "${adapter_version}" == "${adapter_release_version}" ]]; then
162+
modules_in_release_version="${modules_in_release_version}${module},"
163+
fi
164+
done
165+
166+
if [[ -n ${modules_in_release_version} ]]; then
167+
modules_in_release_version="${modules_in_release_version:0:-1}"
168+
echo "release for module ${modules_in_release_version}"
169+
mvn --batch-mode deploy -Prelease -pl ${modules_in_release_version} -am -amd -B -U
170+
echo "release completed for module ${modules_in_release_version}"
150171
fi
172+
173+
# 请在发布 koupleless-adapter-configs 之前,发布 jdk8 和 jdk17 所有的 koupleless-adapters
174+
mvn --batch-mode deploy -Prelease -pl koupleless-adapter-configs -am -amd -B -U
151175
working-directory: adapter/
152176
env:
153177
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}

.github/workflows/koupleless_runtime_snapshot.yml

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,23 +131,42 @@ jobs:
131131
run: |
132132
# 创建一个映射来存储模块名到 JDK 版本的映射
133133
modules=(${{ join(fromJSON(steps.find-maven-modules.outputs.modules-list), ' ') }})
134-
modules_in_right_jdk=""
134+
modules_in_right_jdk_array=()
135135
for module in "${modules[@]}"; do
136136
# 读取模块中的 pom.xml 来确定 JDK 版本
137137
jdk_version=$(grep -m 1 '<java.version>' $module/pom.xml | sed 's/<[^>]*>//g' | xargs)
138138
echo "${module} JDK version: ${jdk_version}"
139-
# 如果是目标 jdk 版本,则执行 release 操作
140-
139+
140+
# 如果是目标 jdk 版本,则记录
141141
if [[ "${jdk_version}" == "1.8" ]]; then
142-
modules_in_right_jdk="${modules_in_right_jdk}${module},"
142+
modules_in_right_jdk_array+=(${module})
143+
fi
144+
done
145+
146+
# 过滤出需要发布的 adapter,过滤条件:adapter 版本与 pom.xml 中的版本一致
147+
adapter_snapshot_version=$(grep '<revision>' pom.xml | sed -e 's/.*<revision>\(.*\)<\/revision>.*/\1/' | tr -d ' ')
148+
modules_in_snapshot_version=""
149+
for module in "${modules_in_right_jdk_array[@]}"; do
150+
# 如果没有 adapter-mapping.yaml,则跳过( koupleless-adapter-configs 没有 adapter-mapping.yaml)
151+
if [[ ! -f $module/conf/adapter-mapping.yaml ]]; then
152+
continue
153+
fi
154+
155+
# 读取模块中的 adapter-mapping.yaml 来确定 adapter 版本
156+
adapter_version=$(grep 'version:' $module/conf/adapter-mapping.yaml | sed -e 's/.*version:\(.*\)/\1/' | tr -d ' ')
157+
echo "${module} adapter version: ${adapter_version}"
158+
159+
# 如果是目标 adapter 版本,则记录
160+
if [[ "${adapter_version}" == "${adapter_snapshot_version}" ]]; then
161+
modules_in_snapshot_version="${modules_in_snapshot_version}${module},"
143162
fi
144163
done
145164
146-
if [[ -n ${modules_in_right_jdk} ]]; then
147-
modules_in_right_jdk="${modules_in_right_jdk:0:-1}"
148-
echo "release for module ${modules_in_right_jdk}"
149-
mvn --batch-mode deploy -Psnapshot -pl ${modules_in_right_jdk} -am -amd -B -U
150-
echo "release completed for module ${modules_in_right_jdk}"
165+
if [[ -n ${modules_in_snapshot_version} ]]; then
166+
modules_in_snapshot_version="${modules_in_snapshot_version:0:-1}"
167+
echo "release for module ${modules_in_snapshot_version}"
168+
mvn --batch-mode deploy -Psnapshot -pl ${modules_in_snapshot_version} -am -amd -B -U
169+
echo "release completed for module ${modules_in_snapshot_version}"
151170
fi
152171
working-directory: adapter/
153172
env:

.github/workflows/koupleless_runtime_snapshot_2.1.x.yml

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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 }}

koupleless-ext/koupleless-build-plugin/koupleless-base-build-plugin/pom.xml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616

1717

1818
<dependencies>
19+
20+
<dependency>
21+
<groupId>org.apache.maven.resolver</groupId>
22+
<artifactId>maven-resolver-util</artifactId>
23+
<version>1.9.18</version>
24+
</dependency>
25+
1926
<dependency>
2027
<groupId>org.apache.maven</groupId>
2128
<artifactId>maven-plugin-api</artifactId>
@@ -60,10 +67,12 @@
6067
<groupId>com.fasterxml.jackson.core</groupId>
6168
<artifactId>jackson-databind</artifactId>
6269
</dependency>
70+
6371
<dependency>
64-
<groupId>com.fasterxml.jackson.dataformat</groupId>
65-
<artifactId>jackson-dataformat-yaml</artifactId>
72+
<groupId>org.yaml</groupId>
73+
<artifactId>snakeyaml</artifactId>
6674
</dependency>
75+
6776
<dependency>
6877
<groupId>org.apache.commons</groupId>
6978
<artifactId>commons-collections4</artifactId>

0 commit comments

Comments
 (0)