diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/WEB-INF/web.xml | 10 | ||||
-rw-r--r-- | src/main/java/com/gitblit/GitBlit.java | 15 |
2 files changed, 21 insertions, 4 deletions
diff --git a/src/main/java/WEB-INF/web.xml b/src/main/java/WEB-INF/web.xml index d4acb049..6e24326b 100644 --- a/src/main/java/WEB-INF/web.xml +++ b/src/main/java/WEB-INF/web.xml @@ -22,10 +22,12 @@ review the defaults for any new settings. Settings are always versioned
with a SINCE x.y.z attribute and also noted in the release changelog.
-->
- <context-param>
- <param-name>baseFolder</param-name>
- <param-value>${contextFolder}/WEB-INF/data</param-value>
- </context-param>
+ <env-entry>
+ <description>The base folder is used to specify the root location of your Gitblit data.</description>
+ <env-entry-name>baseFolder</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>${contextFolder}/WEB-INF/data</env-entry-value>
+ </env-entry>
<!-- Gitblit Displayname -->
<display-name>
diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java index 5eec7a93..7f82432d 100644 --- a/src/main/java/com/gitblit/GitBlit.java +++ b/src/main/java/com/gitblit/GitBlit.java @@ -62,6 +62,9 @@ import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMultipart; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; @@ -3776,6 +3779,18 @@ public class GitBlit implements ServletContextListener { logger.error(""); } + try { + // try to lookup JNDI env-entry for the baseFolder + InitialContext ic = new InitialContext(); + Context env = (Context) ic.lookup("java:comp/env"); + String val = (String) env.lookup("baseFolder"); + if (!StringUtils.isEmpty(val)) { + path = val; + } + } catch (NamingException n) { + logger.error("Failed to get JNDI env-entry: " + n.getExplanation()); + } + File base = com.gitblit.utils.FileUtils.resolveParameter(Constants.contextFolder$, contextFolder, path); base.mkdirs(); |