Skip to content

Commit a11b5b9

Browse files
authored
[GenAI] Add support for com.oracle.oci.sdk:oci-java-sdk-common:3.63.1 using gpt-5.6-terra (#9034)
* Scaffold com.oracle.oci.sdk:oci-java-sdk-common:3.63.1 * Dynamic-access coverage for com.oracle.bmc.helper.EnvironmentVariablesHelper (4/8) * Dynamic-access coverage for com.oracle.bmc.http.internal.HeaderUtils (6/8) * Dynamic-access coverage for com.oracle.bmc.ClientRuntime (7/8) * Dynamic-access coverage for com.oracle.bmc.http.internal.BaseClient (8/8) * Native metadata for com.oracle.bmc.http.internal.BaseClient__native_batch_4 * Update generated library support for com.oracle.oci.sdk:oci-java-sdk-common:3.63.1 * Add support for com.oracle.oci.sdk:oci-java-sdk-common:3.63.1
1 parent bc6b359 commit a11b5b9

14 files changed

Lines changed: 864 additions & 0 deletions

File tree

metadata/com.oracle.oci.sdk/oci-java-sdk-common/3.63.1/reachability-metadata.json

Lines changed: 424 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[
2+
{
3+
"latest" : true,
4+
"metadata-version" : "3.63.1",
5+
"source-code-url" : "https://repo.maven.apache.org/maven2/com/oracle/oci/sdk/oci-java-sdk-common/$version$/oci-java-sdk-common-$version$-sources.jar",
6+
"repository-url" : "https://github.com/oracle/oci-java-sdk",
7+
"test-code-url" : "https://github.com/oracle/oci-java-sdk/tree/v$version$/bmc-common/src/test",
8+
"documentation-url" : "https://repo.maven.apache.org/maven2/com/oracle/oci/sdk/oci-java-sdk-common/$version$/oci-java-sdk-common-$version$-javadoc.jar",
9+
"description" : "This library provides shared runtime components for the Oracle Cloud Infrastructure Java SDK, including authentication, request signing, serialization, retry, pagination, region, and client-configuration support. It underpins service-specific OCI SDK clients with common models, HTTP abstractions, utilities, and error handling.",
10+
"tested-versions" : [
11+
"3.63.1"
12+
],
13+
"allowed-packages" : [
14+
"com.oracle.bmc"
15+
]
16+
}
17+
]
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
{
2+
"add_new_library_support:2026-07-11": {
3+
"timestamp": "2026-07-11T18:05:47.994691Z",
4+
"library": "com.oracle.oci.sdk:oci-java-sdk-common:3.63.1",
5+
"starting_commit": "7bc07476042bff6ce35598cbd600eadf754b27f6",
6+
"ending_commit": "bcc0f403c59374cccd4233ecba1a1e1435668cd7",
7+
"strategy_name": "dynamic_access_main_sources_pi_gpt-5.6-terra",
8+
"agent": "pi",
9+
"model": "gpt-5.6-terra",
10+
"status": "success",
11+
"stats": {
12+
"version": "3.63.1",
13+
"dynamicAccess": {
14+
"breakdown": {
15+
"reflection": {
16+
"coverageRatio": 1.0,
17+
"coveredCalls": 6,
18+
"totalCalls": 6
19+
},
20+
"resources": {
21+
"coverageRatio": 1.0,
22+
"coveredCalls": 2,
23+
"totalCalls": 2
24+
}
25+
},
26+
"coverageRatio": 1.0,
27+
"coveredCalls": 8,
28+
"totalCalls": 8
29+
},
30+
"libraryCoverage": {
31+
"instruction": {
32+
"covered": 2269,
33+
"missed": 22869,
34+
"ratio": 0.090262,
35+
"total": 25138
36+
},
37+
"line": {
38+
"covered": 599,
39+
"missed": 5883,
40+
"ratio": 0.09241,
41+
"total": 6482
42+
},
43+
"method": {
44+
"covered": 120,
45+
"missed": 1318,
46+
"ratio": 0.083449,
47+
"total": 1438
48+
}
49+
}
50+
},
51+
"library_preparation_preflight": {
52+
"status": "degraded",
53+
"action": "no_action",
54+
"issue_number": 7758,
55+
"issue_label": "library-new-request",
56+
"library": "com.oracle.oci.sdk:oci-java-sdk-common:3.63.1",
57+
"summary": "Library preparation preflight did not produce usable advisory setup.",
58+
"deterministic_setup": [],
59+
"agent_guidance": "",
60+
"risks": [],
61+
"applied_setup": [],
62+
"input_evidence": [
63+
{
64+
"name": "issue",
65+
"summary": "#7758 Support for com.oracle.oci.sdk:oci-java-sdk-common:3.63.1; label=library-new-request; body_chars=52"
66+
},
67+
{
68+
"name": "existing_tests",
69+
"summary": "0 existing test file path(s) included"
70+
}
71+
],
72+
"failure_reason": "ValueError: preflight response requested unsafe preparation behavior",
73+
"model": "gpt-5.6-terra",
74+
"prompt_path": "library-preflight-prompt.txt",
75+
"raw_response_path": "library-preflight-response.txt",
76+
"session_log_path": "/home/mihailo/git/graalvm-reachability-metadata-copy/forge/logs/com.oracle.oci.sdk:oci-java-sdk-common:3.63.1/library-preparation-preflight/pi-generation-2026-07-11T17-28-58-839219Z.log"
77+
},
78+
"metrics": {
79+
"input_tokens_used": 127770,
80+
"cached_input_tokens_used": 951296,
81+
"output_tokens_used": 13214,
82+
"iterations": 4,
83+
"cost_usd": 0.7554,
84+
"generated_loc": 106,
85+
"tested_library_loc": 599,
86+
"metadata_entries": 70,
87+
"test_only_metadata_entries": 12,
88+
"code_coverage_percent": 9.24
89+
},
90+
"artifacts": {
91+
"metadata_file": "metadata/com.oracle.oci.sdk/oci-java-sdk-common/3.63.1/reachability-metadata.json"
92+
}
93+
}
94+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"versions" : [ {
3+
"version" : "3.63.1",
4+
"dynamicAccess" : {
5+
"breakdown" : {
6+
"reflection" : {
7+
"coverageRatio" : 1.0,
8+
"coveredCalls" : 6,
9+
"totalCalls" : 6
10+
},
11+
"resources" : {
12+
"coverageRatio" : 1.0,
13+
"coveredCalls" : 2,
14+
"totalCalls" : 2
15+
}
16+
},
17+
"coverageRatio" : 1.0,
18+
"coveredCalls" : 8,
19+
"totalCalls" : 8
20+
},
21+
"libraryCoverage" : {
22+
"instruction" : {
23+
"covered" : 2269,
24+
"missed" : 22869,
25+
"ratio" : 0.090262,
26+
"total" : 25138
27+
},
28+
"line" : {
29+
"covered" : 599,
30+
"missed" : 5883,
31+
"ratio" : 0.09241,
32+
"total" : 6482
33+
},
34+
"method" : {
35+
"covered" : 120,
36+
"missed" : 1318,
37+
"ratio" : 0.083449,
38+
"total" : 1438
39+
}
40+
}
41+
} ]
42+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
gradlew.bat
2+
gradlew
3+
gradle/
4+
build/
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
* Copyright and related rights waived via CC0
3+
*
4+
* You should have received a copy of the CC0 legalcode along with this
5+
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
6+
*/
7+
plugins {
8+
id "org.graalvm.internal.tck"
9+
}
10+
11+
String libraryVersion = tck.testedLibraryVersion.get()
12+
13+
dependencies {
14+
testImplementation "com.oracle.oci.sdk:oci-java-sdk-common:$libraryVersion"
15+
testImplementation "com.oracle.oci.sdk:oci-java-sdk-common-httpclient-jersey3:$libraryVersion"
16+
testImplementation "com.oracle.oci.sdk:oci-java-sdk-identity:$libraryVersion"
17+
testImplementation 'org.assertj:assertj-core:3.22.0'
18+
}
19+
20+
tasks.withType(Test).configureEach {
21+
jvmArgs '--add-opens=java.base/java.lang=ALL-UNNAMED',
22+
'--add-opens=java.base/java.util=ALL-UNNAMED'
23+
}
24+
25+
graalvmNative {
26+
agent {
27+
defaultMode = "conditional"
28+
modes {
29+
conditional {
30+
userCodeFilterPath = "user-code-filter.json"
31+
}
32+
}
33+
}
34+
binaries {
35+
all {
36+
buildArgs.add('--add-opens=java.base/java.lang=ALL-UNNAMED')
37+
buildArgs.add('--add-opens=java.base/java.util=ALL-UNNAMED')
38+
}
39+
}
40+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Optional explicit tested library coordinates (format: group:artifact:version).
2+
# If omitted, fallback resolution in org.graalvm.internal.tck.gradle still uses
3+
# environment variable GVM_TCK_LC and then this property.
4+
library.coordinates = com.oracle.oci.sdk:oci-java-sdk-common:3.63.1
5+
library.version = 3.63.1
6+
metadata.dir = com.oracle.oci.sdk/oci-java-sdk-common/3.63.1/
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright and related rights waived via CC0
3+
*
4+
* You should have received a copy of the CC0 legalcode along with this
5+
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
6+
*/
7+
pluginManagement {
8+
def tckPath = Objects.requireNonNullElse(
9+
System.getenv("GVM_TCK_TCKDIR"),
10+
"../../../../tck-build-logic"
11+
)
12+
includeBuild(tckPath)
13+
repositories { mavenLocal(); gradlePluginPortal() }
14+
}
15+
16+
plugins {
17+
id "org.graalvm.internal.tck-settings" version "1.0.0-SNAPSHOT"
18+
}
19+
20+
rootProject.name = 'com.oracle.oci.sdk.oci-java-sdk-common_tests'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
* Copyright and related rights waived via CC0
3+
*
4+
* You should have received a copy of the CC0 legalcode along with this
5+
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
6+
*/
7+
package com_oracle_oci_sdk.oci_java_sdk_common;
8+
9+
import com.oracle.bmc.Service;
10+
import com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider;
11+
import com.oracle.bmc.http.signing.RequestSigner;
12+
import com.oracle.bmc.http.signing.RequestSignerFactory;
13+
import com.oracle.bmc.identity.IdentityClient;
14+
import java.net.URI;
15+
import java.util.Collections;
16+
import java.util.List;
17+
import java.util.Map;
18+
import org.junit.jupiter.api.Test;
19+
20+
import static org.assertj.core.api.Assertions.assertThat;
21+
22+
public class BaseClientTest {
23+
@Test
24+
void loadsGeneratedClientCompatibilityProperties() {
25+
try (IdentityClient client =
26+
IdentityClient.builder()
27+
.requestSignerFactory(new NoOpRequestSignerFactory())
28+
.build(new TestAuthenticationDetailsProvider())) {
29+
assertThat(client.getClientCommonLibraryVersion()).isNotBlank();
30+
}
31+
}
32+
33+
private static final class TestAuthenticationDetailsProvider
34+
implements AbstractAuthenticationDetailsProvider {}
35+
36+
private static final class NoOpRequestSignerFactory implements RequestSignerFactory {
37+
@Override
38+
public RequestSigner createRequestSigner(
39+
Service service, AbstractAuthenticationDetailsProvider authenticationDetailsProvider) {
40+
return new NoOpRequestSigner();
41+
}
42+
}
43+
44+
private static final class NoOpRequestSigner implements RequestSigner {
45+
@Override
46+
public Map<String, String> signRequest(
47+
URI uri, String httpMethod, Map<String, List<String>> headers, Object body) {
48+
return Collections.emptyMap();
49+
}
50+
}
51+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright and related rights waived via CC0
3+
*
4+
* You should have received a copy of the CC0 legalcode along with this
5+
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
6+
*/
7+
package com_oracle_oci_sdk.oci_java_sdk_common;
8+
9+
import com.oracle.bmc.ClientRuntime;
10+
import org.junit.jupiter.api.Test;
11+
12+
import static org.assertj.core.api.Assertions.assertThat;
13+
14+
public class ClientRuntimeTest {
15+
@Test
16+
void loadsSdkPropertiesWhenCreatingRuntime() {
17+
ClientRuntime runtime = ClientRuntime.getRuntime();
18+
19+
assertThat(runtime.getSdkVersion()).isNotBlank();
20+
assertThat(runtime.getClientInfo()).isEqualTo("Oracle-JavaSDK/" + runtime.getSdkVersion());
21+
assertThat(runtime.getUserAgent()).startsWith(runtime.getClientInfo());
22+
}
23+
}

0 commit comments

Comments
 (0)