8686 bazel_version : " "
8787 covers : Maven, multi-module Java, Java 11 runtime
8888
89+ - name : maven-kotlin-json-kotlin-maven
90+ repository : pwall567/json-kotlin-maven
91+ ref : 523f4fd624c3abca4a083c96be596d6f4799b705
92+ directory : .
93+ build_tool : scip
94+ build_command : " "
95+ java : 17
96+ bazel_version : " "
97+ scip_config : maven-kotlin
98+ expected_language : kotlin
99+ covers : Maven Kotlin project, manual SCIP config, Kotlin source, Java 17 runtime
100+
89101 - name : gradle-java21-readiness
90102 repository : ePages-de/spring-boot-readiness
91103 ref : 8a91762e723e5204c69339ebbfc2517a48a8651a
@@ -187,9 +199,25 @@ jobs:
187199 BUILD_TOOL : ${{ matrix.build_tool }}
188200 BUILD_COMMAND : ${{ matrix.build_command }}
189201 BAZEL_VERSION : ${{ matrix.bazel_version }}
202+ SCIP_CONFIG : ${{ matrix.scip_config }}
190203 run : |
191204 cd "$REPO_WORKDIR"
192205
206+ if [[ "$SCIP_CONFIG" == "maven-kotlin" ]]; then
207+ mkdir -p target
208+ mvn --batch-mode -q dependency:build-classpath -Dmdep.outputFile=target/scip-java-classpath.txt
209+ jq -Rn '
210+ input
211+ | split(":")
212+ | map(select(length > 0))
213+ | {
214+ sourceFiles: ["src/main/kotlin"],
215+ classpath: .,
216+ javacOptions: ["-source", "1.8", "-target", "1.8"]
217+ }
218+ ' < target/scip-java-classpath.txt > scip-java.json
219+ fi
220+
193221 index_args=(--build-tool="$BUILD_TOOL")
194222 if [[ "$BUILD_TOOL" == "bazel" ]]; then
195223 index_args+=(--bazel-scip-java-binary="$SCIP_JAVA_CLI" --bazel-overwrite-aspect-file)
@@ -208,6 +236,8 @@ jobs:
208236 fi
209237
210238 - name : Validate SCIP index data
239+ env :
240+ EXPECTED_LANGUAGE : ${{ matrix.expected_language }}
211241 run : |
212242 cd "$REPO_WORKDIR"
213243
@@ -232,17 +262,21 @@ jobs:
232262 source_documents=$((source_documents + 1))
233263 fi
234264 done < <(
235- jq -r '
265+ jq -r --arg expected_language "$EXPECTED_LANGUAGE" '
236266 .documents[]?
237- | select((.language == "java" or .language == "kotlin")
238- and ((.relative_path // .relativePath // "") | test(" \\.(java|kt)$"))
267+ | select((if $expected_language == "" then ( .language == "java" or .language == "kotlin") else .language == $expected_language end )
268+ and ((.relative_path // .relativePath // "") | test(if $expected_language == "kotlin" then " \\.kt$" elif $expected_language == "java" then "\\.java$" else "\\. (java|kt)$" end ))
239269 and ((.occurrences // []) | length > 0)
240270 and ((.symbols // []) | length > 0))
241271 | .relative_path // .relativePath
242272 ' index.print.json
243273 )
244274
245275 if (( source_documents < 1 )); then
246- echo "SCIP index did not contain any checked-out Java/Kotlin source documents with occurrences and symbols" >&2
276+ if [[ -n "$EXPECTED_LANGUAGE" ]]; then
277+ echo "SCIP index did not contain any checked-out $EXPECTED_LANGUAGE source documents with occurrences and symbols" >&2
278+ else
279+ echo "SCIP index did not contain any checked-out Java/Kotlin source documents with occurrences and symbols" >&2
280+ fi
247281 exit 1
248282 fi
0 commit comments