Skip to content

UnKabaraQuiDev/PCLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

705 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PCLib v1.0.4 / v1.1.0-SNAPSHOT

(https://github.com/UnKabaraQuiDev/PCLib/actions/workflows/release.yml) Maven Package (Nightly)

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

ToDo here

Contact email

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 - database helpers, SQL builders, annotations, and query utilities
  • 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

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

Use the parent BOM / 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.0.4</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>

Build

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

About

A bunch of utilities I use in other projects

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors

Languages