kotlin project can't be build in gradle(can not find reference) - java

I have a java project that write in kotlin ,i use intelliJ IDEA to develop this project. I have trouble on the dependencies setting (multiple project). I already read lot of examples , but I can't find the workaround , here is my dependencies setting code, it can be build in java class correctly , but the kotlin class will get lot of error 'Unresolved reference' . Is that any wrong about my setting or gradle is not suitable with kotlin .
PS : when i only build core project , build process will successful , but build at test project will get the reference unresolved error
following is the code of build.gradle.
allprojects {
apply plugin: 'java'
apply plugin: 'kotlin'
group 'TestProject'
version '1.0'}
subprojects{
apply plugin: 'java'
apply plugin: 'kotlin'
def defaultEncoding = 'UTF-8'
compileJava.options.encoding = defaultEncoding
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
mavenLocal()}
dependencies {
// Kotlin
compile "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.11'
// JDOM
compile "org.jdom:jdom:$jdom_version"
// Jaxen
compile group: 'jaxen', name: 'jaxen', version: '1.1.6'
// JUnit
compile "junit:junit:$junit_version"
// Log4j2
compile "org.apache.logging.log4j:log4j-api:2.5"
compile "org.apache.logging.log4j:log4j-core:2.5"
// JOGL
String[] versions = "$jogl_version".split("\\.")
if (Integer.parseInt(versions[0]) >= 2 && Integer.parseInt(versions[1]) >= 2) {
compile "org.jogamp.gluegen:gluegen-rt:$jogl_version"
compile "org.jogamp.jogl:jogl-all:$jogl_version"
println "JOGL 2.2.0 later"
} else {
compile files("../libs/thirdparty/jogl/jogl-2/jar/jogl-all.jar")
compile files("../libs/thirdparty/jogl/jogl-2/jar/gluegen-rt.jar")
println "JOGL 2.1.5 before"}
runtime "org.jogamp.gluegen:gluegen-rt:$jogl_version:natives-linux-amd64"
runtime "org.jogamp.gluegen:gluegen-rt:$jogl_version:natives-linux-i586"
runtime "org.jogamp.gluegen:gluegen-rt:$jogl_version:natives-macosx-universal"
runtime "org.jogamp.gluegen:gluegen-rt:$jogl_version:natives-windows-amd64"
runtime "org.jogamp.gluegen:gluegen-rt:$jogl_version:natives-windows-i586"
runtime "org.jogamp.jogl:jogl-all:$jogl_version:natives-linux-amd64"
runtime "org.jogamp.jogl:jogl-all:$jogl_version:natives-linux-i586"
runtime "org.jogamp.jogl:jogl-all:$jogl_version:natives-macosx-universal"
runtime "org.jogamp.jogl:jogl-all:$jogl_version:natives-windows-amd64"
runtime "org.jogamp.jogl:jogl-all:$jogl_version:natives-windows-i586"
testCompile "junit:junit:$junit_version"
testCompile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
// Jython
compile 'org.python:jython-standalone:2.7.0'
// RxKotlin
compile 'io.reactivex:rxkotlin:0.55.0'
compile 'io.reactivex:rxswing:0.24.0'
// Mockito
compile 'org.mockito:mockito-all:1.9.5'
compile 'args4j:args4j:2.33'
compile 'org.json:json:20160212'
// Lombok
compile "org.projectlombok:lombok:$lombok_version"}
sourceSets.main.java.srcDirs = ['src']
sourceSets.main.kotlin.srcDirs = ['src']
sourceSets.main.resources.srcDirs = ['../res','src']
sourceSets.test.java.srcDirs = ['test']
sourceSets.test.kotlin.srcDirs = ['test']
sourceSets.test.resources.srcDirs = ['../res','src']
buildDir = 'build'}
buildscript {
// JOGL
ext.jogl_version = '2.1.0'
// Kotlin
ext.kotlin_version = '1.0.1'
// JUnit
ext.junit_version = '4.12'
// JDOM
ext.jdom_version = '1.1'
// Lombok
ext.lombok_version ='1.16.8'
repositories {
flatDir { dirs "lib" }
mavenLocal()
mavenCentral()}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"}}
dependencies {
buildDir = 'out'}
sourceCompatibility = 1.8
project(':mainproject') {
dependencies {
compile project(':core')
compile project(':movie')}}
project(':movie'){
dependencies{
compile project(':core')}}

Related

ObjectBox DuplicateFileException

We are migrating from ObjectBox 0.9.15 to 1.3.4.
After updating classes (removing #Relation, etc) we added dependency for ObjectBox Browser and get following error that appears on build:
Error:Execution failed for task
':app:transformNativeLibsWithMergeJniLibsForDevelopmentDebug'.
com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files
copied in APK lib/armeabi-v7a/libobjectbox.so
File1:
/Users/gaket/.android/build-cache/40bfb66d64a6d186c399e949921eb119d45150b8/output/jni
File2:
/Users/gaket/.android/build-cache/b30b0ce17a00dfed1ecea8969f4b6fa9a5fe7351/output/jni
Our application consists of two modules: Application type and Library type. ObjectBox plugin and dependencies are used and declared only in Application module. If we change dependency to one without browser, everything works smoothly:
// This works well:
// debugCompile "io.objectbox:objectbox-android-objectbrowser:$objectboxVersion"
debugCompile "io.objectbox:objectbox-android:$objectboxVersion"
releaseCompile "io.objectbox:objectbox-android:$objectboxVersion"
Proguard is turned off, multidex enabled.
Do you have any idea what could be the problem?
Applying plugins:
buildscript {
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven { url "http://objectbox.net/beta-repo/" }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.25.1'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0'
classpath 'com.google.gms:google-services:3.1.2'
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.2'
classpath 'io.objectbox:objectbox-gradle-plugin:1.3.4'
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
classpath 'com.google.firebase:firebase-plugins:1.1.1'
classpath 'com.google.gms:google-services:3.1.2'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.getkeepsafe.dexcount'
apply plugin: 'io.fabric'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'project-report'
apply plugin: 'io.objectbox'
// There are some oddities when retrolambda isn't the last plugin so try to keep it as the last applied plugin
apply plugin: 'me.tatarka.retrolambda'
// Other configs
// Finally
apply from: 'dependencies.gradle'
apply plugin: 'com.google.gms.google-services'
Dependencies of the Application module:
ext {
butterknifeVersion = '8.8.1'
conductorVersion = '2.1.3'
daggerVersion = '2.11'
exoPlayerVersion = 'r2.5.1'
facebookVersion = '4.24.0'
firebaseVersion = '11.8.0'
glideVersion = '4.0.0'
leakCanaryVersion = '1.5.4'
logbackVersion = '1.1.1-6'
okhttpVersion = '3.8.1'
retrofitVersion = '2.3.0'
supportVersion = '27.0.2'
objectboxVersion = '1.3.4'
dependencies {
compile project(':vyng-core')
// UI Libraries
compile 'com.beloo.widget:ChipsLayoutManager:0.3.7#aar'
compile 'com.muddzdev:styleabletoast:1.0.9'
compile "com.github.jarrodholliday:material-about-library:1.8.4"
compile('com.vdurmont:emoji-java:3.2.0') {
exclude group: 'org.json', module: 'json'
}
compile('eu.davidea:flexible-adapter:5.0.0-rc2') {
exclude group: 'com.android.support', module: 'design'
}
//noinspection GradleCompatible
compile "com.android.support.constraint:constraint-layout:1.1.0-beta4"
// Rx Libraries
compile 'io.reactivex.rxjava2:rxjava:2.1.6'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4#aar'
compile 'oxim.digital:rx2anim:0.9.1'
compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
// Fabric Libraries
compile('com.crashlytics.sdk.android:crashlytics:2.6.8#aar') {
transitive = true
}
//DB libraries
debugCompile "io.objectbox:objectbox-android-objectbrowser:$objectboxVersion"
releaseCompile "io.objectbox:objectbox-android:$objectboxVersion"
// Logger
compile 'com.jakewharton.timber:timber:4.6.0'
compile 'org.slf4j:slf4j-api:1.7.25'
compile "com.github.tony19:logback-android-core:$logbackVersion"
compile "com.github.tony19:logback-android-classic:$logbackVersion"
// Util Libraries
compile 'com.google.code.gson:gson:2.8.2'
compile 'com.googlecode.libphonenumber:libphonenumber:8.8.1'
compile "com.facebook.android:facebook-android-sdk:$facebookVersion"
compile 'com.writingminds:FFmpegAndroid:0.3.2'
compile 'com.google.guava:guava:23.0-android'
// Image Libraries
compile "com.github.bumptech.glide:glide:$glideVersion"
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
compile "jp.wasabeef:glide-transformations:3.0.1"
//compile 'jp.wasabeef:blurry:2.1.1'
// Support Libraries
compile "com.android.support:appcompat-v7:$supportVersion"
compile "com.android.support:design:$supportVersion"
compile "com.android.support:support-annotations:$supportVersion"
// Firebase Libraries
compile "com.google.firebase:firebase-core:$firebaseVersion"
compile "com.google.firebase:firebase-auth:$firebaseVersion"
compile "com.google.firebase:firebase-messaging:$firebaseVersion"
compile "com.google.firebase:firebase-invites:$firebaseVersion"
// Conductor Libraries
compile "com.bluelinelabs:conductor:2.1.4"
// Dependency Injection
compile "com.google.dagger:dagger:$daggerVersion"
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
provided "javax.annotation:jsr250-api:1.0"
annotationProcessor "com.jakewharton:butterknife-compiler:$butterknifeVersion"
//auth
compile "com.facebook.android:account-kit-sdk:$facebookVersion"
// Video Libraries
compile "com.google.android.exoplayer:exoplayer-ui:$exoPlayerVersion"
compile "com.google.android.exoplayer:exoplayer-core:$exoPlayerVersion"
compile "com.google.android.exoplayer:exoplayer-dash:$exoPlayerVersion"
compile "com.yqritc:android-scalablevideoview:1.0.4"
compile('com.github.jarrodholliday:videocache:2.7.1') {
exclude module: 'slf4j-android'
exclude group: 'com.google.android', module: 'android'
}
// Networking Libraries
compile "com.squareup.retrofit2:retrofit:$retrofitVersion"
compile "com.squareup.retrofit2:converter-gson:$retrofitVersion"
compile "com.squareup.retrofit2:adapter-rxjava2:$retrofitVersion"
compile "com.squareup.okhttp3:logging-interceptor:$okhttpVersion"
compile "com.squareup.okhttp3:okhttp:$okhttpVersion"
// Debug/Testing
debugCompile "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion"
releaseCompile "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"
testCompile "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:2.10.0"
androidTestCompile('com.android.support.test.espresso:espresso-core:3.0.0') {
exclude module: 'support-annotations'
exclude group: 'com.google.code.findbugs'
}
}
}
I decided to leave previous common answer because it can help other people with other libraries.
Specifically for ObjectBox, the reason is that we should put dependencies before applying the plugin, I missed this point in documentation (in "Setup" block):
// ObjectBox browser dependencies must be set before applying ObjectBox plugin so it does not add objectbox-android
// (would result in two conflicting versions, e.g. "Duplicate files copied in APK lib/armeabi-v7a/libobjectbox.so").
dependencies {
debugCompile "io.objectbox:objectbox-android-objectbrowser:$objectboxVersion"
releaseCompile "io.objectbox:objectbox-android:$objectboxVersion"
}
Adding packagingOptions (details are in docs) inside android part of gradle.build helped. However, if someone knows cleaner and not so shallow solution, I will be glad to see it.
android {
// some stuff
packagingOptions {
pickFirst 'lib/armeabi-v7a/libobjectbox.so'
pickFirst 'lib/arm64-v8a/libobjectbox.so'
pickFirst 'lib/x86_64/libobjectbox.so'
pickFirst 'lib/x86/libobjectbox.so'
}
}

NoClassDefFoundError on Spring application

Full error is in this image as I am running on virtual machine in cloud which is access via video feed so I cannot copy and paste.This is a fresh install of ubuntu where I have only installed JDK and nothing else so unaware if other setup needs to be done
https://imgur.com/a/egJ3d
It is a spring boot application.
My build.gradle
group 'com.haughon.daniel'
version '1.0-SNAPSHOT'
buildscript {
repositories{
mavenCentral()
}
dependencies {
classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE'
}
}
// Apply the Spring Boot plugin
apply plugin: 'spring-boot'
// Apply the Java plugin (expects src/main/java to be source folder)
apply plugin: 'java'
apply plugin: 'idea'
// Specify the location where our dependencies will be found
repositories {
mavenCentral()
}
jar {
manifest {
attributes 'Main-Class': 'haughton.dvdstore.Application'
attributes 'addClasspath': 'true'
}
}
// Specify dependencies
dependencies {
compile 'org.hashids:hashids:1.0.1'
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
compile 'org.springframework:spring-orm:4.3.7.RELEASE'
compile 'org.hibernate:hibernate-core:5.2.9.Final'
compile 'org.hibernate:hibernate-entitymanager:5.0.6.Final'
compile 'org.apache.tomcat:tomcat-dbcp:8.0.30'
compile 'org.springframework.boot:spring-boot-starter-security'
compile('org.thymeleaf.extras:thymeleaf-extras-springsecurity4')
//compile 'org.thymeleaf.extras:thymeleaf-extras-springsecurity:3.0.2.RELEASE'
compile group: 'org.springframework.data', name: 'spring-data-jpa', version: '1.11.1.RELEASE'
// https://mvnrepository.com/artifact/com.google.code.gson/gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.8'
runtime 'com.h2database:h2'
runtime 'javax.transaction:jta:1.1'
runtime 'org.aspectj:aspectjweaver:1.8.7'
testCompile 'org.springframework.boot:spring-boot-starter-test'
}
This is because your dependencies are not included in one jar file.
use ./gradlew clean build
please see this post:
java.lang.NoClassDefFoundError: when trying to run jar

How to use jUnit 5 with Gradle

Running the IDEA IDE I want to add a gradle dependency for the jUnit v5.
Here is my build.gradle file, I used this answer as a guide.
apply plugin: 'java'
sourceCompatibility = 1.8
repositories { mavenCentral() }
apply plugin: 'org.junit.platform.gradle.plugin'
dependencies {
testCompile 'junit:junit:4.12'
compile 'junit:junit:4.12'
testRuntime("org.junit.vintage:junit-vintage-engine:4.12.0-M4")
testCompile("org.junit.jupiter:junit-jupiter-api:5.0.0-M4")
testRuntime("org.junit.jupiter:junit-jupiter-engine:5.0.0-M4")
// Enable use of the JUnitPlatform Runner within the IDE
testCompile("org.junit.platform:junit-platform-runner:1.0.0-M4")
compile ("org.junit.jupiter:junit-jupiter-api:5.0.0-M4")
}
sourceSets {
main {
java {
srcDir 'src'
}
}
}
junitPlatform {
details 'tree'
}
The problem here is that the jUnit4 annotations are resolved by import but all the v5 annotations are not resolved.
One example:
#ParameterizedTest
public void testExample() {
// My annotations is not resolved
}
What is the right way to add a jUnit5 dependency using gradle?
EDIT
I started a new gradle java project from scratch to get to the bottom of this.
Here is my current build.gradle.
group 'com.iay0361'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
repositories { mavenCentral() }
apply plugin: 'org.junit.platform.gradle.plugin'
dependencies {
testCompile group: 'org.junit.vintage', name: 'junit-vintage-engine', version: '4.12.0-RC3'
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.0.0-RC3'
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.0.0-RC3'
compile group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.0.0-RC3'
testCompile group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.0.0-RC3'
}
sourceSets {
main {
java {
srcDir 'src'
}
}
}
junitPlatform {
details 'tree'
}
I wrote the #Test annotation in a new class file under test after which it asked me to "add the 'jUnit5' to classpath
which I did and this time selected the Copy 'jUnit5' libraries to... instead of using the IDEA distributor.
Now it added these files in module:
The file is still RC2 but in build.gradle it is RC3.
There are also no jUnit jars in "External Library" directory
What am I missing, the problem is still that the IDE cannot resolve some jUnit5 annotations like #ParamiterizedTest.
Here is a quick sample on how to configure gradle with junit5. In your dependencies, remove the compile statement for the junit:4.12 artifact verison.
// If you also want to support JUnit 3 and JUnit 4 tests
testCompile("junit:junit:4.12")
In the buildscript() method, include these:
buildscript {
repositories { mavenCentral() }
dependencies { classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0-RC3' }
}

add jar dynamically in to running java project(Main project)

I need to add jar generated from running application into same application classpath.
Flow - i have generated set of class files(packaged as jar) from WSDL using axis 2 from java .Now i need to access the .class file in generated jar on same java project.
I have used Build Tool Gradle
Here is my code , to build jar for generated set of java files.
buildscript {
ext {
springBootVersion = '1.5.2.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
sourceCompatibility = 1.8
bootRepackage {
enabled = false
}
sourceSets {
compile fileTree(dir:'C://Users//10Decoders//Downloads//axis2-1.7.4-bin//axis2-1.7.4//lib',include: '*.jar')
preBuildSources
main {
java {
srcDirs = ['../'+customProp]
println "sourceSets -- > DONE ---"+customProp
}
}
}
task copypackage(type: Copy){
println "COpy Jar to package - > "
into customProp
from customProp+'/src/'
}
jar {
archiveName = customProp+'.jar'
destinationDir = projectDir
println "JAR BUILD---- > "
}
}
task mydatafile(dependsOn:build){
println "COpy Jar to claspath - > "+customProp
doLast{
copy{
into "../"
from customProp+'.jar'
}
}
}
build.dependsOn copypackage
Another Gradle file to build jar for current java application(Which has main function)
Build.script 2
buildscript {
ext {
springBootVersion = '1.5.2.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
dependencies {
compile 'org.springframework:spring-support:2.0.8'
compile 'org.springframework:spring-aop:4.1.2.RELEASE'
compile 'org.springframework:spring-beans:4.1.2.RELEASE'
compile 'org.springframework:spring-context:4.1.2.RELEASE'
compile 'org.springframework:spring-core:4.1.2.RELEASE'
compile 'com.squareup.okio:okio:1.11.0'
compile 'com.squareup.okhttp3:okhttp:3.6.0'
compile 'org.json:json:20160810'
compile 'mysql:mysql-connector-java:5.1.38'
compile 'org.apache.commons:commons-dbcp2:2.0.1'
compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.0-api', version: '1.0.1.Final'
compile group: 'log4j', name: 'log4j', version: '1.2.17'
compile('org.springframework.boot:spring-boot-starter-jdbc')
compile group: 'com.predic8', name: 'soa-model-core', version: '1.5.4'
// https://mvnrepository.com/artifact/wsdl4j/wsdl4j
compile group: 'wsdl4j', name: 'wsdl4j', version: '1.6.2'
// https://mvnrepository.com/artifact/org.reflections/reflections
compile group: 'org.reflections', name: 'reflections', version: '0.9.5-RC2'
}
jar {
archiveName = 'batch.jar'
destinationDir = projectDir
manifest {
attributes (
'Main-Class': 'com.wsdl.migration.SpringWsdlFieldIdentification',
'Class-Path': 'testAPP.jar mydata/'+customProp+'.jar'
)
}
}
task copyLibs(type: Copy){
println "buildDir- > "+buildDir
}
build.dependsOn copyLibs
Here customProp is variable to get the jar name dynamically while run the gradle build.(gradle build -P customProp=XXXXtask ).
BottomLine : I cannot able to access the classes from the dynamically generate jar.So the Question becomes - How can i add the jar file into running application on runtime??.Thanks in advance.

Can't run individual tests within Intellij gradle

I am attempting to create a project with Gradle, when I run individual tests I get this error.
Information:26/10/16 11:22 - Compilation completed with 1 error and 0
warnings in 158ms Error:gradle-resources-test:Sunday-Sessions_test:
java.lang.NoSuchMethodError:
org.gradle.api.specs.AndSpec.getSpecsArray()[Lorg/gradle/api/specs/Spec;
I have tried refreshing the gradle project and have also done file->invalidate caches and restart, this has not helped. Here is my gradle file, can anyone see why this is happening?
buildscript {
repositories {
jcenter()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "io.ratpack:ratpack-gradle:1.3.3"
classpath "com.github.jengelman.gradle.plugins:shadow:1.2.3"
}
}
ext {
// The drivers we want to use
drivers = ["chrome", "phantomJs"]
ext {
gebVersion = '0.13.1'
seleniumVersion = '2.52.0'
chromeDriverVersion = '2.19'
phantomJsVersion = '1.9.7'
}
}
apply plugin: "io.ratpack.ratpack-groovy"
apply plugin: "com.github.johnrengelman.shadow"
apply plugin: "idea"
apply plugin: "eclipse"
repositories {
jcenter()
}
dependencies {
// Default SLF4J binding. Note that this is a blocking implementation.
// See here for a non blocking appender http://logging.apache.org/log4j/2.x/manual/async.html
runtime 'org.slf4j:slf4j-simple:1.7.12'
// If using Spock, need to depend on geb-spock
testCompile("org.gebish:geb-spock:$gebVersion") {
exclude group: 'org.codehaus.groovy'
}
testCompile("org.spockframework:spock-core:1.0-groovy-2.4") {
exclude group: "org.codehaus.groovy"
}
// If using JUnit, need to depend on geb-junit (3 or 4)
testCompile("org.gebish:geb-junit4:$gebVersion") {
exclude group: "org.codehaus.groovy"
}
// http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '2.52.0'
compile "org.shamdata:sham:0.3"
// Drivers
testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
// using a custom version of phantomjs driver for now as the original one does not support WebDriver > 2.43.1
testCompile("com.codeborne:phantomjsdriver:1.2.1") {
// phantomjs driver pulls in a different selenium version
transitive = false
}
testCompile('io.ratpack:ratpack-remote-test:1.3.0') {
exclude group: "org.codehaus.groovy"
}
// http://mvnrepository.com/artifact/com.google.inject/guice
compile group: 'com.google.inject', name: 'guice', version: '3.0'
compile 'io.ratpack:ratpack-handlebars:1.2.0'
compile 'com.fasterxml.jackson:jackson-parent:2.7-1'
compile 'postgresql:postgresql:9.1-901-1.jdbc4'
compile 'org.codehaus.groovy:groovy-all:2.4.4'
testCompile ratpack.dependency('test')
compile ratpack.dependency("remote")
testCompile ratpack.dependency("remote-test")
compile ratpack.dependency("hikari")
// https://mvnrepository.com/artifact/com.restfb/restfb
compile group: 'com.restfb', name: 'restfb', version: '1.26.0'
//Grab the user location with GeoIP2
compile 'com.maxmind.geoip2:geoip2:2.8.0-rc1'
}

Categories