Skip to content

Electrostat-Lab/jSnapLoader

Repository files navigation

jSnapLoader Codacy Badge

A high-performance cross-platform dynamic library loader API for JVM Applications.

Quick Building and running examples:

┌─[pavl-machine@pavl-machine]─[/home/twisted/GradleProjects/jSnapLoader]
└──╼ $./gradlew clean && \
      ./gradlew build && \
      ./gradlew :snaploader-examples:run

BUILD SUCCESSFUL in 943ms
2 actionable tasks: 2 executed

BUILD SUCCESSFUL in 1s
7 actionable tasks: 7 executed

BUILD SUCCESSFUL in 1s
4 actionable tasks: 1 executed, 3 up-to-date

Run specific example by name:

┌─[pavl-machine@pavl-machine]─[/home/twisted/GradleProjects/jSnapLoader]
└──╼ $./gradlew :snaploader-examples:TestZipExtractor \
                :snaploader-examples:run

BUILD SUCCESSFUL in 1s
4 actionable tasks: 2 executed, 2 up-to-date

Appendix

Features:

  • Locate and load external dynamic libraries directly.
  • Extract native libraries from the stock jar library (classpath).
  • Locate external jars and extract native libraries from them.
  • Define an extract directory.
  • Retry Criterion with clean extraction (NEW).
  • Exposed the platform-dependent library NativeDynamicLibrary (NEW).
  • Exposed the NativeVariant providing system properties.
  • Extract automatically based on the application name and version.

Documentation-list:

  • Architecture paradigm.
  • API documentation.