#
# Gitblit project descriptor
#

# Specify minimum Moxie version required to build
requires: 0.9.4

# Project Metadata
name: Gitblit
description: pure Java Git solution
groupId: com.gitblit
artifactId: gitblit
version: 1.8.0
inceptionYear: 2011

# Current stable release
releaseVersion: 1.8.0
releaseDate: 2016-06-22

# Project urls
url: 'http://gitblit.com'
issuesUrl: 'https://github.com/gitblit/gitblit'
socialNetworkUrl: 'https://plus.google.com/114464678392593421684'
forumUrl: 'http://groups.google.com/group/gitblit'
mavenUrl: 'http://gitblit.github.io/gitblit-maven'

# Licenses section included for POM generation
licenses:
- {
    name: Apache ASL v2.0
    url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
  }

# Developers section included for POM generation
developers:
- {
  id: james
  name: James Moger
  url: 'https://plus.google.com/u/0/116428776452027956920'
  organization: VAS
  organizationUrl: 'http://www.vas.com'
  roles: developer
  }

# SCM section included for POM generation
scm: {
  connection: 'scm:git:git://github.com/gitblit/gitblit.git'
  developerConnection: 'scm:git:https://github.com/gitblit/gitblit.git'
  url: 'https://github.com/gitblit/gitblit'
  tag: HEAD
  }

# Mainclass is used for setting jar manifests and using the mx:run target
mainclass: com.gitblit.GitBlitServer

# Moxie supports multiple source directories and allows you to assign
# a scope to each directory.
sourceDirectories:
- compile 'src/main/java'
- compile 'src/main/bugtraq'
- compile 'src/main/gen' apt
- test 'src/test/java'
- test 'src/test/bugtraq'
# Moxie supports one site-scoped directory for mx:doc
- site 'src/site'

resourceDirectories:
- compile 'src/main/resources'
- site 'src/site/resources'

# compile for Java 7 class format
tasks: {
	'mx:javac' : {
        source: 1.7
        target: 1.7
        compiler: javac1.7
        encoding: UTF-8
        # stop complaints about bootstrap classpath when compiling with Java 7
        compilerArgs: '-Xlint:-options'
    }
}

# Generate Eclipse project files.
# Generate IntelliJ IDEA module files.
# Generate a distribution Maven POM (not suitable for building with Maven).
apply: eclipse, intellij, pom

# Copy all retrieved dependencies to the "ext" directory.
# Generated IDE settings (.classpath, etc) will use the artifacts
# from this project-relative directory. This allows the IDE settings
# to be version-controlled and shared.
dependencyDirectory: ext

# Register the Eclipse JGit Maven repositories
registeredRepositories:
- { id: eclipse, url: 'http://repo.eclipse.org/content/groups/releases' }
- { id: eclipse-snapshots, url: 'http://repo.eclipse.org/content/groups/snapshots' }
- { id: gitblit, url: 'http://gitblit.github.io/gitblit-maven' }

# Source all dependencies from the following repositories in the specified order
repositories: central, eclipse-snapshots, eclipse, gitblit

# Convenience properties for dependencies
properties: {
  jetty.version  : 9.2.13.v20150730
  slf4j.version  : 1.7.12
  wicket.version : 1.4.22
  lucene.version : 4.10.4
  jgit.version   : 4.1.1.201511131810-r
  groovy.version : 2.4.4
  bouncycastle.version : 1.52
  selenium.version : 2.28.0
  wikitext.version : 1.4
  sshd.version: 1.0.0
  mina.version: 2.0.9
  guice.version : 4.0
  # Gitblit maintains a fork of guice-servlet
  guice-servlet.version : 4.0-gb2
  }

# Dependencies
#
#   May be tagged with ":label" notation to group dependencies.
#
#   "@extension" fetches the artifact with the specified extension
#   and ignores all transitive dependencies.
#
#   "!groupId" or "!groupId:artifactId" excludes all matching transitive
#   dependencies in that dependency's dependency graph.
#

