Skip to content

compute-version overrides the JDK #87

@rwinch

Description

@rwinch

I don't think that the compute-version action should override the JDK because it can cause unexpected behavior.

In Spring Security this broke it's build due to a different (unexpected) JDK being used by Spring Security to run the Gradle build:

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':spring-security-core:compileJava'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
    at org.gradle.api.internal.tasks.execution.ProblemsTaskPathTrackingTaskExecuter.execute(ProblemsTaskPathTrackingTaskExecuter.java:41)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler output below.
warning: unknown enum constant When.MAYBE
  reason: class file for javax.annotation.meta.When not found
/home/runner/work/spring-security/spring-security/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationReactiveMethodInterceptor.java:139: error: [NullAway] incompatible types: @Nullable String @Nullable [] cannot be converted to String []
            String[] parameterNames = this.parameterNameDiscoverer.getParameterNames(specificMethod);
                     ^
    (see http://t.uber.com/nullaway )
/home/runner/work/spring-security/spring-security/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationReactiveMethodInterceptor.java:141: error: [NullAway] incompatible types: @Nullable Object [] cannot be converted to Object []
                Object[] arguments = mi.getArguments();
                         ^
    (see http://t.uber.com/nullaway )
/home/runner/work/spring-security/spring-security/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationReactiveMethodInterceptor.java:153: error: [NullAway] incompatible types: @Nullable Object [] cannot be converted to Object []
            Object[] arguments = mi.getArguments();
                     ^
    (see http://t.uber.com/nullaway )
/home/runner/work/spring-security/spring-security/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationMethodInterceptor.java:150: error: [NullAway] incompatible types: @Nullable Object [] cannot be converted to Object []
            Object[] arguments = methodInvocation.getArguments();
                     ^
    (see http://t.uber.com/nullaway )
/home/runner/work/spring-security/spring-security/core/src/main/java/org/springframework/security/provisioning/JdbcUserDetailsManager.java:359: error: [NullAway] incompatible types: List<@Nullable String> cannot be converted to List<String>
        return requireJdbcTemplate().queryForList(this.findAllGroupsSql, String.class);
                                                 ^
    (see http://t.uber.com/nullaway )
/home/runner/work/spring-security/spring-security/core/src/main/java/org/springframework/security/provisioning/JdbcUserDetailsManager.java:365: error: [NullAway] incompatible types: List<@Nullable String> cannot be converted to List<String>
        return requireJdbcTemplate().queryForList(this.findUsersInGroupSql, String.class, groupName);
                                                 ^
    (see http://t.uber.com/nullaway )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions