PCLib is a multi-module Java library with small, reusable utilities for other projects.
Java version: Java 8
Except pclib-db-spring requires Java 17
pclib-common- shared helpers and core utilitiespclib-datastruct- custom data structures like pairs, triplets, tuples, lists, maps, and weak collectionspclib-function- functional interfaces such as throwing functions and tri-functionspclib-awt- AWT helpers for drawing and image processingpclib-swing- Swing components like charts and label builderspclib-db- database helpers, SQL builders, annotations, and query utilitiespclib-db-spring- Spring integration forpclib-dbpclib-cache- cache utilities (incomplete)pclib-concurrency- thread and latch utilitiespclib-json- JSON config loading helpers (deprecated)pclib-event- synchronous and asynchronous event systempclib-logger- lightweight logging utilitiespclib-pointer- mutable pointer wrappers for objects and primitive valuespclib-jbcodec- byte encoding and decoding librarypclib-packets4j- lightweight TCP packet library
<repositories>
<repository>
<id>nexus.kbra.lu-releases</id>
<url>https://nexus.kbra.lu/repository/maven-releases/</url>
</repository>
<repository>
<id>nexus.kbra.lu-snapshots</id>
<url>https://nexus.kbra.lu/repository/maven-snapshots/</url>
</repository>
</repositories>If you import the parent POM in your dependencyManagement, you can omit versions for all PCLib modules.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>lu.kbra</groupId>
<artifactId>pclib</artifactId>
<version>1.0.2-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>Example with pclib-common:
<dependencies>
<dependency>
<groupId>lu.kbra</groupId>
<artifactId>pclib-common</artifactId>
</dependency>
</dependencies>Build the full project with Maven, add -DskipTests to skip the test. The DB tests require docker or a local MySQL server running.
git clone git@github.com:UnKabaraQuiDev/PCLib.git pclib
cd pclib
mvn clean install