xref: /aosp_15_r20/external/threetenbp/README.md (revision 761b3f507e07ae42b4ad4333aa5dc559de53e1fb)
1*761b3f50SCole Faust
2*761b3f50SCole Faust## ThreeTen backport project
3*761b3f50SCole FaustJSR-310 provides a new date and time library for Java SE 8.
4*761b3f50SCole FaustThis project is the backport to Java SE 6 and 7.
5*761b3f50SCole Faust
6*761b3f50SCole FaustSee the [main home page](https://www.threeten.org/threetenbp/) of the project.
7*761b3f50SCole Faust
8*761b3f50SCole FaustThe backport is NOT an implementation of JSR-310, as that would require
9*761b3f50SCole Faustjumping through lots of unnecessary hoops.
10*761b3f50SCole FaustInstead, this is a simple backport intended to allow users to quickly
11*761b3f50SCole Faustuse the JSR-310 API on Java SE 6 and 7.
12*761b3f50SCole FaustThe backport should be referred to using the "ThreeTen" name.
13*761b3f50SCole Faust
14*761b3f50SCole FaustActive development on JSR-310 is at [OpenJDK](http://openjdk.java.net/):
15*761b3f50SCole Faust
16*761b3f50SCole FaustThis GitHub repository is a fork of that originally used to create JSR-310.
17*761b3f50SCole FaustThat repository used the same BSD-3-Clause license as this repository.
18*761b3f50SCole Faust
19*761b3f50SCole FaustIssues about the backport should be reported here at GitHub.
20*761b3f50SCole FaustPull requests and issues will only be considered so far as matching the behaviour
21*761b3f50SCole Faustof the real Java SE 8. Additional requested features will be rejected.
22*761b3f50SCole Faust
23*761b3f50SCole Faust#### Building
24*761b3f50SCole FaustThis project builds using maven.
25*761b3f50SCole Faust
26*761b3f50SCole Faust#### Time-zone data
27*761b3f50SCole FaustThe time-zone database is stored as a pre-compiled dat file that is included in the built jar.
28*761b3f50SCole FaustThe version of the time-zone data used is stored within the dat file (near the start).
29*761b3f50SCole FaustUpdating the time-zone database involves using the `TzdbZoneRulesCompiler` class
30*761b3f50SCole Faustand re-compiling the jar file.
31*761b3f50SCole FaustAn automated CI job should help keep the time-zone data up to date.
32*761b3f50SCole Faust
33*761b3f50SCole Faust#### FAQs
34*761b3f50SCole Faust
35*761b3f50SCole Faust1. What version of Java SE 8 does this project map to?
36*761b3f50SCole FaustThis project currently maps to the contents of release Java SE 8u20.
37*761b3f50SCole Faust
38*761b3f50SCole Faust2. Will the backport be kept up to date?
39*761b3f50SCole FaustThere are no plans for further releases.
40*761b3f50SCole FaustHowever if security issues or bugs are found, or pull requests received then a release may occur.
41*761b3f50SCole Faust
42*761b3f50SCole Faust3. Is this project derived from OpenJDK?
43*761b3f50SCole FaustNo. This project is derived from the Reference Implementation previously hosted on GitHub.
44*761b3f50SCole FaustThat project had a BSD license, which has been preserved here.
45*761b3f50SCole FaustThus, this project is a fork of the original code before entry to OpenJDK.
46*761b3f50SCole Faust
47*761b3f50SCole Faust### Releases
48*761b3f50SCole FaustAvailable in the [Maven Central repository](https://search.maven.org/search?q=g:org.threeten%20AND%20a:threetenbp&core=gav)
49*761b3f50SCole Faust
50*761b3f50SCole Faust![Tidelift dependency check](https://tidelift.com/badges/github/ThreeTen/threetenbp)
51*761b3f50SCole Faust
52*761b3f50SCole Faust
53*761b3f50SCole Faust### Support
54*761b3f50SCole FaustPlease use [Stack Overflow](https://stackoverflow.com/questions/tagged/threetenbp) for general usage questions.
55*761b3f50SCole FaustGitHub [issues](https://github.com/ThreeTen/threetenbp/issues) and [pull requests](https://github.com/ThreeTen/threetenbp/pulls)
56*761b3f50SCole Faustshould be used when you want to help advance the project.
57*761b3f50SCole FaustCommercial support is available via the
58*761b3f50SCole Faust[Tidelift subscription](https://tidelift.com/subscription/pkg/maven-org-threeten-threetenbp?utm_source=maven-org-threeten-threetenbp&utm_medium=referral&utm_campaign=readme).
59*761b3f50SCole Faust
60*761b3f50SCole FaustNote that pull requests and issues will only be considered so far as matching the behaviour of Java SE releases.
61*761b3f50SCole FaustAdditional requested features will be rejected.
62*761b3f50SCole Faust
63*761b3f50SCole FaustPull requests must _not_ be copied from the JDK, because the GPL license is incompatible with the BSD license used here.
64*761b3f50SCole Faust
65*761b3f50SCole FaustTo report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).
66*761b3f50SCole FaustTidelift will coordinate the fix and disclosure.
67*761b3f50SCole Faust
68*761b3f50SCole Faust
69*761b3f50SCole Faust### Release process
70*761b3f50SCole Faust
71*761b3f50SCole Faust* Update version (index.md, changes.xml - checking tzdb version)
72*761b3f50SCole Faust* Commit and push
73*761b3f50SCole Faust* Run `mvn clean release:clean release:prepare release:perform` on Java 11
74*761b3f50SCole Faust* Website will be built and released by GitHub Actions
75