OpenAPITools / OpenAPITools/openapi-generator
[REQ][Java/Scala] Migrate away from outdated joda library by default
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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