All Projects → yegor256 → jacli

yegor256 / jacli

Licence: other
Java Command Line Interface

Projects that are alternatives of or similar to jacli

MGM-Ability
No description or website provided.
Stars: ✭ 64 (+120.69%)
Mutual labels:  package-manager
agda-pkg
apkg - package manager for Agda
Stars: ✭ 30 (+3.45%)
Mutual labels:  package-manager
understanding-the-python-ecosystem
This project focuses on understanding the language ecosystem
Stars: ✭ 68 (+134.48%)
Mutual labels:  package-manager
awesome-package-manager
☘ Awesome package manager resources
Stars: ✭ 87 (+200%)
Mutual labels:  package-manager
iridium
💎 Growing collection of VS Code extensions with a fancy name
Stars: ✭ 39 (+34.48%)
Mutual labels:  package-manager
importly
import map generator
Stars: ✭ 42 (+44.83%)
Mutual labels:  package-manager
jean
Bored from installing tiny shell scripts and .dotfiles manually? Huh! Missing Shell Package Manager For Linux
Stars: ✭ 21 (-27.59%)
Mutual labels:  package-manager
avsrepo
A simple package repository for AviSynth+ https://forum.doom9.org/showthread.php?t=175822
Stars: ✭ 15 (-48.28%)
Mutual labels:  package-manager
get-bin-path
Get the current package's binary path
Stars: ✭ 25 (-13.79%)
Mutual labels:  package-manager
winget-create
The Windows Package Manager Manifest Creator command-line tool (aka wingetcreate)
Stars: ✭ 228 (+686.21%)
Mutual labels:  package-manager
cati
Cati Unix Package Manager
Stars: ✭ 19 (-34.48%)
Mutual labels:  package-manager
glam
A cross-platform package manager.
Stars: ✭ 61 (+110.34%)
Mutual labels:  package-manager
GuPM
🐶📦 Global Universal Project Manager -- Package manager, cli tool, scripts for all your projects and your system
Stars: ✭ 132 (+355.17%)
Mutual labels:  package-manager
pint
A single-file command-line package manager for Windows.
Stars: ✭ 35 (+20.69%)
Mutual labels:  package-manager
inqlude
Command line client for independent Qt library archive
Stars: ✭ 30 (+3.45%)
Mutual labels:  package-manager
honest
Are your installed packages _really_ the same as you saw on GitHub?
Stars: ✭ 25 (-13.79%)
Mutual labels:  package-manager
wsjcpp
Yet another... C++ Source Package Manager
Stars: ✭ 18 (-37.93%)
Mutual labels:  package-manager
straight.el
🍀 Next-generation, purely functional package manager for the Emacs hacker.
Stars: ✭ 2,035 (+6917.24%)
Mutual labels:  package-manager
packagehub
An extension for displaying dependencies of projects on GitHub
Stars: ✭ 71 (+144.83%)
Mutual labels:  package-manager
piu
Cross platform package manager wrapper
Stars: ✭ 33 (+13.79%)
Mutual labels:  package-manager

Jacli is command-line-focused package manager, very similar to Npm, Rubygems, Pip, Homebrew, but for Java. Say, you have a JAR, which is supposed to be run like this:

$ java -jar foo.jar

To let your users use your foo.jar this way, you have to either make it "fat" or instruct them to download all dependencies and make them available on the classpath. In either case, they have to download binaries manually, for example with wget. Besides, you have to make sure they have the right version of the JVM installed. It's a hassle.

Instead, you use jacli and let your users do this (say, you are on MacOS and org.cqfn:foo:1.0.4 are the coordinates of the JAR in Maven Central):

$ brew install jacli
$ jacli install org.cqfn:foo:1.0.4
$ foo

You can also do uninstall, list, check, and so on. Jacli is checking the JVM for you, downloading all dependencies, creating the command line hook at /usr/local/bin/ and so on. It does everything you need in order to run this single JAR smoothly.

Jacli uses Maven under the hood and respects your settings.xml.

All you need to do in order to make your JAR jacli-ready is to put jacli.properties into its META-INF directory and release it to Maven Central (the pom.xml accompanying your JAR will be used to download dependencies):

binary=foo
jvm.min=8
jvm.max=13

BTW, we are aware of Coursier and SdkMan.

The logo is made by Freepik.

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].