# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

org.gradle.parallel=true
org.gradle.caching=true
org.gradle.jvmargs=-Xmx2g

GROUP=com.uber.nullaway
VERSION_NAME=0.9.6-SNAPSHOT

POM_DESCRIPTION=A fast annotation-based null checker for Java

POM_URL=https://github.com/uber/NullAway/
POM_SCM_URL=https://github.com/uber/NullAway/
POM_SCM_CONNECTION=scm:git:git://github.com/uber/NullAway.git
POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/uber/NullAway.git

POM_LICENCE_NAME=The MIT License
POM_LICENCE_URL=https://opensource.org/licenses/MIT
POM_LICENCE_DIST=repo

POM_DEVELOPER_ID=uber
POM_DEVELOPER_NAME=Uber Technologies
POM_DEVELOPER_URL=https://uber.com
