OpenAPITools / OpenAPITools/openapi-generator

[REQ][Java/Scala] Migrate away from outdated joda library by default

Open
#5,401 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement: Feature
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Is your feature request related to a problem? Please describe.

Since java 8 released joda recommend to use java.time library instead (see official note https://www.joda.org/joda-time/)

For now on different java based generators we have at least 3 different implementations:

  • joda.time (outdated)
  • java.util.Date (deprecated)
  • java.time.* (standard since java8)

Describe the solution you'd like

It would be nice to have dateLibrary property at DefaultCodegen level, or reogranize code base to have one more additional level of abstraction with AbstractJavaBasedCodegen which could be base interface for AbstractJavaCodegen, AbstractScalaCodegen, AbstractKotlinCodegen and others.

It will allow to describe final implementations with exact date libraries they support.

After all final implementations will support dateLibrary property we can set java8 library by default from the next major release and continue with migration of every final implementation

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with DefaultCodegen and the Java/Scala generator abstractions named in the issue, then inventory their current date-library implementations. Define the supported dateLibrary options and migration scope across affected generators. Done means the abstraction and default behavior are specified for the relevant Java-based generators, with each implementation's supported libraries identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, scala
Domain
devtools, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.