From 679f2bd6e09afe117e9b30fedcf0d351fefaecd5 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 06 Jan 2012 17:21:13 -0500
Subject: [PATCH] Updated Express documentation

---
 src/com/gitblit/GitBlit.java |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index 89dcbf1..ce3e16d 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -75,6 +75,7 @@
 import com.gitblit.models.SettingModel;
 import com.gitblit.models.TeamModel;
 import com.gitblit.models.UserModel;
+import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.ByteFormat;
 import com.gitblit.utils.FederationUtils;
 import com.gitblit.utils.JGitUtils;
@@ -451,7 +452,7 @@
 		List<String> names = new ArrayList<String>(userService.getAllUsernames());
 		return names;
 	}
-	
+
 	/**
 	 * Returns the list of all users available to the login service.
 	 * 
@@ -545,7 +546,7 @@
 		List<String> teams = new ArrayList<String>(userService.getAllTeamNames());
 		return teams;
 	}
-	
+
 	/**
 	 * Returns the list of available teams that a user or repository may be
 	 * assigned to.
@@ -991,14 +992,14 @@
 		config.setString("gitblit", null, "federationStrategy",
 				repository.federationStrategy.name());
 		config.setBoolean("gitblit", null, "isFederated", repository.isFederated);
-		if (repository.preReceiveScripts != null) {
+		if (!ArrayUtils.isEmpty(repository.preReceiveScripts)) {
 			config.setStringList("gitblit", null, "preReceiveScript", repository.preReceiveScripts);
 		}
-		if (repository.postReceiveScripts != null) {
+		if (!ArrayUtils.isEmpty(repository.postReceiveScripts)) {
 			config.setStringList("gitblit", null, "postReceiveScript",
 					repository.postReceiveScripts);
 		}
-		if (repository.mailingLists != null) {
+		if (!ArrayUtils.isEmpty(repository.mailingLists)) {
 			config.setStringList("gitblit", null, "mailingList", repository.mailingLists);
 		}
 		try {
@@ -1787,6 +1788,21 @@
 				webxmlSettings.applyOverrides(overrideFile);
 			}
 			configureContext(webxmlSettings, true);
+
+			// Copy the included scripts to the configured groovy folder
+			File localScripts = getFileOrFolder(Keys.groovy.scriptsFolder, "groovy");
+			if (!localScripts.exists()) {
+				File includedScripts = new File(context.getRealPath("/WEB-INF/groovy"));
+				if (!includedScripts.equals(localScripts)) {
+					try {
+						com.gitblit.utils.FileUtils.copy(localScripts, includedScripts.listFiles());
+					} catch (IOException e) {
+						logger.error(MessageFormat.format(
+								"Failed to copy included Groovy scripts from {0} to {1}",
+								includedScripts, localScripts));
+					}
+				}
+			}
 		}
 
 		serverStatus.servletContainer = servletContext.getServerInfo();

--
Gitblit v1.9.1