Skip to content

Latest commit

 

History

895 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PCLib

v1.2.1 / v1.2.2-SNAPSHOT

Maven Central nexus.kbra.lu-public

ToDo here      Issues here      Pull Requests here      Contact email


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


Modules

  • pclib-common - shared helpers and core utilities
  • pclib-datastruct - custom data structures like pairs, triplets, tuples, lists, maps, and weak collections
  • pclib-function - functional interfaces such as throwing functions and tri-functions
  • pclib-awt - AWT helpers for drawing and image processing
  • pclib-swing - Swing components like charts and label builders
  • pclib-db-core - database framework core
  • pclib-db-mysql - includes mysql connectors for pblib-db
  • pclib-db-postgres - includes postgresql connectors for pblib-db
  • pclib-db-sqlite - includes sqlite connectors for pblib-db
  • pclib-db-all - includes all connectors for pblib-db as well as tests
  • pclib-db-spring - Spring integration for pclib-db
  • pclib-cache - cache utilities (incomplete)
  • pclib-concurrency - thread and latch utilities
  • pclib-json - JSON config loading helpers (deprecated)
  • pclib-event - synchronous and asynchronous event system
  • pclib-logger - lightweight logging utilities
  • pclib-pointer - mutable wrappers for objects and primitive types
  • pclib-jbcodec - byte encoding and decoding library
  • pclib-packets4j - lightweight TCP packet library
  • pclib-parser - Small code parser module

Maven repository

nexus.kbra.lu-snapshots nexus.kbra.lu-releases nexus.kbra.lu-public central
RELEASES
jar ❌ ✅ ✅ ✅
javadoc ❌ ✅ ✅ ✅
sources ❌ ✅ ✅ ✅
with-dependencies ❌ ✅ ✅ ❌
tests ❌ ✅ ✅ ✅
SNAPSHOTS
jar ✅ ❌ ✅ ❌
javadoc ✅ ❌ ✅ ❌
sources ✅ ❌ ✅ ❌
with-dependencies ✅ ❌ ✅ ❌
tests ✅ ❌ ✅ ❌

Prefer using the central repository, only use the others if you need snapshots or with-dependencies

<repositories>
  <repository>
    <id>nexus.kbra.lu-public</id>
    <url>https://nexus.kbra.lu/repository/maven-public/</url>
  </repository>
  <repository>
    <id>nexus.kbra.lu-releases</id>
    <url>https://nexus.kbra.lu/repository/maven-releases/</url>
  </repository>
  <repository>
    <url>https://nexus.kbra.lu/repository/maven-snapshots/</url>
  </repository>
</repositories>

Use the parent POM / dependency management

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.2.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Add a submodule dependency

Example with pclib-common:

<dependencies>
  <dependency>
    <groupId>lu.kbra</groupId>
    <artifactId>pclib-common</artifactId>
  </dependency>
</dependencies>

Or if using a repository that has other artifacts, you can use the classifier to specify which one you need ("", javadoc, sources, tests, with-dependencies):

<dependency>
  <groupId>lu.kbra</groupId>
  <artifactId>pclib-common</artifactId>
  <classifier>with-dependencies</classifier>
</dependency>

JavaDoc

You can find the Javadoc for the releases here

Build

Build the full project with Maven, add -DskipTests to skip the test. Some tests require a running docker instance.

git clone git@github.com:UnKabaraQuiDev/PCLib.git pclib
cd pclib
mvn clean install

Signing

All artifacts after v1.2.1 are signed. Download GPG public key

Fingerprint: 2D82 735A 84BE 1A75 30CC 3CA1 FB69 741B 6CDA BE2E

About

A bunch of utilities I use in other projects

Topics

Resources

Contributing

Stars

1 star

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages