v1.0 project management
oldratlee opened this issue ยท 2 comments
oldratlee commented
๐ Documentation
๐ฆฎ CompletableFuture
Guide
- design patterns of biz usage
- best practice and traps
- write English doc, and English first
see README.md
๐ช CompletableFuture
Usage Showcase
see CompletableFutureUsageShowcaseTest.kt
๐จ๐ณ Translations
- translate javadoc of
๐ฆ Library
see
โจ Support the missing convenient new methods
- new methods
CffuFactory.cffuAllOf(...)
(7acfa4d)
with results version ofCompletableFuture.allof
- new methods
CffuFactory.cffuAnyOf(...)
(d9df93f)
type safe version ofCompletableFuture.anyOf
Method - new methods
Cffu.cffuCombine(...)
same asCffuFactory.cffuAllOf(...)
, providing this method is convenient for method chaining. - new method
Cffu.cffuJoin
support timeoutjoin
โณ (323e14a)
๐ Customizable CF
- sticky default executor for
*Async
methods
๐ฎ backport CF
methods from high java versions to Java 8
Cffu.java
- timeout control methods
orTimeout(...)
/completeOnTimeout(...)
-
exceptionallyAsync()
-
exceptionallyCompose(...)
/exceptionallyComposeAsync(...)
-
resultNow()
/exceptionNow()
- backport
Future#state()
- and add a new method
cffuState()
to works onJava 8
- and add a new method
-
completeAsync(...)
-
minimalCompletionStage()
-
copy()
-
newIncompleteFuture()
- timeout control methods
CffuFactory.java
- delay execution methods
defaultExecutor(...)
-
completedStage(...)
/failedStage(...)
-
failedFuture(...)
- delay execution methods
๐ฉ Kotlin
support
- extension methods of java implemented methods
๐ Mics
- make lib 0-dependence(optional
Kotlin
runtime is ok)
implementtuple
instead ofcommon-lang3
dependency
โ๏ธ Testing
- API compatibility test with
CompletableFuture
- benchmark building chain performance by
Cffu
vsCompletableFuture
- benchmark execution chain performance by
Cffu
vsCompletableFuture
๐ท Chore
- CI build/Github Action
- support build by
Java 19
and test by low version java(e.g.Java 8
) (3a0c8e3)
because the implementation used high java version api ofCF
- release maven SNAPSHOT to repo when main branch integration_test pass
- support build by
oldratlee commented
cancelled/holden actions
- โ improve the Exception message, for example TimeoutException of
orTimeout
because only take effect forCffu
compatibility logic but add complex codes, low ROI - โธ๏ธ excluding empty arguments overloaded methods(
allof
/cffuAnyOf
/...) from generated javadoc
oldratlee commented