From 989edff55111db3b457c9e04f3abf296e6ac555c Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 20 Oct 2013 21:55:01 +0200 Subject: o Getting "upgrade" to work with non-SNAPSHOT versions too. o Removing maven.version. o Documenting(!) the different configuration keys and what they mean. --- docs/app.txt | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 docs/app.txt (limited to 'docs') diff --git a/docs/app.txt b/docs/app.txt new file mode 100644 index 0000000..4756ef2 --- /dev/null +++ b/docs/app.txt @@ -0,0 +1,83 @@ +app(1) +====== + +NAME +---- +app - your favorite application manager + + +SYNOPSIS +-------- +[verse] +'app' + +INSTALLING AN APPLICATION +~~~~~~~~~~~~~~~~~~~~~~~~~ + +This resolved and downloads an appliaction from a Maven repository: + + $ app init -d my-app maven org.example:my-app:1.0-SNAPSHOT + +By default it will download from the central repository, but this is +not always what you want. To get it to use another repository give the +`-r` option: + + $ app init -d my-app maven -f http://repo.example.org/snapshots org.example:my-app:1.0-SNAPSHOT + +UPGRADING AN APPLICATION +~~~~~~~~~~~~~~~~~~~~~~~~ + +If your application is configured with the Maven resolver and the +version is a SNAPSHOT version, you can use this to upgrade your +application through a cron job: + + $ app upgrade + +With the resolver will try to resolve `app.version` to the latest +version. If it's change it will automatically download and install the +latest version. + +CHANGING VERSION OF AN APPLICATION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + $ app conf set app.version 1.0 + $ app sync-version + +`app-sync-version` will first run the resolver to resolve the version +and if that has changed, it will download and install the new version. + +INTERNALS +--------- + +Concepts: + +resolver:: + Something that takes a version and resolves it to a specific + version. Makes it possible to depend on a development version + which is resolved later on. + +Configuration properties: + +`app.version`:: + The unresolved version of the application. Configured when the + application is installed. + +`app.resolved_version`:: + The resolved version of the application. Is updated by the + resolved configured for the project. + +`app.installed_version`:: + The installed version of the application. Is updated by + `app-set-version`. + +TODOs +----- + +* Consider renaming "upgrade" to "refresh". Upgrade is an overloaded + word, in particular since it might mean to download a catalog of + applications instead of actually upgrading it. I'm always confused + if I should use "upgrade" or "update". + +* Find a way to check if an application is running. + +// vim: set ft=asciidoc: -- cgit v1.2.3