{"id":20418672,"url":"https://github.com/stefan-zobel/minifuture","last_synced_at":"2025-05-08T15:32:42.591Z","repository":{"id":57737803,"uuid":"423452358","full_name":"stefan-zobel/minifuture","owner":"stefan-zobel","description":"A CompletableFuture backport reduced to the essentials","archived":true,"fork":false,"pushed_at":"2023-03-18T12:29:39.000Z","size":194,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T18:17:52.160Z","etag":null,"topics":["android","completablefuture","java-6","java-7","jep-266"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefan-zobel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-01T12:12:33.000Z","updated_at":"2024-02-25T11:16:15.000Z","dependencies_parsed_at":"2024-11-15T06:34:19.329Z","dependency_job_id":null,"html_url":"https://github.com/stefan-zobel/minifuture","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-zobel%2Fminifuture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-zobel%2Fminifuture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-zobel%2Fminifuture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-zobel%2Fminifuture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefan-zobel","download_url":"https://codeload.github.com/stefan-zobel/minifuture/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253096483,"owners_count":21853606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","completablefuture","java-6","java-7","jep-266"],"created_at":"2024-11-15T06:34:15.101Z","updated_at":"2025-05-08T15:32:37.580Z","avatar_url":"https://github.com/stefan-zobel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CodeQL](https://github.com/stefan-zobel/minifuture/actions/workflows/codeql.yml/badge.svg)](https://github.com/stefan-zobel/minifuture/actions/workflows/codeql.yml)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.streamsupport/streamsupport-minifuture/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.streamsupport/streamsupport-minifuture)\n[![javadoc.io](https://javadoc.io/badge2/net.sourceforge.streamsupport/streamsupport-minifuture/javadoc.svg)](https://javadoc.io/doc/net.sourceforge.streamsupport/streamsupport-minifuture)\n\n# minifuture\n\nA stripped to the bones `CompletableFuture` backport for Java 6+ and Android (API level 14+).\n\nThis is a minimized (105 KiB) version of the [streamsupport-cfuture](https://javadoc.io/doc/net.sourceforge.streamsupport/streamsupport-cfuture/latest/index.html) component without any dependencies that provides only CompletableFuture and the API necessary to use it and nothing else (no Streams, no ForkJoinPool and such). It is intended for projects that only have a need for a CompletableFuture backport and want minimal dependency footprint. The public API surface comprises the following interfaces / classes:\n\n* java8.util.concurrent.CompletableFuture\n* java8.util.concurrent.CompletionException\n* java8.util.concurrent.CompletionStage\n* java8.util.function.BiConsumer\n* java8.util.function.BiFunction\n* java8.util.function.Consumer\n* java8.util.function.Function\n* java8.util.function.Supplier\n\nThe CompletableFuture API is the one from Java 12, i.e. it contains the Java 9 ([JEP 266](https://openjdk.java.net/jeps/266)) enhancements and the exception handling methods introduced in Java 12 ([JDK-8211010](https://bugs.openjdk.java.net/browse/JDK-8211010)). The project can be compiled with Java 6 and should be compatible with any OpenJDK based JVM and Android versions starting from API level 14.\n\n\n### build.gradle:\n\n```gradle\ndependencies {\n    implementation 'net.sourceforge.streamsupport:streamsupport-minifuture:1.7.4'\n}\n```\n\n\n### Maven:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003enet.sourceforge.streamsupport\u003c/groupId\u003e\n    \u003cartifactId\u003estreamsupport-minifuture\u003c/artifactId\u003e\n    \u003cversion\u003e1.7.4\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n\n## LICENSE\n\nGNU General Public License, version 2, [with the Classpath Exception](https://github.com/stefan-zobel/minifuture/blob/master/GPL_ClasspathException)  (and [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) for JSR-166 derived code)\n\n### License clarification\n\n* This library's latest-version includes 18 `*.java` files.\n* 9 of said files are under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) License\n    \u003eWhere said license allows you to use almost any sub-license you want.\n* 9 other of said files are under [`GPL with Classpath license-exception`](./GPL_ClasspathException).\n\nWhere said \"Classpath\" license-exception allows your executables:\n* \"`to link this library`\" (no matter if statically or dynamically),\n* \"`and to copy and distribute the resulting executable under terms of your\n    choice`\",\n* But those who re-distribute this library's source-code form, not \"executable\" binary, can only do that under the terms of GPL 2.0.\n    \u003eIn other words, some of our source-codes always remain GPL 2.0, but your executable can link to them statically and/or dynamically, which is far more permissive than LGPL and/or GPL.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-zobel%2Fminifuture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefan-zobel%2Fminifuture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-zobel%2Fminifuture/lists"}