@@ -62,39 +62,38 @@ https://github.com/swooby/openai-openapi-kotlin/pull/1/files
6262## Updates
6363When a new spec comes out:
64641 . Make sure to start from a fresh/stashed checkout.
65- 2 . ` curl -o openapi-YYYYMMDD.yaml https://raw.githubusercontent.com/openai/openai-openapi/refs/heads/master/openapi.yaml `
66- 3 . ` openapi-generator generate -i openapi-YYYYMMDD.yaml -g kotlin -o ./lib --skip-validate-spec --additional-properties=artifactId=openai-kotlin-client,artifactVersion=0.0.1,groupId=com.openai,packageName=com.openai `
67- 4 . ` mv lib/build.gradle lib/build.gradle.kts `
68- 5 . ` rm -f ./gradle && mv lib/gradle* . `
69- 6 . ` mv lib/settings.gradle ./settings.gradle.kts `
70- 7 . Review each changed file, especially ones that show as modified in:
65+ 2 . ` rm -r ./lib/src `
66+ 3 . ` curl -o openapi-YYYYMMDD.yaml https://raw.githubusercontent.com/openai/openai-openapi/refs/heads/master/openapi.yaml `
67+ 4 . ` openapi-generator generate -i openapi-YYYYMMDD.yaml -g kotlin -o ./lib --skip-validate-spec --additional-properties=artifactId=openai-kotlin-client,artifactVersion=0.0.1,groupId=com.openai,packageName=com.openai `
68+ 5 . Fix generated gradle files:
69+ 1 . ` mv lib/build.gradle lib/build.gradle.kts `
70+ 2 . ` rm -f ./gradle && mv lib/gradle* . `
71+ 3 . ` mv lib/settings.gradle ./settings.gradle.kts `
72+ 4 . Compare/Review with the settings.gradle and build.gradle files.
73+ 1 . ` gradle* ` : probably discard all changes
74+ 2 . ` settings.gradle.kts ` : probably discard all changes
75+ 3 . ` lib/build.gradle.kts ` : probably discard all changes
76+ 5 . While you are here, update any dependencies in ` gradle/libs.versions.toml `
77+ 6 . Consistently format all generated code with ` ./gradlew spotlessApply `
78+ 7 . Fix generated code compiler errors:
79+ TODO: Open an OpenAPI or OpenAI bug on these...
80+ 1 . ` apis/AudioApi `
81+ 1 . add/keep ` AudioResponseFormat.json `
82+ 2 . add/keep ` timestampGranularities?.value `
83+ 2 . ` models/CreateAssistantRequestToolResourcesFileSearch ` : keep non-data class
84+ (compiler error to have data class with no constructor parameters)
85+ 3 . ` models/CreateThreadRequestToolResourcesFileSearch ` : keep non-data class
86+ (compiler error to have data class with no constructor parameters)
87+ 8 . Review each changed file, especially ones that show as modified in:
7188 https://github.com/swooby/openai-openapi-kotlin/pull/1/files
72- 1 . First review with the settings.gradle and build.gradle files.
73- 1 . ` gradle* ` : probably discard all changes
74- 2 . ` settings.gradle.kts ` : probably discard all changes
75- 3 . ` lib/build.gradle.kts ` : probably discard all changes
76- 4 . While you are here, update any dependencies in ` gradle/libs.versions.toml `
77- 2 . ` docs ` : probably keep all changes
78- 3 . ` test ` : probably keep all changes except...
79- 1 . probably delete ` RealtimeResponseCreateParamsMaxResponseOutputTokensTest `
80- 2 . probably delete ` RealtimeResponseMaxOutputTokensTest `
81- 3 . delete ` RealtimeSessionModelTest `
82- 4 . ` infrastructure ` :
83- 1 . ` AudioApi.kt ` : probably discard all changes
84- 2 . ` ApiClient.kt ` : probably discard all changes
85- 3 . ` BigDecimalAdapter.kt ` : probably discard all changes
86- 4 . ` BigIntegerAdapter.kt ` : probably discard all changes
87- 5 . ` Serializer.kt ` : probably discard all changes
88- 5 . ` models ` :
89- 1 . Fix compiler errors:
90- 1 . ` CreateAssistantRequestToolResourcesFileSearch ` : keep non-data class
91- (compiler error to have data class with no constructor parameters)
92- 2 . ` CreateThreadRequestToolResourcesFileSearch ` : keep non-data class
93- (compiler error to have data class with no constructor parameters)
94- 2 . optimize imports.
95- NOTE: This will not complete successfully until all code compiles successfully.
96- See the preceding ` Create*RequestToolResourcesFileSearch ` compiler errors.
97- 3 . ` Realtime* ` files:
89+ 1 . ` apis ` & ` docs ` : probably keep all changes
90+ 2 . ` infrastructure ` :
91+ 1 . ` ApiClient.kt ` : probably discard all changes
92+ 2 . ` BigDecimalAdapter.kt ` : probably discard all changes
93+ 3 . ` BigIntegerAdapter.kt ` : probably discard all changes
94+ 4 . ` Serializer.kt ` : probably discard all changes
95+ 3 . ` models ` : probably keep all changes except...
96+ 1 . ` Realtime* ` files:
9897 (This can get a little complicated...)
9998 1 . ` RealtimeClientEvent* ` : Keep all ` type: RealtimeClientEvent*.Type = RealtimeClientEvent*.Type.... ` one-line assignments
10099 These help a lot to simplify sending client events.
@@ -137,5 +136,11 @@ When a new spec comes out:
137136 2 . change/keep ` type ` to nested ` Type `
138137 15 . ` RealtimeSessionCreateResponse `
139138 1 . change/keep ` maxResponseOutputTokens ` to type ` RealtimeSessionMaxResponseOutputTokens `
139+ 16 . restore/reset/keep ` RealtimeSessionMaxResponseOutputTokens `
140140 16 . delete ` RealtimeSessionModel `
141141 This empty class would cause a runtime deserialization exception.
142+ 4 . ` test ` : probably keep all changes except...
143+ 1 . revert ` RealtimeResponseCreateParamsMaxResponseOutputTokensTest `
144+ detected as a rename from ` RealtimeSessionMaxResponseOutputTokensTest `
145+ 2 . delete ` RealtimeResponseMaxOutputTokensTest `
146+ 3 . delete ` RealtimeSessionModelTest `
0 commit comments