@@ -13,7 +13,7 @@ write_env_properties_file() {
1313 {
1414 while IFS= read -r var_name; do
1515 printf ' %s=%s\n' " $var_name " " $( escape_for_java_properties " ${! var_name} " ) "
16- done < <( printf ' %s\n' " ${! GITHUB_@ } " " ${! RUNNER_@ } " " JOB_CHECK_RUN_ID" | sort -u)
16+ done < <( printf ' %s\n' " ${! GITHUB_@ } " " ${! RUNNER_@ } " " JOB_CHECK_RUN_ID" " TESTLENS_GITHUB_TOKEN " | sort -u)
1717 } > " $properties_file "
1818}
1919
@@ -33,21 +33,12 @@ if [[ -n "$GRADLE_USER_HOME" ]] || [[ -f settings.gradle ]] || [[ -f settings.gr
3333 # SC2001: sed is intentionally used here over bash parameter expansion for readability,
3434 # as the bash equivalent `${VAR//\\//}` is visually ambiguous for backslash-to-slash substitution.
3535 GRADLE_USER_HOME=$( echo " $GRADLE_USER_HOME " | sed ' s|\\|/|g' )
36- # When running in a shell script (as opposed to inline action YAML), bash on Windows
37- # normalizes paths to Git Bash style (/c/Users/...). The Groovy init script however
38- # runs on the JVM which requires Windows style paths (C:/Users/...).
39- # shellcheck disable=SC2001
40- GRADLE_USER_HOME_GROOVY=$( echo " $GRADLE_USER_HOME " | sed ' s|^/\([a-zA-Z]\)/|\1:/|' )
41- else
42- GRADLE_USER_HOME_GROOVY=" $GRADLE_USER_HOME "
4336 fi
4437
4538 # write files required by TestLens
4639 write_env_properties_file " $PWD /.gradle/testlens-env.properties"
4740 mkdir -p " $GRADLE_USER_HOME /init.d"
48- echo -n " $TESTLENS_GITHUB_TOKEN " > " $GRADLE_USER_HOME " /init.d/TESTLENS_GITHUB_TOKEN
4941 cat << EOF > "$GRADLE_USER_HOME "/init.d/testlens-init.gradle
50- import org.gradle.api.provider.*;
5142gradle.beforeProject { project ->
5243 // Locate the env properties file relative to the build root as seen at runtime
5344 // so it resolves whether the build runs on the runner or in a container/VM.
@@ -62,25 +53,20 @@ gradle.beforeProject { project ->
6253 TestLensSetup.configure(project, relativeBuildPath, envPropertiesFile)
6354 }
6455}
65- abstract class TestLensGitHubTokenValueSource implements ValueSource<String, ValueSourceParameters.None> {
66- String obtain() { new File('$GRADLE_USER_HOME_GROOVY /init.d/TESTLENS_GITHUB_TOKEN').text }
67- }
6856final class TestLensSetup {
6957 static def configure(Project project, String relativeBuildPath, File envPropertiesFile) {
7058 project.plugins.withId('java') {
7159 project.testing.suites.configureEach {
7260 dependencies { runtimeOnly('app.testlens:junit-platform-instrumentation:$INSTRUMENTATION_VERSION ') }
7361 }
7462 }
75- def providers = project.providers
7663 project.tasks.withType(Test).configureEach { task ->
7764 def muteMarker = new File(task.temporaryDir, 'testlens-mute.marker')
7865 def logsDir = new File(task.temporaryDir, 'testlens-logs')
7966 def workUnitPath = task.path + (relativeBuildPath.isEmpty() ? '' : ' [' + relativeBuildPath + ']')
8067 task.environment('TESTLENS_PROJECT_ID', '$TESTLENS_PROJECT_ID ')
8168 task.environment('TESTLENS_WORK_UNIT_PATH', workUnitPath)
8269 task.environment('TESTLENS_MUTE_MARKER_FILE', muteMarker.absolutePath)
83- task.environment('TESTLENS_GITHUB_TOKEN', providers.of(TestLensGitHubTokenValueSource){}.get())
8470 task.environment('TESTLENS_ENV_PROPERTIES_FILE', envPropertiesFile.absolutePath)
8571 if ('true'.equalsIgnoreCase('$WRITE_LOG_FILES ')) {
8672 task.environment('TESTLENS_LOGS_DIR', logsDir.absolutePath)
@@ -136,7 +122,6 @@ if [[ -f "pom.xml" ]]; then
136122 <configuration>
137123 <environmentVariables>
138124 <TESTLENS_PROJECT_ID>$TESTLENS_PROJECT_ID </TESTLENS_PROJECT_ID>
139- <TESTLENS_GITHUB_TOKEN>$TESTLENS_GITHUB_TOKEN </TESTLENS_GITHUB_TOKEN>
140125 <TESTLENS_WORK_UNIT_PATH>\$ {project.name}</TESTLENS_WORK_UNIT_PATH>
141126 <TESTLENS_ENV_PROPERTIES_FILE>\$ {maven.multiModuleProjectDirectory}/.mvn/testlens-env.properties</TESTLENS_ENV_PROPERTIES_FILE>
142127 <TESTLENS_LOGS_DIR>$( if [[ $WRITE_LOG_FILES = " true" ]]; then echo ' ${project.build.directory}/testlens-logs' ; fi) </TESTLENS_LOGS_DIR>
@@ -149,7 +134,6 @@ if [[ -f "pom.xml" ]]; then
149134 <configuration>
150135 <environmentVariables>
151136 <TESTLENS_PROJECT_ID>$TESTLENS_PROJECT_ID </TESTLENS_PROJECT_ID>
152- <TESTLENS_GITHUB_TOKEN>$TESTLENS_GITHUB_TOKEN </TESTLENS_GITHUB_TOKEN>
153137 <TESTLENS_WORK_UNIT_PATH>\$ {project.name}</TESTLENS_WORK_UNIT_PATH>
154138 <TESTLENS_ENV_PROPERTIES_FILE>\$ {maven.multiModuleProjectDirectory}/.mvn/testlens-env.properties</TESTLENS_ENV_PROPERTIES_FILE>
155139 <TESTLENS_LOGS_DIR>$( if [[ $WRITE_LOG_FILES = " true" ]]; then echo ' ${project.build.directory}/testlens-logs' ; fi) </TESTLENS_LOGS_DIR>
0 commit comments