diff --git a/spring-bootstrap-applications/pom.xml b/spring-bootstrap-applications/pom.xml
index 315bb3f163..ef63a878ad 100644
--- a/spring-bootstrap-applications/pom.xml
+++ b/spring-bootstrap-applications/pom.xml
@@ -10,7 +10,6 @@
spring-bootstrap-applications
pom
- ${project.basedir}/..
0.0.1-SNAPSHOT
org.springframework.bootstrap.main.Spring
diff --git a/spring-bootstrap-service/src/main/java/org/springframework/bootstrap/autoconfigure/service/InfoConfiguration.java b/spring-bootstrap-service/src/main/java/org/springframework/bootstrap/autoconfigure/service/InfoConfiguration.java
new file mode 100644
index 0000000000..015cc292f2
--- /dev/null
+++ b/spring-bootstrap-service/src/main/java/org/springframework/bootstrap/autoconfigure/service/InfoConfiguration.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2012-2013 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.bootstrap.autoconfigure.service;
+
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.annotation.Resource;
+import javax.servlet.Servlet;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.bootstrap.bind.PropertiesConfigurationFactory;
+import org.springframework.bootstrap.context.annotation.ConditionalOnClass;
+import org.springframework.bootstrap.context.annotation.ConditionalOnMissingBean;
+import org.springframework.bootstrap.context.annotation.EnableAutoConfiguration;
+import org.springframework.bootstrap.service.info.InfoEndpoint;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.core.env.StandardEnvironment;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.support.PropertiesLoaderUtils;
+import org.springframework.web.servlet.DispatcherServlet;
+
+/**
+ * {@link EnableAutoConfiguration Auto-configuration} for /info endpoint.
+ *
+ * @author Dave Syer
+ */
+@Configuration
+@ConditionalOnClass({ Servlet.class, DispatcherServlet.class })
+@ConditionalOnMissingBean({ InfoEndpoint.class })
+public class InfoConfiguration {
+
+ @Resource(name = "infoMap")
+ private Map infoMap;
+
+ @Autowired
+ @Qualifier("gitInfo")
+ private GitInfo gitInfo;
+
+ @Bean
+ public Map applicationInfo() {
+ LinkedHashMap info = new LinkedHashMap();
+ info.putAll(this.infoMap);
+ if (this.gitInfo.getBranch() != null) {
+ info.put("git", this.gitInfo);
+ }
+ return info;
+ }
+
+ @Bean
+ public InfoEndpoint infoEndpoint() {
+ return new InfoEndpoint(applicationInfo());
+ }
+
+ @Configuration
+ public static class InfoPropertiesConfiguration {
+
+ @Autowired
+ private ConfigurableEnvironment environment = new StandardEnvironment();
+
+ @Bean
+ public PropertiesConfigurationFactory gitInfo() throws IOException {
+ PropertiesConfigurationFactory factory = new PropertiesConfigurationFactory(
+ new GitInfo());
+ factory.setTargetName("git");
+ Properties properties = new Properties();
+ if (new ClassPathResource("git.properties").exists()) {
+ properties = PropertiesLoaderUtils.loadProperties(new ClassPathResource(
+ "git.properties"));
+ }
+ factory.setProperties(properties);
+ return factory;
+ }
+
+ @Bean
+ public PropertiesConfigurationFactory