dependencies:
- compile 'com.google.inject:guice:${guice.version}' :war :fedclient
- compile 'com.google.inject.extensions:guice-servlet:${guice-servlet.version}' :war
- compile 'com.google.guava:guava:18.0' :war :fedclient
- compile 'com.intellij:annotations:12.0' :war
- compile 'log4j:log4j:1.2.17' :war :fedclient :manager
- compile 'org.slf4j:slf4j-api:${slf4j.version}' :war :fedclient :manager
- compile 'org.slf4j:slf4j-log4j12:${slf4j.version}' :war :fedclient :manager
- compile 'com.sun.mail:javax.mail:1.5.1' :war
- compile 'javax.servlet:javax.servlet-api:3.1.0' :fedclient
- compile 'org.eclipse.jetty.aggregate:jetty-all:${jetty.version}' @jar
- compile 'org.apache.wicket:wicket:${wicket.version}' :war !org.mockito
- compile 'org.apache.wicket:wicket-auth-roles:${wicket.version}' :war !org.mockito
- compile 'org.apache.wicket:wicket-extensions:${wicket.version}' :war !org.mockito
- compile 'org.apache.lucene:lucene-core:${lucene.version}' :war :fedclient
- compile 'org.apache.lucene:lucene-analyzers-common:${lucene.version}' :war :fedclient
- compile 'org.apache.lucene:lucene-highlighter:${lucene.version}' :war :fedclient
- compile 'org.apache.lucene:lucene-memory:${lucene.version}' :war :fedclient
- compile 'org.apache.lucene:lucene-queryparser:${lucene.version}' :war :fedclient
- compile 'org.pegdown:pegdown:1.5.0' :war
- compile 'org.fusesource.wikitext:wikitext-core:${wikitext.version}' :war
- compile 'org.fusesource.wikitext:twiki-core:${wikitext.version}' :war
- compile 'org.fusesource.wikitext:textile-core:${wikitext.version}' :war
- compile 'org.fusesource.wikitext:tracwiki-core:${wikitext.version}' :war
- compile 'org.fusesource.wikitext:mediawiki-core:${wikitext.version}' :war
- compile 'org.fusesource.wikitext:confluence-core:${wikitext.version}' :war
- compile 'org.eclipse.jgit:org.eclipse.jgit:${jgit.version}' :war :fedclient :manager !junit
- compile 'org.eclipse.jgit:org.eclipse.jgit.http.server:${jgit.version}' :war :manager !junit
- compile 'org.bouncycastle:bcprov-jdk15on:${bouncycastle.version}' :war
- compile 'org.bouncycastle:bcmail-jdk15on:${bouncycastle.version}' :war
- compile 'org.bouncycastle:bcpkix-jdk15on:${bouncycastle.version}' :war
- compile 'org.apache.sshd:sshd-core:${sshd.version}' :war !org.easymock
- compile 'org.apache.mina:mina-core:${mina.version}' :war !org.easymock
- compile 'rome:rome:0.9' :war :manager :api
- compile 'com.google.code.gson:gson:2.3.1' :war :fedclient :manager :api
- compile 'org.codehaus.groovy:groovy-all:${groovy.version}' :war
- compile 'com.unboundid:unboundid-ldapsdk:2.3.8' :war
- compile 'org.apache.ivy:ivy:2.2.0' :war
- compile 'com.toedter:jcalendar:1.3.2' :authority
- compile 'org.apache.commons:commons-compress:1.4.1' :war
- compile 'commons-io:commons-io:2.2' :war
- compile 'com.force.api:force-partner-api:24.0.0' :war
- compile 'org.freemarker:freemarker:2.3.22' :war
- compile 'com.github.dblock.waffle:waffle-jna:1.7.3' :war
- compile 'org.kohsuke:libpam4j:1.8' :war
- compile 'args4j:args4j:2.0.29' :war :fedclient
- compile 'commons-codec:commons-codec:1.7' :war
- compile 'redis.clients:jedis:2.6.2' :war
- compile 'ro.fortsoft.pf4j:pf4j:0.9.0' :war
- compile 'org.apache.tika:tika-core:1.5' :war
- compile 'org.jsoup:jsoup:1.7.3' :war
- test 'junit'
# Dependencies for Selenium web page testing
- test 'org.seleniumhq.selenium:selenium-java:${selenium.version}' @jar
- test 'org.seleniumhq.selenium:selenium-support:${selenium.version}' @jar
- test 'org.seleniumhq.selenium:selenium-firefox-driver:${selenium.version}'
- test 'org.mockito:mockito-core:1.10.19'
# Dependencies with the "build" scope are retrieved
# and injected into the Ant runtime classpath
- build 'jacoco'
