Setting up a project with GradleΒΆ

You might want to use the following build.gradle as a starting point if you set up a new project:

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

repositories {
    mavenCentral()
}

configurations {
    javaAgent
}

dependencies {
    ['armeria',
     'armeria-grpc',
     'armeria-jetty',
     'armeria-kafka',
     'armeria-logback',
     'armeria-retrofit2',
     'armeria-thrift',
     'armeria-tomcat',
     'armeria-zipkin',
     'armeria-zookeeper'].each {
        compile "com.linecorp.armeria:${it}:0.54.2"
    }

    // Logging
    runtime 'ch.qos.logback:logback-classic:1.2.3'
    runtime 'org.slf4j:log4j-over-slf4j:1.7.25'
}

// Require Java 8 to build the project.
tasks.withType(JavaCompile) {
    sourceCompatibility '1.8'
    targetCompatibility '1.8'
}

You may not need all Armeria modules depending on your use case. Please remove unused ones.

Armeria also provides its artifacts as a shaded JAR so that it can coexist with other components better. The following is the list of the shaded dependencies:

Please append the -shaded suffix to the artifact ID to use the shaded dependencies. e.g. armeria to armeria-shaded and armeria-thrift to armeria-thrift-shaded