{"record":{"id":"d1ab8197df9626c7","repo":"OpenAPITools/openapi-generator","slug":"datelibrary-datelibrary-is-not-supported","errorCode":null,"errorMessage":"DateLibrary \" + dateLibrary + \" is not supported. Please use java8","messagePattern":"DateLibrary \" \\+ dateLibrary \\+ \" is not supported\\. Please use java8","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaHttp4sClientCodegen.java","lineNumber":254,"sourceCode":"    @Override\n    public void processOpts() {\n        super.processOpts();\n\n        if (DateLibraries.java8.name().equals(dateLibrary)) {\n            typeMapping.put(\"date\", \"LocalDate\");\n            typeMapping.put(\"date-time\", \"Instant\");\n            typeMapping.put(\"offset-date-time\", \"OffsetDateTime\");\n            typeMapping.put(\"Date\", \"LocalDate\");\n            typeMapping.put(\"DateTime\", \"Instant\");\n            typeMapping.put(\"OffsetDateTime\", \"OffsetDateTime\");\n            this.importMapping.put(\"LocalDate\", \"java.time.LocalDate\");\n            this.importMapping.put(\"Instant\", \"java.time.Instant\");\n            this.importMapping.put(\"OffsetDateTime\", \"java.time.OffsetDateTime\");\n            additionalProperties.put(\"java8\", \"true\");\n        } else {\n            String error = \"DateLibrary \" + dateLibrary + \" is not supported. Please use java8\";\n            LOGGER.error(error);\n            throw new RuntimeException(error);\n        }\n\n        if (additionalProperties.containsKey(CodegenConstants.PACKAGE_NAME)) {\n            packageName = (String) additionalProperties.get(CodegenConstants.PACKAGE_NAME);\n            setApiPackage(packageName + \".apis\");\n            setModelPackage(packageName + \".models\");\n            additionalProperties.put(CodegenConstants.API_PACKAGE, apiPackage());\n            additionalProperties.put(CodegenConstants.MODEL_PACKAGE, modelPackage());\n        } else {\n            additionalProperties.put(CodegenConstants.PACKAGE_NAME, packageName);\n        }\n        if (additionalProperties.containsKey(CodegenConstants.SOURCE_FOLDER)) {\n            //you can set your own source folder, i.e. target/scala-3.3.3/src_managed/main\n            this.sourceFolder = (String) additionalProperties.get(CodegenConstants.SOURCE_FOLDER);\n        }\n        if (additionalProperties.containsKey(CodegenConstants.ARTIFACT_ID)) {\n            this.artifactId = (String) additionalProperties.get(CodegenConstants.ARTIFACT_ID);\n        }","sourceCodeStart":236,"sourceCodeEnd":272,"githubUrl":"https://github.com/OpenAPITools/openapi-generator/blob/fcec517be3cf5b7964296bcba25fbc97541484e7/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaHttp4sClientCodegen.java#L236-L272","documentation":"The scala-http4s (deprecated) client generator supports exactly one date library, java8 (java.time LocalDate/Instant/OffsetDateTime). processOpts() compares DateLibraries.java8.name() against the dateLibrary option and throws RuntimeException with 'Please use java8' for every other value.","triggerScenarios":"openapi-generator-cli generate -i api.yaml -g scala-http4s -c dateLibrary=threetenbp / java8-localdatetime / joda. Any value other than the exact string 'java8' fails; the option has historically had other values in sibling java generators, which is where bad values usually come from.","commonSituations":"Reusing a java/jaxrs or scala-akka config block that sets dateLibrary=threetenbp; CI jobs shared across generators templating one dateLibrary for all -g values; generator upgrades where previously-tolerated values became unsupported.","solutions":["Remove the dateLibrary option (java8 is the only/default value)","Or set it explicitly: -c dateLibrary=java8","Consider migrating off this deprecated generator to an actively maintained Scala one if you need other date handling"],"exampleFix":"# before\nopenapi-generator-cli generate -i api.yaml -g scala-http4s -c dateLibrary=threetenbp\n# after\nopenapi-generator-cli generate -i api.yaml -g scala-http4s -c dateLibrary=java8","handlingStrategy":"validation","validationCode":"# bash: the only valid dateLibrary for scala-http4s is java8\nif [[ -n \"${DATE_LIBRARY:-}\" && \"${DATE_LIBRARY}\" != java8 ]]; then\n  echo 'scala-http4s supports only dateLibrary=java8; unsetting'; unset DATE_LIBRARY\nfi\nopenapi-generator-cli generate -i api.yaml -g scala-http4s ${DATE_LIBRARY:+-c dateLibrary=$DATE_LIBRARY}","typeGuard":null,"tryCatchPattern":"try {\n    new DefaultGenerator().opts(input).generate();\n} catch (RuntimeException e) {\n    // 'DateLibrary X is not supported. Please use java8' - drop the option or set java8, then rerun\n}","preventionTips":["Do not share a dateLibrary setting across generators; java-only values like threetenbp break scala-http4s","Omit the option when the default is fine (java8 is the only supported value)","Plan migration off deprecated Scala generators where option sets keep shrinking"],"tags":["scala","http4s","codegen","configuration","date-library","openapi-generator"],"backgroundTag":"unsupported-library-option","analyzedSha":"fcec517be3cf5b7964296bcba25fbc97541484e7","analyzedAt":"2026-08-22T11:13:11.613Z","schemaVersion":2},"datasetVersion":"2026-08-22T14:17:55.899Z"}