Gitiles is a simple browser for Git repositories It is based on JGit and uses Google Closure Templates as a templating language. Access to underlying repositories is based on a few simple interfaces; currently, there is only a simple disk-based implementation, but other implementations are possible. Features include viewing repositories by branch, shortlogs, showing individual files and diffs with syntax highlighting, with many more planned. The application itself is a standard Java servlet and is configured primarily via a git config format file. Deploying the WAR in any servlet container should be possible. In addition, a standalone server may be run with jetty-maven-plugin with `mvn package && mvn jetty:run`. Change-Id: I0ab8875b6c50f7df03b9a42b4a60923a4827bde7
diff --git a/gitiles-war/pom.xml b/gitiles-war/pom.xml new file mode 100644 index 0000000..9ad21f1 --- /dev/null +++ b/gitiles-war/pom.xml
@@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright 2012 Google Inc. All Rights Reserved. + +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. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>com.google.gitiles</groupId> + <artifactId>gitiles-parent</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + + <artifactId>gitiles-war</artifactId> + <packaging>war</packaging> + <name>Gitiles - WAR</name> + + <description> + Gitiles packaged as a standard web application archive + </description> + + <dependencies> + <dependency> + <groupId>com.google.gitiles</groupId> + <artifactId>gitiles-servlet</artifactId> + <version>${project.version}</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tomcat</groupId> + <artifactId>servlet-api</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>${jettyVersion}</version> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + <configuration> + <webResources> + <resource> + <directory>../gitiles-servlet/src/main/resources/com/google/gitiles/static</directory> + <targetPath>+static</targetPath> + </resource> + </webResources> + </configuration> + </plugin> + </plugins> + </build> +</project>
diff --git a/gitiles-war/src/main/webapp/WEB-INF/web.xml b/gitiles-war/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..b4ad57d --- /dev/null +++ b/gitiles-war/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,35 @@ +<!DOCTYPE web-app PUBLIC + "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" + "http://java.sun.com/dtd/web-app_2_3.dtd" > +<!-- + Copyright 2012 Google Inc. All Rights Reserved. + + 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. +--> +<web-app> + <display-name>Gitiles</display-name> + + <servlet> + <servlet-name>gitiles</servlet-name> + <servlet-class>com.google.gitiles.GitilesServlet</servlet-class> + <init-param> + <param-name>configPath</param-name> + <param-value>gitiles.config</param-value> + </init-param> + </servlet> + + <servlet-mapping> + <servlet-name>gitiles</servlet-name> + <url-pattern>/*</url-pattern> + </servlet-mapping> +</web-app>
diff --git a/gitiles-war/webdefault.xml b/gitiles-war/webdefault.xml new file mode 100644 index 0000000..8eaddc4 --- /dev/null +++ b/gitiles-war/webdefault.xml
@@ -0,0 +1,28 @@ +<!DOCTYPE web-app PUBLIC + "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" + "http://java.sun.com/dtd/web-app_2_3.dtd" > +<!-- + Copyright 2012 Google Inc. All Rights Reserved. + + 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. +--> +<web-app> + <servlet> + <servlet-name>default</servlet-name> + <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>default</servlet-name> + <url-pattern>/+static/*</url-pattern> + </servlet-mapping> +</web-app>