Skip to content

Commit

Permalink
Dependency management (#78)
Browse files Browse the repository at this point in the history
  • Loading branch information
tgianos authored and ajoymajumdar committed May 11, 2017
1 parent 761f714 commit 42b45ef
Show file tree
Hide file tree
Showing 24 changed files with 924 additions and 361 deletions.
156 changes: 123 additions & 33 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,65 +1,147 @@
/*
* Copyright 2016 Netflix, Inc.
* 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:https://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.
*
* Copyright 2017 Netflix, Inc.
*
* 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:https://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.
*
*/

buildscript {
repositories {
jcenter()
maven {
url "http:https://repo.spring.io/milestone"
}
}

dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${spring_boot_version}")
classpath("io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE")
classpath("org.asciidoctor:asciidoctor-gradle-plugin:1.5.3")
classpath("gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:1.4.17")
classpath("com.netflix.nebula:gradle-aggregate-javadocs-plugin:3.0.1")
}
}

plugins {
id 'nebula.netflixoss' version '3.6.0'
id "com.github.kt3k.coveralls" version "2.8.1"
id "nebula.netflixoss" version "3.6.0"
id "org.ajoberstar.github-pages" version "1.6.0"
}

apply plugin: "nebula-aggregate-javadocs"

ext.githubProjectName = rootProject.name

def javaProjects = subprojects.findAll {
it.name != "metacat-demo" && it.name != "metacat-ddl" && it.name != "metacat-docs"
}

allprojects {
apply plugin: "jacoco"
apply plugin: "idea"
apply plugin: "eclipse"

repositories {
jcenter()
maven {
url "http:https://repo.spring.io/milestone"
}
maven {
url "http:https://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release"
}
}
}

subprojects {
apply plugin: 'nebula.netflixoss'
apply plugin: 'nebula.source-jar'
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'checkstyle'
apply plugin: 'findbugs'
apply plugin: 'pmd'
idea {
project {
jdkName = "1.8"
languageLevel = "1.8"
vcs = "Git"
}
}

task clean(type: Delete) {
delete "build"
}

configure(javaProjects) {
apply plugin: "nebula.netflixoss"
apply plugin: "java"
apply plugin: "checkstyle"
apply plugin: "findbugs"
apply plugin: "pmd"
apply plugin: "io.spring.dependency-management"
apply plugin: "com.gorylenko.gradle-git-properties"
apply plugin: "groovy"

group = "com.netflix.${githubProjectName}"

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencyManagement {
imports {
mavenBom "io.spring.platform:platform-bom:${spring_platform_version}"
// mavenBom "org.springframework.cloud:spring-cloud-dependencies:${spring_cloud_version}"
}
}

configurations {
all*.exclude module: 'jcl-over-slf4j'
all*.exclude module: 'log4j-over-slf4j'
all*.exclude module: 'slf4j-jdk14'
all*.exclude module: "jcl-over-slf4j"
all*.exclude module: "log4j-over-slf4j"
all*.exclude module: "slf4j-jdk14"
}

dependencies {
compileOnly "org.projectlombok:lombok:1.16.10"
testCompile 'org.spockframework:spock-core:1.1-groovy-2.4-rc-3'
testCompile 'org.spockframework:spock-guice:1.1-groovy-2.4-rc-3'
testCompile 'org.codehaus.gpars:gpars:1.2.1'
testCompile 'org.objenesis:objenesis:2.2' // Required by spock to mock classes
testCompile 'cglib:cglib-nodep:3.2.4'
testCompile 'org.hsqldb:hsqldb:2.3.4'
/*******************************
* Compile Dependencies
*******************************/

compile("com.google.guava:guava")
compile("com.google.code.findbugs:annotations")
compile("com.google.code.findbugs:jsr305")

/*******************************
* Provided Dependencies
*******************************/

compileOnly("org.projectlombok:lombok")

/*******************************
* Runtime Dependencies
*******************************/

/*******************************
* Test Dependencies
*******************************/

testCompile("cglib:cglib-nodep:${cglib_nodep_version}")
testCompile("org.codehaus.groovy:groovy-all")
testCompile("org.codehaus.gpars:gpars:${gpars_version}")
testCompile("org.objenesis:objenesis")
testCompile("org.spockframework:spock-core")
testCompile("org.spockframework:spock-guice:${spock_version}")
testRuntime("org.hsqldb:hsqldb")
}

compileJava {
// options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
options.incremental = true
}

compileTestJava {
// options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}

checkstyle {
Expand All @@ -75,10 +157,11 @@ subprojects {
reports.html.enabled true
}

// Print out full stack traces when our tests fail to assist debugging (e.g., when scanning Jenkins console output)
tasks.withType(Test) {
testLogging {
exceptionFormat = 'full'
jacocoTestReport {
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
}

Expand All @@ -88,4 +171,11 @@ subprojects {
html.enabled = true
}
}

// Print out full stack traces when our tests fail to assist debugging (e.g., when scanning Jenkins console output)
tasks.withType(Test) {
testLogging {
exceptionFormat = "full"
}
}
}
71 changes: 50 additions & 21 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,33 +1,62 @@
##
#
# Copyright 2016 Netflix, Inc.
# 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:https://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.
# Copyright 2017 Netflix, Inc.
#
# 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:https://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.
#
##

# Temporarily change release scope to major
release.scope=major

## Spring Dependency Versions

# Used in documentation and for including the Gradle plugin
spring_boot_version=1.5.2.RELEASE
spring_cloud_version=Camden.SR6
spring_platform_version=Brussels-SR1

## Override Spring Platform IO Versions

elasticsearch.version=1.7.1
guava.version=19.0
guice.version=4.0
jersey.version=2.19
tomcat.version=8.0.22

## Versions Not Covered by Spring BOMs

amazon_sns_version=1.11.60
airlift_version=0.116
cassandra_driver_version=3.1.4
commons_dbcp_version=2.1
guava_version=19.0
archaius_version=0.6.5
cglib_nodep_version=3.2.4
commons_dbutils_version=1.6
dozer_version=5.4.0
equalsverifier_version=1.7.2
feign_version=9.3.1
gpars_version=1.2.1
guava_retrying_version=2.0.0
guice_version=4.0
hadoopcore_version=1.2.1
hadoop_core_version=1.2.1
hive_version=1.2.1
jackson_version=2.5.5
java_object_diff_version=0.91.1
jersey2_guice_version=0.5
jersey_version=2.19
mysql_connector_version=5.1.35
postgresql_driver_version=42.0.0
jersey_client_version=1.19.1
json_patch_version=1.9
jsr311_api_version=1.1.1
pig_version=0.14.0
redshift_driver_version=1.2.1.1001
slf4j_version=1.7.12
servo_version=0.8.3
spock_version=1.0-groovy-2.4
swagger_version=1.3.12
guavaretrying_version=2.0.0
commondbutil_version=1.6
testing_mysql_server_version=0.1
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Tue Nov 29 16:31:45 PST 2016
#Thu Mar 23 16:19:55 PDT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\:https://services.gradle.org/distributions/gradle-3.0-all.zip
distributionUrl=https\:https://services.gradle.org/distributions/gradle-3.4.1-bin.zip
Loading

0 comments on commit 42b45ef

Please sign in to comment.