task wrapper(type: Wrapper) {
  gradleVersion = '2.3'
}

buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath 'com.github.jengelman.gradle.plugins:shadow:0.8'
  }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'shadow'

sourceCompatibility = 1.7
targetCompatibility = 1.7

group = 'com.googlesource.gerrit.plugins.rabbitmq'
version = '2.1-SNAPSHOT'

jar {
  manifest {
    attributes(
      'Gerrit-PluginName': project.name,
      'Gerrit-ApiType': apiType,
      'Gerrit-ApiVersion': apiVersion,
      'Gerrit-Module': 'com.googlesource.gerrit.plugins.rabbitmq.Module',
      'Implementation-Vendor': 'rinrinne',
      'Implementation-URL': 'https://github.com/rinrinne/gerrit-rabbitmq-plugin',
      'Implementation-Title': "${apiType} ${project.name}",
      'Implementation-Version' : version,
      'Created-By': 'rinrinne (rinrin.ne@gmail.com)'
    )
  } 
}

shadow {
  classifier = apiVersion
  exclude 'META-INF/*.DSA'
  exclude 'META-INF/*.RSA'
  artifactSet {
    include 'com.rabbitmq'
  }
}

repositories {
  mavenLocal()
  mavenCentral()
  maven {
    name = "Gerrit API repository"
    url = "https://gerrit-api.storage.googleapis.com/"
    artifactUrls = [
      "https://gerrit-api.storage.googleapis.com/release/",
      "https://gerrit-api.storage.googleapis.com/snapshot/",
    ]
  }
}

dependencies {
  compile(
    [group: 'com.google.gerrit', name: "gerrit-${apiType}-api", version: apiVersion],
    [group: 'com.google.code.gson', name: 'gson', version: '2.1'],
    [group: 'commons-lang', name: 'commons-lang', version: '2.5'],
    [group: 'commons-codec', name: 'commons-codec', version: '1.4'],
    [group: 'com.rabbitmq', name: 'amqp-client', version: '3.4.4'],
  )
}

assemble.dependsOn shadowJar
