Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(gradle): Adjust memory for gradle tests #18

Open
wants to merge 40 commits into
base: master
Choose a base branch
from

Conversation

jasonmcintosh
Copy link

No description provided.

christosarvanitis and others added 30 commits April 15, 2024 04:26
…query (spinnaker#4698)

* fix(jooq): Refactor query for execution history retrieval

* fix(sql): Selecting only necessary fiels
spinnaker#4697)

* fix(SqlExecutionRepository): fixed bug in sql repository in orca-sql module

* test(sql): demonstrate behavior of retrievePipelinesForApplication

which also verifies the behavior of selectExections when cursor is null

---------

Co-authored-by: David Byron <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…ice (spinnaker#4623)

* refactor(front50): use SpinnakerRetrofitErrorHandler with Front50Service

This PR lays the foundational work for upgrading the retrofit version to 2.x, specifically focusing on refactoring the exception handling for Front50Service.

There are no behaviour changes detected with these code changes and hence no additional tests added to demonstrate the functionalities.
Few existing tests are modified to align it with the new changes.

* refactor(applications): Cleanup RetrofitError in DeleteApplicationTask

There are 3 APIs invoked inside the try block:
1. Keel Service API - keelService.deleteDeliveryConfig(): With the addition of the commit - c417922, the keelService uses SpinnakerRetrofitErrorHandler.
2. Front50 Service APIs - front50Service.get() and front50Service.delete(): With the addition of the commit - a44b5bb, the front50 service uses SpinnakerRetrofitErrorHandler.

and hence with the above mentioned commits, the catch block with RetrofitError becomes irrelevant.

* refactor(igor): Cleanup RetrofitError in GetCommitsTask

There are total of 5 API calls happening inside the try block:
1. Igor Service API - scmService.compareCommits(): With the addition of the commit - d430b75, the igorService uses SpinnakerRetrofitErrorHandler.
2. Clouddriver APIs (OortService) - cloudDriverService.getByAmiId() - This is invoked twice in the block, and oortService.getServerGroupFromCluster(): With the addition of the commit - 84a7106, the oortService uses SpinnakerRetrofitErrorHandler.
3. Front50 API - front50Service.get(): With the addition of the commit - a44b5bb, the front50Service uses SpinnakerRetrofitErrorHandler.

and hence with the above mentioned commits, the catch block with RetrofitError becomes irrelevant.

* refactor(test/clouddriver): Cleanup impractical tests in TrafficGuardSpec

The API call 'front50Service.get(application)' mocked/stubbed to return null value is not realistic, because if the application is not available , then this API would throw a 404 HTTP error and thats already handled in the same class: https://github.com/spinnaker/orca/blob/7e923cc05af0f66b952245722aa69c667f685c5c/orca-clouddriver/src/test/groovy/com/netflix/spinnaker/orca/clouddriver/utils/TrafficGuardSpec.groovy#L464.

and hence this test is cleaned up.

* refactor(test/applications): Cleanup impractical tests in UpsertApplicationTaskSpec

The API call 'front50Service.get(application)' mocked/stubbed to return null value is not realistic, because if the application is not present, then this API would throw a 404 HTTP error.

and hence this test is cleaned up.

* refactor(test): adjust UpsertApplicationTaskSpec tests to use realistic behavior of Front50Service.get

when an application isn't found.  It doesn't return null in this case, it throws an exception.

Restore previously removed "should create an application in global registries" test since
it was providing useful coverage.

---------

Co-authored-by: Pranav-b-7 <[email protected]>
Co-authored-by: David Byron <[email protected]>
)

to make changes in size over time more observable.  This makes it easier to see the impact
of features like the artifact store.

Not setting the size in RedisExecutionRepository because the extra
objectMapper.writeValueAsString is potentially expensive and I'm not sure how many folks
are using redis for this.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: root <root@28ff04fd44ba>
…pinnaker#4707)

so orca only queries for the pipelines it needs from front50 instead of all of them.

spinnaker#4448 introduced this feature on Apr 20, 2023, first
released in version 1.31.0 of Spinnaker.  Enough time has passed to enable this by
default.
…reconditionTask (spinnaker#4708)

* fix(clouddriver): Handle the Retrofit conversionError in ClusterSizePreconditionTask

The oortService already uses SpinnakerRetrofitErrorHandler as part of the commit: 84a7106, so constructing the conversionError with RetrofitError would result in unexpected behaviour.

Wrapping up the conversion error into SpinnakerConversionError will fix this bug.

* test(clouddriver): Test to verify conversion exception in ClusterSizePreconditionTask

The expectation is that the oortService APIs must throw only Spinnaker*Exceptions as it is already using SpinnakerRetrofitErrorHandler.

This test is to ensure that any future modifications on this fix must not result in unexpected behaviour.

---------

Co-authored-by: Pranav-b-7 <[email protected]>
…ConfigTaskTest (spinnaker#4709)

This fix removes the javadoc link to the missing method: handleRetryableFailures(RetrofitError, ImportDeliveryConfigContext), which was cleaned up as part of the commit : 32e6571.

Co-authored-by: Pranav-b-7 <[email protected]>
…3 in DetermineSourceServerGroupTask (spinnaker#4710)

* test(clouddriver): Demonstrate bug in DetermineSourceServerGroupTask

This task/class is suppose to throw a SpinnakerHttpException when a HTTP forbidden 403 error occurs, but instead it returns TaskResult in which the execution status and exception message is wrapped.

This task/class actually makes a couple of oortService API calls: 1 - oortService.getTargetServerGroup() - API to fetch the server group based on the target. 2 - oortService.getServerGroupsFromClusterTyped() - API to fetch server group based on server group name.

From the commit: 84a7106 , OortService uses SpinnakerRetrofitErrorHandler so, the expectation is to throw SpinnakerHttpException.

* fix(clouddriver): Throw SpinnakerHttpException when Http status is 403 in DetermineSourceServerGroupTask

This task earlier returns TaskResult with RUNNING status and exception message in context when Forbidden error 403 has occurred. With the new changes/fix it now throws SpinnakerHttpException in this scenario making it in compliance with the commit: 84a7106

Here is the stack trace that would demonstrate the bug and the fix -

Before Fix:

TaskResult(status=RUNNING, context={lastException=Status: 403, URL: http://localhost:39831/applications/testCluster/clusters/test/testCluster/aws/us-east-1/serverGroups/target/ancestor_asg_dynamic, Message: Forbidden
com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerHttpException: Status: 403, URL: http://localhost:39831/applications/testCluster/clusters/test/testCluster/aws/us-east-1/serverGroups/target/ancestor_asg_dynamic, Message: Forbidden
	at com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerRetrofitErrorHandler.handleError(SpinnakerRetrofitErrorHandler.java:55)
	at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:242)
	at jdk.proxy3/jdk.proxy3.$Proxy21.getTargetServerGroup(Unknown Source)
	at com.netflix.spinnaker.orca.clouddriver.OortService$getTargetServerGroup.call(Unknown Source)
	at com.netflix.spinnaker.orca.clouddriver.pipeline.servergroup.support.TargetServerGroupResolver$_resolveByTarget_closure2.doCall(TargetServerGroupResolver.groovy:76)
	at com.netflix.spinnaker.orca.clouddriver.pipeline.servergroup.support.TargetServerGroupResolver$_resolveByTarget_closure2.doCall(TargetServerGroupResolver.groovy)
, attempt=2, consecutiveNotFound=0}, outputs={})

After Fix:

2024-04-24 16:48:25.900 ERROR   --- [    Test worker] .n.s.o.c.p.s.s.TargetServerGroupResolver : [] Unable to locate ancestor_asg_dynamic in test/us-east-1/testCluster
com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerHttpException: Status: 403, URL: http://localhost:32773/applications/testCluster/clusters/test/testCluster/aws/us-east-1/serverGroups/target/ancestor_asg_dynamic, Message: Forbidden
	at com.netflix.spinnaker.kork.retrofit.exceptions.SpinnakerRetrofitErrorHandler.handleError(SpinnakerRetrofitErrorHandler.java:55)
	at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:242)
	at jdk.proxy3/jdk.proxy3.$Proxy21.getTargetServerGroup(Unknown Source)
	at com.netflix.spinnaker.orca.clouddriver.OortService$getTargetServerGroup.call(Unknown Source)
	at com.netflix.spinnaker.orca.clouddriver.pipeline.servergroup.support.TargetServerGroupResolver$_resolveByTarget_closure2.doCall(TargetServerGroupResolver.groovy:76)
	at com.netflix.spinnaker.orca.clouddriver.pipeline.servergroup.support.TargetServerGroupResolver$_resolveByTarget_closure2.doCall(TargetServerGroupResolver.groovy)

---------

Co-authored-by: Pranav-b-7 <[email protected]>
…mpletedBakeTaskSpec (spinnaker#4711)

With the introduction of the commit: e63a661 , the expected behaviour of all BakeryService APIs is to throw Spinnaker*Exception when any http error has occurred.

- CompletedBakeTask is invoking an API : lookupBake(region, bakeid) -https://github.com/spinnaker/orca/blob/d2f50242637207491ba9fdcc40eaf02c3255c447/orca-bakery/src/main/groovy/com/netflix/spinnaker/orca/bakery/tasks/CompletedBakeTask.groovy#L43. This API error response is mocked up with RetrofitError in the test : https://github.com/spinnaker/orca/blob/d2f50242637207491ba9fdcc40eaf02c3255c447/orca-bakery/src/test/groovy/com/netflix/spinnaker/orca/bakery/tasks/CompletedBakeTaskSpec.groovy#L84

- This test case seems to be invalid/irrelevant because it has to throw SpinnakerHttpException here.

This commit aims at correcting this unexpected behaviour.

Co-authored-by: Pranav-b-7 <[email protected]>
Co-authored-by: root <root@8b70676aa6c3>
Co-authored-by: root <root@cfe88d4b31d9>
Co-authored-by: root <root@8b2740453d3d>
…er#4712)

As part of the foundational work paving the way towards migrating to retrofit 2.x, this commit aims at cleaning up unused occurrences of RetrofitError throughout ORCA service.

Co-authored-by: Pranav-b-7 <[email protected]>
…n WaitForCloudFormationCompletionTaskSpec (spinnaker#4717)

With the introduction of the commit: 84a7106 , the expected behaviour of all OortService APIs is to throw SpinnakerHttpException when any http error has occurred.

Here in this test the response of the API : https://github.com/spinnaker/orca/blob/a1b32d7398eb9b1ff610d7f3afd980b51f6cf7b1/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/OortService.java#L182 is mocked up with RetrofitError which makes the test irrelvant.

Wrapping the RetrofitError in SpinnakerHttpException to make it in compliance with the retrofit configuration.

Co-authored-by: Pranav-b-7 <[email protected]>
* refactor(retrofit): Dismantle RetrofitExceptionHandler

As the final step towards cleaning up RetrofitError and to incorporate the use of retrofit 2.x, this commit aims at dismantling RetrofitExceptionHandler.

Class: https://github.com/spinnaker/orca/blob/a1b32d7398eb9b1ff610d7f3afd980b51f6cf7b1/orca-retrofit/src/main/java/com/netflix/spinnaker/orca/retrofit/exceptions/SpinnakerServerExceptionHandler.java has already taken place as the replacement for RetrofitExceptionHandler as part of migration process. This class is used in many places across ORCA to handle the upcoming changes of retrofit 2.x.

Since there are no relevant usage found for RetrofitExceptionHandler, its dismantled.

* chore(retrofit): clean up comments related to RetrofitExceptionHandler

since it no longer exists.

---------

Co-authored-by: Pranav-b-7 <[email protected]>
Co-authored-by: David Byron <[email protected]>
…ocker image (spinnaker#4721)

* feat(docker): add HEALTHCHECK

to facilitate testing container startup

* feat(build): add orca-integration module to exercise the just-built docker image

* feat(gha): run integration test in pr builds

multi-arch with --load doesn't work, so add a separate step using the local platform to
make an image available for testing.

see docker/buildx#59

* feat(gha): run integration test in branch builds
…roperties (spinnaker#4722)

* fix(jenkins): Wrong Job name encoding in query params for Artifacts/Properties

* fix(jenkins): Wrong Job name encoding in query params - added Wiremock tests

* fix(jenkins): Wrong Job name encoding in query params - fix Wiremock tests imports
Co-authored-by: root <root@759306dd2744>
Co-authored-by: root <root@2fd9414555e9>
Co-authored-by: root <root@4f16d982b5e9>
…pinnaker#4727)

* fix(tests): Add new integration test for postgres migration - PostgresMigrationContainerTest

* fix(liquibase): Fix validChecksum errors occurred due to liquibase upgrade
…4738)

* chore(build): enable cross compilation plugin for Java 17

* chore(build): upgrade ErrorProne to support JDK 17

* chore(build): run spotless

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* chore(dependencies): Autobump korkVersion

* refactor(mysql): update mysql connector coordinate during upgrade to spring boot 2.7.x

In spring boot 2.7.8 onwards mysql connector coordinate `mysql:mysql-connector-java` has been removed and only `com.mysql:mysql-connector-j` coordinate exist.

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.7-Release-Notes#mysql-jdbc-driver

So, updating the mysql connector coordinate as `com.mysql:mysql-connector-j` with spring boot upgrade to 2.7.18.

https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.18/spring-boot-dependencies-2.7.18.pom

* refactor(clouddriver): replace getType() with StageDefinitionBuilder.getType() during upgrade to spring boot 2.7.x

While upgrading spring boot 2.7.18, encounter below error during test compilation of orca-clouddriver module:
```
Caused by: groovy.lang.MissingMethodException: No signature of method: static com.netflix.spinnaker.orca.clouddriver.pipeline.servergroup.PinServerGroupStage.getType() is applicable for argument types: (Class) values: [class com.netflix.spinnaker.orca.clouddriver.pipeline.servergroup.PinServerGroupStage]
Possible solutions: asType(java.lang.Class), getName(), grep(), getAt(java.lang.String)
        at app//groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1570)
        at app//groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1556)
        at app//org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.callStatic(StaticMetaClassSite.java:62)
        at app//org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
        at app//org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)
        at app//org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:231)
        at app//com.netflix.spinnaker.orca.clouddriver.pipeline.servergroup.PinServerGroupStage.<clinit>(PinServerGroupStage.groovy:41)
        ... 227 more
```
Spring boot 2.7.18 brings groovy 3.0.19 as transitive dependency. The root cause of the issue is a breaking change introduced from groovy 3.0.18 onwards, that allows a Java class to inherit static methods from its interface. To fix this issue replacing getType() with StageDefinitionBuilder.getType().

http://groovy-lang.org/changelogs/changelog-3.0.18.html
https://issues.apache.org/jira/browse/GROOVY-8164

Before:
```
$ ./gradlew orca-clouddriver:dI --dependency org.codehaus.groovy --configuration testCompileClasspath

> Task :orca-clouddriver:dependencyInsight
org.codehaus.groovy:groovy:3.0.17
  Variant compile:
    | Attribute Name                     | Provided | Requested         |
    |------------------------------------|----------|-------------------|
    | org.gradle.status                  | release  |                   |
    | org.gradle.category                | library  | library           |
    | org.gradle.libraryelements         | jar      | classes+resources |
    | org.gradle.usage                   | java-api | java-api          |
    | org.gradle.dependency.bundling     |          | external          |
    | org.gradle.jvm.environment         |          | standard-jvm      |
    | org.gradle.jvm.version             |          | 11                |
    | org.jetbrains.kotlin.platform.type |          | jvm               |
   Selection reasons:
      - By constraint
      - Forced

org.codehaus.groovy:groovy:3.0.17
+--- io.spinnaker.kork:kork-bom:7.227.0
|    \--- testCompileClasspath
\--- io.spinnaker.kork:kork-web:7.227.0
     +--- testCompileClasspath (requested io.spinnaker.kork:kork-web)
     +--- io.spinnaker.kork:kork-bom:7.227.0 (*)
     +--- project :orca-retrofit (requested io.spinnaker.kork:kork-web)
     |    \--- testCompileClasspath
     \--- project :orca-bakery (requested io.spinnaker.kork:kork-web)
          \--- testCompileClasspath

org.codehaus.groovy:groovy -> 3.0.17
+--- testCompileClasspath
+--- project :orca-front50
|    \--- testCompileClasspath
\--- project :orca-retrofit
     \--- testCompileClasspath

org.codehaus.groovy:groovy:3.0.8 -> 3.0.17
\--- org.spockframework:spock-core:2.0-groovy-3.0
     +--- testCompileClasspath (requested org.spockframework:spock-core)
     \--- io.spinnaker.kork:kork-bom:7.227.0
          \--- testCompileClasspath
```

After:
```
$ ./gradlew orca-clouddriver:dI --dependency org.codehaus.groovy --configuration testCompileClasspath

> Task :orca-clouddriver:dependencyInsight
org.codehaus.groovy:groovy:3.0.19
  Variant compile:
    | Attribute Name                     | Provided | Requested         |
    |------------------------------------|----------|-------------------|
    | org.gradle.status                  | release  |                   |
    | org.gradle.category                | library  | library           |
    | org.gradle.libraryelements         | jar      | classes+resources |
    | org.gradle.usage                   | java-api | java-api          |
    | org.gradle.dependency.bundling     |          | external          |
    | org.gradle.jvm.environment         |          | standard-jvm      |
    | org.gradle.jvm.version             |          | 11                |
    | org.jetbrains.kotlin.platform.type |          | jvm               |
   Selection reasons:
      - By constraint
      - Forced

org.codehaus.groovy:groovy:3.0.19
+--- io.spinnaker.kork:kork-bom:sb2718-SNAPSHOT
|    \--- testCompileClasspath
\--- io.spinnaker.kork:kork-web:sb2718-SNAPSHOT
     +--- testCompileClasspath (requested io.spinnaker.kork:kork-web)
     +--- io.spinnaker.kork:kork-bom:sb2718-SNAPSHOT (*)
     +--- project :orca-retrofit (requested io.spinnaker.kork:kork-web)
     |    \--- testCompileClasspath
     \--- project :orca-bakery (requested io.spinnaker.kork:kork-web)
          \--- testCompileClasspath

org.codehaus.groovy:groovy -> 3.0.19
+--- testCompileClasspath
+--- project :orca-front50
|    \--- testCompileClasspath
\--- project :orca-retrofit
     \--- testCompileClasspath

org.codehaus.groovy:groovy:3.0.8 -> 3.0.19
\--- org.spockframework:spock-core:2.0-groovy-3.0
     +--- testCompileClasspath (requested org.spockframework:spock-core)
     \--- io.spinnaker.kork:kork-bom:sb2718-SNAPSHOT
          \--- testCompileClasspath
```

---------

Co-authored-by: root <root@51dce6428a99>
Co-authored-by: j-sandy <[email protected]>
Co-authored-by: root <root@66f7060f0a52>
jasonmcintosh and others added 10 commits June 12, 2024 14:06
* fix(dokka): use version 1.9.20 of org.jetbrains.dokka

to fix release builds (e.g. https://github.com/spinnaker/orca/actions/runs/9485164370/job/26140574935) that fail with:

2024-06-12T16:46:31.8095689Z java.lang.UnsupportedOperationException: PermittedSubclasses requires ASM9
2024-06-12T16:46:31.8098205Z 	at org.jetbrains.org.objectweb.asm.ClassVisitor.visitPermittedSubclass(ClassVisitor.java:266)
2024-06-12T16:46:31.8100476Z 	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:684)
2024-06-12T16:46:31.8103055Z 	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:402)
2024-06-12T16:46:31.8105572Z 	at org.jetbrains.kotlin.load.kotlin.FileBasedKotlinClass.create(FileBasedKotlinClass.java:96)
2024-06-12T16:46:31.8108484Z 	at org.jetbrains.kotlin.load.kotlin.VirtualFileKotlinClass$Factory$create$1.invoke(VirtualFileKotlinClass.kt:67)
2024-06-12T16:46:31.8111511Z 	at org.jetbrains.kotlin.load.kotlin.VirtualFileKotlinClass$Factory$create$1.invoke(VirtualFileKotlinClass.kt:61)
2024-06-12T16:46:31.8114493Z 	at org.jetbrains.kotlin.util.PerformanceCounter.time(PerformanceCounter.kt:101)
2024-06-12T16:46:31.8117409Z 	at org.jetbrains.kotlin.load.kotlin.VirtualFileKotlinClass$Factory.create(VirtualFileKotlinClass.kt:61)
2024-06-12T16:46:31.8120743Z 	at org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache$Companion$getKotlinBinaryClassOrClassFileContent$aClass$1.compute(KotlinBinaryClassCache.kt:75)
2024-06-12T16:46:31.8122732Z
2024-06-12T16:46:31.8124543Z 	at org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache$Companion$getKotlinBinaryClassOrClassFileContent$aClass$1.compute(KotlinBinaryClassCache.kt:73)
2024-06-12T16:46:31.8127356Z 	at com.intellij.mock.MockApplication.runReadAction(MockApplication.java:178)
2024-06-12T16:46:31.8130888Z 	at org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache$Companion.getKotlinBinaryClassOrClassFileContent(KotlinBinaryClassCache.kt:73)
2024-06-12T16:46:31.8134657Z 	at org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache$Companion.getKotlinBinaryClassOrClassFileContent$default(KotlinBinaryClassCache.kt:59)
2024-06-12T16:46:31.8138203Z 	at org.jetbrains.kotlin.load.kotlin.VirtualFileFinder.findKotlinClassOrContent(VirtualFileFinder.kt:34)
2024-06-12T16:46:31.8141821Z 	at org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageScope$classes$1.invoke(LazyJavaPackageScope.kt:62)
2024-06-12T16:46:31.8145173Z 	at org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageScope$classes$1.invoke(LazyJavaPackageScope.kt:54)
2024-06-12T16:46:31.8148554Z 	at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:578)
2024-06-12T16:46:31.8152308Z 	at org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageScope.findClassifier(LazyJavaPackageScope.kt:142)
2024-06-12T16:46:31.8156049Z 	at org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageScope.getContributedClassifier(LazyJavaPackageScope.kt:132)
2024-06-12T16:46:31.8159649Z 	at org.jetbrains.kotlin.load.java.lazy.descriptors.JvmPackageScope.getContributedClassifier(JvmPackageScope.kt:55)
2024-06-12T16:46:31.8162984Z 	at org.jetbrains.kotlin.resolve.scopes.ChainedMemberScope.getContributedClassifier(ChainedMemberScope.kt:35)
2024-06-12T16:46:31.8166062Z 	at org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter.getContributedClassifier(AbstractScopeAdapter.kt:44)
2024-06-12T16:46:31.8169027Z 	at org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils.findClassByRelativePath(ResolveSessionUtils.java:88)
2024-06-12T16:46:31.8172200Z 	at org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils.getClassOrObjectDescriptorsByFqName(ResolveSessionUtils.java:65)
2024-06-12T16:46:31.8175477Z 	at org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils.getClassDescriptorsByFqName(ResolveSessionUtils.java:47)
2024-06-12T16:46:31.8178782Z 	at org.jetbrains.kotlin.cli.jvm.compiler.CliKotlinAsJavaSupport.findClassOrObjectDeclarations(CliKotlinAsJavaSupport.kt:119)
2024-06-12T16:46:31.8214083Z 	at org.jetbrains.kotlin.asJava.finder.JavaElementFinder.findClassesAndObjects(JavaElementFinder.kt:71)
2024-06-12T16:46:31.8216746Z 	at org.jetbrains.kotlin.asJava.finder.JavaElementFinder.findClasses(JavaElementFinder.kt:57)
2024-06-12T16:46:31.8219261Z 	at org.jetbrains.kotlin.asJava.finder.JavaElementFinder.findClass(JavaElementFinder.kt:46)
2024-06-12T16:46:31.8221723Z 	at com.intellij.psi.impl.JavaPsiFacadeImpl.doFindClass(JavaPsiFacadeImpl.java:96)
2024-06-12T16:46:31.8314696Z 	at com.intellij.psi.impl.JavaPsiFacadeImpl.findClass(JavaPsiFacadeImpl.java:73)
2024-06-12T16:46:31.8318034Z 	at com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl.resolveElement(ClsJavaCodeReferenceElementImpl.java:248)
2024-06-12T16:46:31.8321556Z 	at com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl.advancedResolveImpl(ClsJavaCodeReferenceElementImpl.java:125)
2024-06-12T16:46:31.8324896Z 	at com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl.access$000(ClsJavaCodeReferenceElementImpl.java:42)
2024-06-12T16:46:31.8328158Z 	at com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl$Resolver.resolve(ClsJavaCodeReferenceElementImpl.java:118)
2024-06-12T16:46:31.8356145Z 	at com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl$Resolver.resolve(ClsJavaCodeReferenceElementImpl.java:113)
2024-06-12T16:46:31.8359080Z 	at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$2(ResolveCache.java:185)
2024-06-12T16:46:31.8361229Z 	at com.intellij.openapi.util.Computable.get(Computable.java:17)
2024-06-12T16:46:31.8363491Z 	at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$3(ResolveCache.java:227)
2024-06-12T16:46:31.8366170Z 	at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
2024-06-12T16:46:31.8369081Z 	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
2024-06-12T16:46:31.8371656Z 	at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:204)
2024-06-12T16:46:31.8374237Z 	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:185)
2024-06-12T16:46:31.8377287Z 	at com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl.multiResolve(ClsJavaCodeReferenceElementImpl.java:208)
2024-06-12T16:46:31.8380609Z 	at com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl.advancedResolve(ClsJavaCodeReferenceElementImpl.java:196)
2024-06-12T16:46:31.8383734Z 	at com.intellij.psi.impl.source.PsiClassReferenceType.resolveGenerics(PsiClassReferenceType.java:177)
2024-06-12T16:46:31.8386507Z 	at com.intellij.psi.impl.source.PsiClassReferenceType.resolve(PsiClassReferenceType.java:121)
2024-06-12T16:46:31.8390039Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser$getBound$3.invoke(DefaultPsiToDocumentableTranslator.kt:435)
2024-06-12T16:46:31.8535652Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser.getBound(DefaultPsiToDocumentableTranslator.kt:473)
2024-06-12T16:46:31.8539830Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser.getVariance(DefaultPsiToDocumentableTranslator.kt:482)
2024-06-12T16:46:31.8543866Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser.getProjection(DefaultPsiToDocumentableTranslator.kt:489)
2024-06-12T16:46:31.8548025Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser.access$getProjection(DefaultPsiToDocumentableTranslator.kt:107)
2024-06-12T16:46:31.8552258Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser$getBound$3.invoke(DefaultPsiToDocumentableTranslator.kt:454)
2024-06-12T16:46:31.8556520Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser.getBound(DefaultPsiToDocumentableTranslator.kt:473)
2024-06-12T16:46:31.8560440Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser.parseFunction(DefaultPsiToDocumentableTranslator.kt:389)
2024-06-12T16:46:31.8564567Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser.parseFunction$default(DefaultPsiToDocumentableTranslator.kt:357)
2024-06-12T16:46:31.8568940Z 	at org.jetbrains.dokka.base.translators.psi.DefaultPsiToDocumentableTranslator$DokkaPsiParser$parseClasslike$2$invokeSuspend$$inlined$with$lambda$3$2$1.invokeSuspend(parallelCollectionOperations.kt:19)
2024-06-12T16:46:31.8572857Z 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-06-12T16:46:31.8575048Z 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2024-06-12T16:46:31.8577263Z 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
2024-06-12T16:46:31.8579537Z 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:738)
2024-06-12T16:46:31.8581982Z 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
2024-06-12T16:46:31.8584396Z 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

