aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-10-20 21:55:01 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2013-10-20 22:01:26 +0200
commit989edff55111db3b457c9e04f3abf296e6ac555c (patch)
treeeb9bf0b99b7ed10a05c90a597d57e5c0e543c36d /docs
parenta6ad0dd211ba4a394d70dd13d3375118b6e5f27a (diff)
downloadapp.sh-989edff55111db3b457c9e04f3abf296e6ac555c.tar.gz
app.sh-989edff55111db3b457c9e04f3abf296e6ac555c.tar.bz2
app.sh-989edff55111db3b457c9e04f3abf296e6ac555c.tar.xz
app.sh-989edff55111db3b457c9e04f3abf296e6ac555c.zip
o Getting "upgrade" to work with non-SNAPSHOT versions too.
o Removing maven.version. o Documenting(!) the different configuration keys and what they mean.
Diffstat (limited to 'docs')
-rw-r--r--docs/app.txt83
1 files changed, 83 insertions, 0 deletions
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' <options>
+
+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: