Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0 project management #6

Open
24 of 32 tasks
oldratlee opened this issue Feb 21, 2023 · 2 comments
Open
24 of 32 tasks

v1.0 project management #6

oldratlee opened this issue Feb 21, 2023 · 2 comments

Comments

@oldratlee
Copy link
Member

oldratlee commented Feb 21, 2023

📚 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

📦 Library

see

✨ Support the missing convenient new methods

  • new methods CffuFactory.cffuAllOf(...)(7acfa4d)
    with results version of CompletableFuture.allof
  • new methods CffuFactory.cffuAnyOf(...)(d9df93f)
    type safe version of CompletableFuture.anyOf Method
  • new methods Cffu.cffuCombine(...)
    same as CffuFactory.cffuAllOf(...), providing this method is convenient for method chaining.
  • new method Cffu.cffuJoin support timeout join ⏳ (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 on Java 8
    • completeAsync(...)
    • minimalCompletionStage()
    • copy()
    • newIncompleteFuture()
  • CffuFactory.java
    • delay execution methods defaultExecutor(...)
    • completedStage(...)/failedStage(...)
    • failedFuture(...)

🍩 Kotlin support

  • extension methods of java implemented methods

🙌 Mics

  • make lib 0-dependence(optional Kotlin runtime is ok)
    implement tuple instead of common-lang3 dependency

☔️ Testing

👷 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 of CF
    • release maven SNAPSHOT to repo when main branch integration_test pass
@oldratlee
Copy link
Member Author

oldratlee commented Mar 20, 2023

cancelled/holden actions

@oldratlee
Copy link
Member Author

oldratlee commented Apr 9, 2023

Image Gallery

(images are generated from docs file)

task stauts transition

task flow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant