Andrey Hihlovskiy

Professional blog on groovy, gradle, Java, Javascript and other stuff.

Tag Archives: install

How to install and use Gollum on vanilla Debian/Ubuntu/Mint machine

Suppose you have a vanilla Debian/Ubuntu/Mint machine and you want to use Gollum – wiki system, built on top of Git and used internally by Gihub wiki pages. Here are the necessary steps:

  1. Install required components from OS repositories:
      sudo apt-get install ruby ruby-dev libz-dev libicu-dev build-essential
      

  2. Install Gollum from gems repository:

      sudo gem install gollum
      

  3. Create test git repository and run Gollum on it:

      mkdir testwiki
      cd testwiki
      git init
      gollum
      

Check: you should see messages like this:

user@host:~/Projects/testwiki$gollum
[2014-05-19 18:58:02] INFO WEBrick 1.3.1
[2014-05-19 18:58:02] INFO ruby 1.9.3 (2012-04-20) [x86_64-linux]
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from WEBrick
[2014-05-19 18:58:02] INFO WEBrick::HTTPServer#start: pid=27319 port=4567

that means: Gollum is up and running on port 4567.

Now you can launch you favourite browser, enter addresss http://localhost:4567 and start editing wiki pages:

Gollum editing home page

Whenever you save a page, Gollum commits it to git repository. Optionally you can add a message to commit.

It is worth noting, that Gollum supports many important markup languages: AsciiDoc, Creole, Markdown, MediaWiki, Org-mode, Pod, RDoc, reStructuredText, Textile.

When wiki pages are ready to be presented to the world, you push them to github wiki pages. Instructions on pushing to a remote repository are found here.

GVM – tool for managing groovy/gradle versions

Just discovered GVM – Groovy enVironment Manager ( http://gvmtool.net/ )
First impression: it’s like apt-get, but for groovy-based frameworks. Second impression: support of multiple versions is very useful thing.
Will use it at home and in office to automate installation of groovy-related stuff.

Script for batch installation of maven artifacts

I created gradle script that delivers batch installation of maven artifacts to local maven repository (source code here: https://github.com/akhikhl/contribs).

The script supports two tasks – installContribs and cleanContribs – but can be extended with additional tasks (for example, implementing deployment to corporate repo).

how it works:

1. you call it with the command-line:

gradle -b contribs.gradle

(or you rename script to “build.gradle” and just put it somewhere in the multi-project tree, it will be called by gradle automatically).

2. installContribs task iterates the current folder (where the script resides) and all it’s subfolders

3. in each folder it iterates files with extension “pom”

4. for each found pom-file it looks for “.jar”, “-sources.jar” and “-javadoc.jar” and install all found files (together with pom) to the local maven repository.

5. pom-file without jars will be installed as an artifact on it’s own. Typical use-case: installation of parent-poms and aggregator-poms.

The script accurately calculates inputs/outputs. If all files were not changed since the last installation, it does not install anything and shows “UP-TO-DATE” in the console.

cleanContribs task makes script “forget” about the time of the last artifact installation. As the result, running script with installContribs task will install all artifacts anew.