All Projects â†’ slimjar â†’ slimjar

slimjar / slimjar

Licence: MIT license
JVM Runtime Dependency Management.

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to slimjar

Pony Stable
🐴 A simple dependency manager for the Pony language.
Stars: ✭ 135 (+154.72%)
Mutual labels:  dependency-manager
Corral
🐴 Pony dependency manager tool
Stars: ✭ 152 (+186.79%)
Mutual labels:  dependency-manager
Dep
Go dependency management tool experiment (deprecated)
Stars: ✭ 13,106 (+24628.3%)
Mutual labels:  dependency-manager
Gitman
Language-agnostic dependency manager using Git.
Stars: ✭ 139 (+162.26%)
Mutual labels:  dependency-manager
Sampctl
The Swiss Army Knife of SA:MP - vital tools for any server owner or library maintainer.
Stars: ✭ 149 (+181.13%)
Mutual labels:  dependency-manager
Docker
Composer in Docker
Stars: ✭ 180 (+239.62%)
Mutual labels:  dependency-manager
Mint
A package manager that installs and runs executable Swift packages
Stars: ✭ 1,750 (+3201.89%)
Mutual labels:  dependency-manager
mulle-bootstrap
đŸ‘ĸ Cross platform dependency manager for developers
Stars: ✭ 39 (-26.42%)
Mutual labels:  dependency-manager
Ansible Role Composer
Ansible Role - Composer PHP Dependency Manager
Stars: ✭ 149 (+181.13%)
Mutual labels:  dependency-manager
Cocoapods
The Cocoa Dependency Manager.
Stars: ✭ 13,503 (+25377.36%)
Mutual labels:  dependency-manager
Node Dependency Injection
The NodeDependencyInjection component allows you to standarize and centralize the way objects are constructed in your application.
Stars: ✭ 140 (+164.15%)
Mutual labels:  dependency-manager
Moderncppstarter
🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
Stars: ✭ 2,381 (+4392.45%)
Mutual labels:  dependency-manager
Mbt
The most flexible build tool for monorepo
Stars: ✭ 184 (+247.17%)
Mutual labels:  dependency-manager
Foxy
A fast, reliable, and secure NPM/Yarn bridge for Composer
Stars: ✭ 137 (+158.49%)
Mutual labels:  dependency-manager
Psdepend
PowerShell Dependency Handler
Stars: ✭ 212 (+300%)
Mutual labels:  dependency-manager
Pnpm
Fast, disk space efficient package manager -- åŋĢ速įš„īŧŒčŠ‚įœįŖį›˜įŠē间įš„包įŽĄį†åˇĨå…ˇ
Stars: ✭ 14,219 (+26728.3%)
Mutual labels:  dependency-manager
Protodep
Collect necessary .proto files (Protocol Buffers IDL) and manage dependencies
Stars: ✭ 167 (+215.09%)
Mutual labels:  dependency-manager
npmy
`npm/npx/npm link` on steroids.
Stars: ✭ 58 (+9.43%)
Mutual labels:  dependency-manager
Poetry
Python dependency management and packaging made easy.
Stars: ✭ 17,543 (+33000%)
Mutual labels:  dependency-manager
Boss
Dependency Manager for Delphi
Stars: ✭ 188 (+254.72%)
Mutual labels:  dependency-manager

Slim Jar

Runtime Dependency Management


What is SlimJar?

SlimJar allows you to download and load up dependencies at runtime as an alternative to shading your dependencies. This helps you reduce build output size and share downloaded dependencies between projects at client side. It is built mainly with the gradle eco-system in mind and is easily configurable being an almost a drop-in replacement/add-on to gradle projects.

Why use SlimJar?

SlimJar makes the process of switching out jars easier by providing jars that are much lesser in size, all "slimmed" dependencies are already available and do not need to be explicitly moved back to your working directory during an update or change. This can be extremely useful for users who have lower bandwidth connections to push large updates to production or testing environments. It also provides vital features such as package relocation, module isolation, auto configuration generation...etc with the simplicity of minor tweaks in your build file.


Usage Example

Note: Use the shadowJar task to compile your project



// this needs to be ran before you reference your dependencies
ApplicationBuilder.appending("MyApplicationName").build()

(NOTE: If you have specified relocations and are running in a IDE or any environment that does not use the shadowjar-ed build file, use the ignoreRelocation flag while running by using -DignoreRelocation in your runner arguments) build.gradle GROOVY DSL

plugins {
  id 'com.github.johnrengelman.shadow' version '6.0.0'
  id 'io.github.slimjar' version '1.3.0'
}
dependencies {
  implementation slimjar("1.2.6")
  slim 'group.id:artifact.id:version'
}

slimJar {
  relocate 'a.b.c', 'm.n.o'
}

(For Kotlin DSL, to use the slimjar extension in dependencies block, you will need the following import - import io.github.slimjar.func.slimjar)



Development setup

git clone https://github.com/SlimJar/slimjar.git
gradlew test


Releases

Distributed under the MIT license. See LICENSE for more information.



Contributing

  1. Fork it (https://github.com/SlimJar/slimjar/fork)
  2. Create your feature branch (git checkout -b feature/abcd)
  3. Commit your changes (git commit -am 'Added some feature abcd')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].