<!--
 Copyright (C) 2008 The Android Open Source Project

 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.
-->
<module rename-to="gerrit">
  <inherits name='com.google.gwt.user.User'/>
  <inherits name='com.google.gwt.user.theme.chrome.Chrome'/>
  <inherits name='com.google.gwtjsonrpc.GWTJSONRPC'/>
  <inherits name='com.google.gwtorm.GWTORM'/>
  <inherits name='com.google.gwtexpui.css.CSS'/>
  <inherits name='com.google.gwtexpui.clippy.Clippy'/>
  <inherits name='com.google.gwtexpui.globalkey.GlobalKey'/>
  <inherits name='com.google.gwtexpui.progress.Progress'/>
  <inherits name='com.google.gwtexpui.safehtml.SafeHtml'/>
  <inherits name='com.google.gerrit.UserAgent'/>
  <inherits name='org.spearce.jgit.JGit'/>
  <stylesheet src='gerrit.css' />
  <extend-property name="locale" values="en"/>

  <entry-point class='com.google.gerrit.client.Gerrit'/>
</module>
