Welcome to Jackage Developer Pages
Jackage is a package management system for Java archives (JAR) and Java-based projects.
One of the main goals of this project is to support the Java developer in its efforts to create, maintain and provide a developer workspace that is as stable and deterministic as possible. At the same time, Jackage allows to change, up/downgrade and therefore experiment with the workspace as well.
Jackage's kernel (jackage-core) consists of a robust (transitive) dependency resolver and a workspace handler. Jackage is workspace based which means, that it has a memory of installed/wanted packages which can be hold stable for a long period of time but provides the ability to update some or all packages in this workspace as required. The main feature of this workspace is, that it's state can be freezed at any time and can be restored even on a different workstation at any time to ensure a stable developer environment as needed in large development teams.
Status
Jackage is currently in an early development stage. For sure it will be released under a open source license, but which one is not decided yet.
There are many features planned, but the first goal is to get good tool chain support. Jackage has currently a (stable) transitive dependency resolver and a fairly minimal workspace implementation. The next step is to integrate this core into as many build tools as possible, top targets are Eclipse and Maven*. If this is done new features are allowed. I hope, this will keep the kernel small, avoids a too early featuritis and solves the real existing (Maven-) pain for most developers (including me and my colleagues).
(* - This could be difficult because of plugin API limitations in Maven. This is the same cause why this project was created in the first place!)
Developers
Jackage is currently developed by Tobias Roeser.
Supporters
The hosting of Jackage's developer server and the registered domain names jackage.org and jackage.de are kindly sponsored by my employer iba Consulting Gesellschaft.
Components
jackage-core - The kernel to managed the dependency resolution and workspace handling.
maven-jackage-plugin - A Maven 2 plugin to handle Jackage dependencies. Currently not finishable because of API limitations in Maven.
jackage-eclipse - Eclipse classpath container to provide Jackage dependencies for Eclipse projects.
jackage-ant - An Apache Ant plugin (no work in this field yet, any volunteers?)
(For sure Jackage will grow in time. If a plugin system will be required, the technology of choice is OSGi.)
Feedback
...is desired! I hope that this project gets a broader acceptance and many contributors. Currently there is not much documentation and the development process is driven by fun (writing it) and pain (not having it yet) in my spare time. Most ideas are only in my head. After the initial working release comes out things may change. Documentation may be available but I hope to develop Jackage as self describing as possible so that using it is just fun.
Good ideas are welcome. Motivation is there but you can convince me the development has to become faster! Even faster through your help.
My mail address is le [dot> petit {dot) fou AT web <dot] de
