{"id":14969755,"url":"https://github.com/boul2gom/nullptr-tools","last_synced_at":"2025-10-26T09:30:57.510Z","repository":{"id":42985864,"uuid":"450161332","full_name":"boul2gom/nullptr-tools","owner":"boul2gom","description":"🛠️ A complete, modular and flexible toolset for all your Java ☕ projects","archived":false,"fork":false,"pushed_at":"2023-11-30T08:23:20.000Z","size":1256,"stargazers_count":8,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-09-28T12:03:20.669Z","etag":null,"topics":["docker","i18n","java","java-libraries","library","redis"],"latest_commit_sha":null,"homepage":"https://nullptr-rs.github.io/nullptr-tools","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boul2gom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["nullptr-rs"]}},"created_at":"2022-01-20T15:55:26.000Z","updated_at":"2024-05-06T12:55:30.000Z","dependencies_parsed_at":"2024-08-28T16:35:09.137Z","dependency_job_id":null,"html_url":"https://github.com/boul2gom/nullptr-tools","commit_stats":null,"previous_names":["boul2gom/nullptr-tools","yggdrasil80/yggtools"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boul2gom%2Fnullptr-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boul2gom%2Fnullptr-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boul2gom%2Fnullptr-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boul2gom%2Fnullptr-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boul2gom","download_url":"https://codeload.github.com/boul2gom/nullptr-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219863300,"owners_count":16555950,"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":["docker","i18n","java","java-libraries","library","redis"],"created_at":"2024-09-24T13:42:19.362Z","updated_at":"2025-10-26T09:30:57.081Z","avatar_url":"https://github.com/boul2gom.png","language":"Java","readme":"\u003ch2 align=\"center\"\u003e🛠️ A complete, modular and flexible toolset for all your Java ☕ projects\u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003eNullptr-tools is a collection of tools for Java projects. Its includes a lot of modules, to make it easier for you to include and interact with many commonly used libraries and frameworks.\u003c/div\u003e\n\u003cdiv align=\"center\"\u003eAll modules are separated from the whole project and are standalone, to keep your app lightweight. They have only a common base package included.\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e⚠️ The project is still in development, so many modules are planed but not released yet. See \"Planned modules and features\" below.\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/nullptr-rs/nullptr-tools/issues/new?assignees=\u0026labels=bug\u0026template=BUG_REPORT.md\u0026title=bug%3A+\"\u003eReport a Bug\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/nullptr-rs/nullptr-tools/discussions/new?assignees=\u0026labels=enhancement\u0026title=feat%3A+\"\u003eRequest a Feature\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/nullptr-rs/nullptr-tools/discussions/new?assignees=\u0026labels=help%20wanted\u0026title=ask%3A+\"\u003eAsk a Question\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/nullptr-rs/nullptr-tools/ci-prod.yml?label=Master%20CI\u0026logo=Github\" alt=\"Master CI\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/nullptr-rs/nullptr-tools?label=Release\u0026logo=Github\" alt=\"Release\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/nullptr-rs/nullptr-tools?label=License\u0026logo=Github\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/deployments/nullptr-rs/nullptr-tools/github-pages?label=Javadoc%20on%20Pages\u0026logo=Github\" alt=\"Pages\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/nullptr-rs/nullptr-tools/ci-dev.yml?label=Develop%20CI\u0026logo=Github\" alt=\"Develop CI\"/\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/discussions/nullptr-rs/nullptr-tools?label=Discussions\u0026logo=Github\" alt=\"Discussions\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-raw/nullptr-rs/nullptr-tools?label=Issues\u0026logo=Github\" alt=\"Issues\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-pr-raw/nullptr-rs/nullptr-tools?label=Pull requests\u0026logo=Github\" alt=\"Pull requests\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/nullptr-rs/nullptr-tools?label=Stars\u0026logo=Github\" alt=\"Stars\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/forks/nullptr-rs/nullptr-tools?label=Forks\u0026logo=Github\" alt=\"Forks\"\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://deepsource.io/gh/nullptr-rs/nullptr-tools.svg/?label=Active+issues\u0026token=8gtp_2o9u3QVkQK-xezNEtix\" alt=\"Deepsource Active\"\u003e\n  \u003cimg src=\"https://img.shields.io/codefactor/grade/github/nullptr-rs/nullptr-tools/master?label=Code%20quality\u0026logo=Codefactor\" alt=\"Codefactor\"\u003e\n  \u003cimg src=\"https://deepsource.io/gh/nullptr-rs/nullptr-tools.svg/?label=resolved+issues\u0026token=8gtp_2o9u3QVkQK-xezNEtix\" alt=\"Deepsource Resolved\"\u003e\n\n# 📂 Available modules\n\n- [💼 Tools](#-tools): The main module, a basic common tools base used by all other modules.\n- [📦 Redis](#-redis): A module to interact with Redis, including a connection manager and a Pub/Sub listener system.\n- [🐳 Docker](#-docker): A module to interact with the Docker client, with wrappers and callbacks for all commands, and a Dockerfile generator. You can easily interact with containers, images, networks, Swarm and volumes.\n\n# 📥 How to get it\n\n⚠️ The project is still in development, so publishing to MavenCentral will be done later. Creating a modular project require to open a new ticket for every module, so it's very long. \u003cbr\u003e\n📦 All artifacts are available on [Maven Central](https://github.com/nullptr-rs/nullptr-tools), and in [GitHub Packages](https://github.com/nullptr-rs/nullptr-tools/packages/) as fallback.\n- If you are using [Gradle](https://gradle.org/), you can get it by adding the following code in your build.gradle:\n```groovy\nrepositories {\n    // Maven Central\n    mavenCentral()\n    \n    // My Github Packages, as fallback if there is any problem with Maven Central\n    maven {\n        url = \"https://maven.pkg.github.com/nullptr-rs/nullptr-tools\"\n        credentials {\n            username System.getenv(\"Your GitHub username\")\n            password System.getenv(\"Your GitHub password or personal access token\")\n        }\n    }\n}\n\ndependencies {\n    implementation \"io.github.nullptr:Module ID:Latest version\"\n}\n```\n- If you are using [Maven](https://maven.apache.org/), you can get it by adding the following code in your pom.xml:\n```xml\n\u003cproject\u003e\n    \u003crepositories\u003e\n        \u003c!-- My GitHub Packages, as fallback if there is any problem with my Maven Central --\u003e\n        \u003crepository\u003e\n            \u003cid\u003egithub\u003c/id\u003e\n            \u003cname\u003eGitHub nullptr-rs Apache Maven Packages\u003c/name\u003e\n            \u003curl\u003ehttps://maven.pkg.github.com/nullptr-rs/nullptr-tools\u003c/url\u003e\n            \u003ccredentials\u003e\n                \u003cusername\u003eYour GitHub username\u003c/username\u003e\n                \u003cpassword\u003eYour GitHub password or personal access token\u003c/password\u003e\n            \u003c/credentials\u003e\n        \u003c/repository\u003e\n    \u003c/repositories\u003e\n\n    \u003cdependencies\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eio.github.nullptr\u003c/groupId\u003e\n            \u003cartifactId\u003eModule ID\u003c/artifactId\u003e\n            \u003cversion\u003eLatest version\u003c/version\u003e\n        \u003c/dependency\u003e\n    \u003c/dependencies\u003e\n\u003c/project\u003e\n```\n- If you don't use any build tool, you can get it by downloading the latest release of your wanted module from [GitHub Releases](https://github.com/nullptr-rs/nullptr-tools/releases/latest)\n\n# 🚀 How to use it\n\n## 💼 Tools\n- 📦 Module ID: 'tools'\n- 📁 Size: ~350Ko\n- 📅 Release date: 2022-03-25\n- 🧠 Developer: [nullptr-rs](https://github.com/nullptr-rs)\n- 📄 Dependencies: [Slf4j API](https://mvnrepository.com/artifact/org.slf4j/slf4j-api), [JetBrains Annotations](https://mvnrepository.com/artifact/org.jetbrains/annotations), [Gson](https://mvnrepository.com/artifact/com.google.code.gson/gson)\n- 📝 Description: The main module, a basic common tools base used by all other modules.\n### 🚦 Getting started\n- Check the [Wiki](https://github.com/nullptr-rs/nullptr-tools/wiki) to learn how to use it.\n\n## 📦 Redis\n- 📦 Module ID: 'tools-redis'\n- 📁 Size: ~1Mo\n- 📅 Release date: 2022-03-25\n- 🧠 Developer: [nullptr-rs](https://github.com/nullptr-rs)\n- 📄 Dependencies: [Jedis](https://mvnrepository.com/artifact/redis.clients/jedis)\n- 📝 Description: A module to interact with Redis, including a connection manager and a Pub/Sub listener system.\n### 🚦 Getting started\n- Create a new instance of the Redis connection through the builder:\n```java\nfinal RedisConnection connection = new RedisConnection.Builder().withHost(() -\u003e \"127.0.0.1\").withPassword(() -\u003e \"my-password\").build();\n```\n- Now you can use the connection to interact with Redis:\n```java\nconnection.execute(jedis -\u003e jedis.set(\"foo\", \"bar\"));\n\nfinal String foo = connection.executeAndReturn(jedis -\u003e {\n    final String value = jedis.get(\"foo\");\n    return value + \" world\";\n});\n```\n- Check the [Wiki](https://github.com/nullptr-rs/nullptr-tools/wiki) to learn how to use Pub/Sub system and advanced features.\n\n## 🐳 Docker\n- 📦 Module ID: 'tools-docker'\n- 📁 Size: ~9.8Mo\n- 📅 Release date: 2022-03-25\n- 🧠 Developer: [nullptr-rs](https://github.com/nullptr-rs)\n- 📄 Dependencies: [Docker Java](https://mvnrepository.com/artifact/com.github.docker-java/docker-java), [Docker Transport Zerodep](https://mvnrepository.com/artifact/com.github.docker-java/docker-java-transport-zerodep)\n- 📝 Description: A module to interact with the Docker client, with wrappers and callbacks for all commands, and a Dockerfile generator. You can easily interact with containers, images, networks, Swarm and volumes.\n### 🚦 Getting started\n- Create a new instance of the Docker manager through the builder:\n```java\nfinal DockerManager docker = new DockerManager.Builder().withHost(DockerHost.TCP_DAEMON).build();\n```\n- Now you can get the managers for all the Docker commands:\n```java\nfinal DockerClient client = docker.getClient();\n\nfinal DockerInfoManager info = docker.getInfoManager();\nfinal DockerImageManager image = docker.getImageManager();\nfinal DockerSwarmManager swarm = docker.getSwarmManager();\nfinal DockerVolumeManager volume = docker.getVolumeManager();\nfinal DockerNetworkManager network = docker.getNetworkManager();\nfinal DockerContainerManager container = docker.getContainerManager();\n```\n- Check the [Wiki](https://github.com/nullptr-rs/nullptr-tools/wiki) to learn how to use each manager, custom registry and the Dockerfile generator.\n\n# 🚧 Planned modules and features\n\n- 📝 Yaml and Json configuration creator -\u003e Config\n- 🔧 ZooKeeper tools -\u003e ZooKeeper\n- ♻️ Placeholder registry in the I18n system -\u003e Tools\n- 🗂️ Provider system, to register instances of API -\u003e Tools\n- 🖥️ Commands creator for CLI apps -\u003e CLI\n- 📂 Reflection system -\u003e Tools\n- 📨 Discord bot tools, with prefix and slash commands handling, etc. -\u003e Discord\n- 🧭Spigot plugin tools, with messaging, GUI creator, plugin.yml generator, auto register for commands and listeners, etc. -\u003e Spigot\n- 🔐 Encryption tools, to secure your files and data -\u003e Security\n- 📦 Kafka tools -\u003e Kafka\n- 📈 MySQL tools -\u003e MySQL\n- 📊 MongoDB tools -\u003e MongoDB\n- 📈 PostgreSQL tools -\u003e PostgreSQL\n- 🏗️ Spigot-like build tools creator -\u003e Build tools\n- 🔌 Spigot-like plugin system -\u003e Tools\n\n# 💬 Any problem ?\n\nYou can open a [Discussion](https://github.com/nullptr-rs/nullptr-tools/discussions/new?assignees=\u0026labels=help%20wanted\u0026title=ask%3A+), and ask for help.\n\n# 🐛 Find a bug ?\n\nYou can open an [Issue](https://github.com/nullptr-rs/nullptr-tools/issues/new?assignees=\u0026labels=bug\u0026template=BUG_REPORT.md\u0026title=bug%3A+), describe the problem, and report it.\n\n# ⭐ Support the project\n\nIf you like the project, you can leave a star, or consider [sponsoring](https://github.com/sponsors/nullptr-rs) me.\n\n# 🤝 Contribute to the project\n\nThe project is open-source, so you can fork it and open a pull request to add new features or fix bugs.\n\n# 📝 License\n\nThe project is released under the [GNU GPLv3](https://github.com/nullptr-rs/nullptr-tools/blob/master/LICENSE.md) license. To learn more about it and understand what it commits you to, check [this page](https://choosealicense.com/licenses/gpl-3.0/).\n\n# 👨‍💻 Contributors\n\n| [\u003cimg src=\"https://avatars.githubusercontent.com/u/56512795?s=128\u0026v=4\"\u003e\u003cbr\u003e\u003csub\u003e@nullptr-rs\u003c/sub\u003e](https://github.com/nullptr-rs) |\n|:---------------------------------------------------------------------------------------------------------------------------------:|","funding_links":["https://github.com/sponsors/nullptr-rs"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboul2gom%2Fnullptr-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboul2gom%2Fnullptr-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboul2gom%2Fnullptr-tools/lists"}