build.gradle 2.71 KB
/*
 * Copyright 2016 LINE Corporation
 *
 * LINE Corporation licenses this file to you 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://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.
 */

// https://docs.gradle.org/current/userguide/java_testing.html#sec:configuring_java_integration_tests
sourceSets {
    integrationTest {
        compileClasspath += sourceSets.main.output
        runtimeClasspath += sourceSets.main.output
    }
}

configurations {
    integrationTestImplementation.extendsFrom implementation
    integrationTestRuntimeOnly.extendsFrom runtimeOnly
    integrationTestCompileOnly.extendsFrom compileOnly
    integrationTestAnnotationProcessor.extendsFrom annotationProcessor
}

task integrationTest(type: Test) {
    description = 'Runs integration tests.'
    group = 'verification'

    testClassesDirs = sourceSets.integrationTest.output.classesDirs
    classpath = sourceSets.integrationTest.runtimeClasspath
    shouldRunAfter test
}

check.dependsOn integrationTest

dependencies {
    api project(':line-bot-model')
    implementation 'org.slf4j:slf4j-api'
    implementation 'com.squareup.okhttp3:logging-interceptor'
    implementation 'com.squareup.retrofit2:converter-jackson'
    implementation 'com.squareup.retrofit2:retrofit'

    testCompileOnly 'org.projectlombok:lombok'
    testAnnotationProcessor 'org.projectlombok:lombok'

    integrationTestCompileOnly 'org.projectlombok:lombok'
    integrationTestAnnotationProcessor 'org.projectlombok:lombok'
    integrationTestImplementation 'com.google.guava:guava'
    integrationTestImplementation 'io.jsonwebtoken:jjwt-api'
    integrationTestImplementation 'io.jsonwebtoken:jjwt-jackson'
    integrationTestImplementation 'org.springframework.boot:spring-boot-starter-test'
    integrationTestImplementation 'org.springframework.boot:spring-boot-starter-logging'
    integrationTestImplementation 'com.fasterxml.jackson.core:jackson-core'
    integrationTestImplementation 'com.fasterxml.jackson.core:jackson-databind'
    integrationTestImplementation 'com.fasterxml.jackson.core:jackson-annotations'
    integrationTestImplementation 'com.fasterxml.jackson.module:jackson-module-parameter-names'
    integrationTestImplementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml'
    integrationTestRuntime 'io.jsonwebtoken:jjwt-impl'
}