I can reproduce this locally with java 17 and:

$ ./gradlew -PenableCrossCompilerPlugin=true clean orca-api:dokkaJavadoc

with the previous version (1.4.32).  It works with 1.9.20.

* chore(dokka): specify jdk 17 since that's what we're using
* Revert "fix(dokka): use version 1.9.20 of org.jetbrains.dokka (spinnaker#4747)"

This reverts commit af347bb.

since https://github.com/spinnaker/orca/actions/runs/9490289564/job/26153470376 failed with:

Caused by: java.lang.NoSuchMethodError: 'org.jetbrains.dokka.model.DInterface org.jetbrains.dokka.model.DInterface.copy$default(org.jetbrains.dokka.model.DInterface, org.jetbrains.dokka.links.DRI, java.lang.String, java.util.Map, org.jetbrains.dokka.DokkaConfiguration$DokkaSourceSet, java.util.Map, java.util.List, java.util.List, java.util.List, java.util.Map, org.jetbrains.dokka.model.DObject, java.util.List, java.util.Map, java.util.Set, boolean, org.jetbrains.dokka.model.properties.PropertyContainer, int, java.lang.Object)'

Kotlin/dokka#2452 has some info, but I haven’t been able to make it work.

* Revert "chore(build): enable cross compilation plugin for Java 17 (spinnaker#4738)"

This reverts commit f936de5.

since $ ./gradlew -PenableCrossCompilerPlugin=true clean orca-api:dokkaJavadoc fails
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants