@@ -101,26 +101,6 @@ class KotlinExtractorExtension(
101
101
val usesK2 = usesK2(pluginContext)
102
102
// This default should be kept in sync with com.semmle.extractor.java.interceptors.KotlinInterceptor.initializeExtractionContext
103
103
val trapDir = File (System .getenv(" CODEQL_EXTRACTOR_JAVA_TRAP_DIR" ).takeUnless { it.isNullOrEmpty() } ? : " kotlin-extractor/trap" )
104
- val compression_env_var = " CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"
105
- val compression_option = System .getenv(compression_env_var)
106
- val defaultCompression = Compression .GZIP
107
- val (compression, compressionWarning) =
108
- if (compression_option == null ) {
109
- Pair (defaultCompression, null )
110
- } else {
111
- try {
112
- @OptIn(kotlin.ExperimentalStdlibApi ::class ) // Annotation required by kotlin versions < 1.5
113
- val requested_compression = Compression .valueOf(compression_option.uppercase())
114
- if (requested_compression == Compression .BROTLI ) {
115
- Pair (Compression .GZIP , " Kotlin extractor doesn't support Brotli compression. Using GZip instead." )
116
- } else {
117
- Pair (requested_compression, null )
118
- }
119
- } catch (e: IllegalArgumentException ) {
120
- Pair (defaultCompression,
121
- " Unsupported compression type (\$ $compression_env_var ) \" $compression_option \" . Supported values are ${Compression .values().joinToString()} " )
122
- }
123
- }
124
104
// The invocation TRAP file will already have been started
125
105
// before the plugin is run, so we always use no compression
126
106
// and we open it in append mode.
@@ -152,9 +132,7 @@ class KotlinExtractorExtension(
152
132
if (System .getenv(" CODEQL_EXTRACTOR_JAVA_KOTLIN_DUMP" ) == " true" ) {
153
133
logger.info(" moduleFragment:\n " + moduleFragment.dump())
154
134
}
155
- if (compressionWarning != null ) {
156
- logger.warn(compressionWarning)
157
- }
135
+ val compression = getCompression(logger)
158
136
159
137
val primitiveTypeMapping = PrimitiveTypeMapping (logger, pluginContext)
160
138
// FIXME: FileUtil expects a static global logger
@@ -182,6 +160,29 @@ class KotlinExtractorExtension(
182
160
}
183
161
}
184
162
163
+ private fun getCompression (logger : Logger ): Compression {
164
+ val compression_env_var = " CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"
165
+ val compression_option = System .getenv(compression_env_var)
166
+ val defaultCompression = Compression .GZIP
167
+ if (compression_option == null ) {
168
+ return defaultCompression
169
+ } else {
170
+ try {
171
+ @OptIn(kotlin.ExperimentalStdlibApi ::class ) // Annotation required by kotlin versions < 1.5
172
+ val compression_option_upper = compression_option.uppercase()
173
+ if (compression_option_upper == " BROTLI" ) {
174
+ logger.warn(" Kotlin extractor doesn't support Brotli compression. Using GZip instead." )
175
+ return Compression .GZIP
176
+ } else {
177
+ return Compression .valueOf(compression_option_upper)
178
+ }
179
+ } catch (e: IllegalArgumentException ) {
180
+ logger.warn(" Unsupported compression type (\$ $compression_env_var ) \" $compression_option \" . Supported values are ${Compression .values().joinToString()} ." )
181
+ return defaultCompression
182
+ }
183
+ }
184
+ }
185
+
185
186
private fun logPeakMemoryUsage (logger : Logger , time : String ) {
186
187
logger.info(" Peak memory: Usage $time " )
187
188
@@ -361,18 +362,12 @@ private fun doFile(
361
362
}
362
363
}
363
364
364
- enum class Compression { NONE , GZIP , BROTLI }
365
+ enum class Compression { NONE , GZIP }
365
366
366
367
private fun getTrapFileWriter (compression : Compression , logger : FileLogger , trapFileName : String ): TrapFileWriter {
367
368
return when (compression) {
368
369
Compression .NONE -> NonCompressedTrapFileWriter (logger, trapFileName)
369
370
Compression .GZIP -> GZipCompressedTrapFileWriter (logger, trapFileName)
370
- Compression .BROTLI -> {
371
- // Brotli should have been replaced with gzip earlier, but
372
- // if we somehow manage to get here then keep going
373
- logger.error(" Impossible Brotli compression requested. Using Gzip instead." )
374
- getTrapFileWriter(Compression .GZIP , logger, trapFileName)
375
- }
376
371
}
377
372
}
378
373
0 commit comments