Nuts : Network Updatable Things Service (universal package manager) is
a new Open Source Package Manager to help install packages
and libraries for runtime execution.
nuts stands for
Network Updatable Things Services tool.
It's a
Package Manager for (mainly) Java
and non Java world. It helps discovering, downloading, assembling and executing remote artifacts (packages) in
a very handy way.
Each managed artifact is also called a
nuts which is a
Network Updatable Thing Service .
nuts artifacts are stored into repositories. A repository may be local for storing
local
nuts or remote for accessing remote artifacts (good examples are remote maven
repositories). It may also be a proxy repository so that remote artifacts are fetched and cached locally to save network
resources.
One manages a set of repositories called a workspace. Managed
nuts (artifacts) have descriptors
that depict dependencies between them. This dependency is seamlessly handled by
nuts (tool) to
resolve and download on-need dependencies over the wire.
nuts is a swiss army knife tool as it acts like (and supports) maven build tool to have an abstract
view of the artifacts dependency and like
zypper/
apt-get/
pip/
npm package manager tools
to install and uninstall artifacts allowing multiple versions of the very same artifact to be installed.
Although
nuts focuses on java artifacts, it still supports, by design, native and all non java artifacts.
Dependencies are fetched according to the current operating system type, distribution and hardware
architectures.
nuts works either as standalone application or as java library to enable dynamic and dependency
aware class loading and brings a rich toolset to provide a versatile portable command line tools such
as
nsh (a bash like shell),
tomcat,
derby ... wrapper tools to make it easier providing
development , test and deployment reproducible environments.
With container concepts in mind,
nuts is the perfect java application tool for
Docker,
CoreOs
and other container engines.
COMMON VERBS:
- install,uninstall,update : install/uninstall/update an artifact (using its fetched/deployed installer)
- deploy, undeploy : manage artifacts on the local repositories
- fetch,push : download, upload to remote repositories
- search : search for existing/installable artifacts
- exec : execute an artifact (tool)
Copyright [2020] [thevpc]
Licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 (the "License");
you may not use this file except in compliance with the License. You may obtain
a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.en.html
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language
governing permissions and limitations under the License.
====================================================================
core package contains classes that are required on boot but base for after boot