From 65f55eee1c41a9cdfec96dc4310efcc6e57df97f Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 01 Aug 2012 09:48:06 -0400 Subject: [PATCH] Add recursion depth control for repository search (issue 103) --- docs/01_setup.mkd | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/docs/01_setup.mkd b/docs/01_setup.mkd index c8cd09d..6d6f727 100644 --- a/docs/01_setup.mkd +++ b/docs/01_setup.mkd @@ -8,7 +8,10 @@ Open `web.xml` in your favorite text editor and make sure to review and set: - <context-parameter> *git.repositoryFolder* (set the full path to your repositories folder) - <context-parameter> *groovy.scriptsFolder* (set the full path to your Groovy hook scripts folder) + - <context-parameter> *groovy.grapeFolder* (set the full path to your Groovy Grape artifact cache) - <context-parameter> *realm.userService* (set the full path to `users.conf`) + - <context-parameter> *git.packedGitLimit* (set larger than the size of your largest repository) + - <context-parameter> *git.streamFileThreshold* (set larger than the size of your largest committed file) 5. You may have to restart your servlet container. 6. Open your browser to <http://localhost/gitblit> or whatever the url should be. 7. Enter the default administrator credentials: **admin / admin** and click the *Login* button @@ -22,10 +25,13 @@ Open `gitblit.properties` in your favorite text editor and make sure to review and set: - *git.repositoryFolder* (path may be relative or absolute) - *groovy.scriptsFolder* (path may be relative or absolute) + - *groovy.grapeFolder* (path may be relative or absolute) - *server.tempFolder* (path may be relative or absolute) - *server.httpPort* and *server.httpsPort* - *server.httpBindInterface* and *server.httpsBindInterface* **https** is strongly recommended because passwords are insecurely transmitted form your browser/git client using Basic authentication! + - *git.packedGitLimit* (set larger than the size of your largest repository) + - *git.streamFileThreshold* (set larger than the size of your largest committed file) 3. Execute `gitblit.cmd` or `java -jar gitblit.jar` from a command-line 4. Wait a minute or two while all dependencies are downloaded and your self-signed *localhost* certificate is generated. Please see the section titled **Creating your own Self-Signed Certificate** to generate a certificate for *your hostname*. @@ -398,6 +404,27 @@ Hook contributions and improvements are welcome. +### Grapes + +*SINCE 1.0.0* + +[Grape](http://groovy.codehaus.org/Grape) lets you quickly add maven repository dependencies to your Groovy hook script. + +<blockquote>Grape (The Groovy Adaptable Packaging Engine or Groovy Advanced Packaging Engine) is the infrastructure enabling the grab() calls in Groovy, a set of classes leveraging <a href="http://ant.apache.org/ivy">Ivy</a> to allow for a repository driven module system for Groovy. This allows a developer to write a script with an essentially arbitrary library requirement, and ship just the script. Grape will, at runtime, download as needed and link the named libraries and all dependencies forming a transitive closure when the script is run from existing repositories such as Ibiblio, Codehaus, and java.net.</blockquote> + +%BEGINCODE% +// create and use a primitive array +import org.apache.commons.collections.primitives.ArrayIntList + +@Grab(group='commons-primitives', module='commons-primitives', version='1.0') +def createEmptyInts() { new ArrayIntList() } + +def ints = createEmptyInts() +ints.add(0, 42) +assert ints.size() == 1 +assert ints.get(0) == 42 +%ENDCODE% + ### Custom Fields *SINCE 1.0.0* -- Gitblit v1.9.1