apply plugin: "idea" apply plugin: "eclipse" apply plugin: "java" apply plugin: "com.diffplug.spotless" group = "com.tribufu" version = "1.3.0" buildscript { repositories { mavenCentral() maven { url = "https://mvn.tribufu.com/releases" } } dependencies { classpath "com.android.tools.build:gradle:2.3.+" classpath "com.diffplug.spotless:spotless-plugin-gradle:6.11.0" classpath "com.github.dcendents:android-maven-gradle-plugin:2.1" } } repositories { mavenCentral() maven { url = "https://mvn.tribufu.com/releases" } } sourceSets { main.java.srcDirs = ["src/main/java"] } if(hasProperty("target") && target == "android") { apply plugin: "com.android.library" apply plugin: "com.github.dcendents.android-maven" android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 14 targetSdkVersion 25 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith(".aar")) { def fileName = "${project.name}-${variant.baseName}-${version}.aar" output.outputFile = new File(outputFile.parent, fileName) } } } dependencies { provided "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" } } afterEvaluate { android.libraryVariants.all { variant -> def task = project.tasks.create "jar${variant.name.capitalize()}", Jar task.description = "Create jar artifact for ${variant.name}" task.dependsOn variant.javaCompile task.from variant.javaCompile.destinationDirectory task.destinationDirectory = project.file("${project.buildDir}/outputs/jar") task.archiveFileName = "${project.name}-${variant.baseName}-${version}.jar" artifacts.add("archives", task) } } task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = "sources" } artifacts { archives sourcesJar } } else { apply plugin: "java" apply plugin: "maven-publish" sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 publishing { publications { maven(MavenPublication) { artifactId = "tribufu" from components.java } } } task execute(type:JavaExec) { main = System.getProperty("mainClass") classpath = sourceSets.main.runtimeClasspath } } ext { jakarta_annotation_version = "1.3.5" } dependencies { implementation "com.google.code.findbugs:jsr305:3.0.2" implementation "com.google.code.gson:gson:2.9.1" implementation "com.squareup.okhttp3:logging-interceptor:4.12.0" implementation "com.squareup.okhttp3:okhttp:4.12.0" implementation "io.gsonfire:gson-fire:1.9.0" implementation "io.swagger:swagger-annotations:1.6.8" implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" implementation "jakarta.ws.rs:jakarta.ws.rs-api:2.1.6" implementation "org.openapitools:jackson-databind-nullable:0.2.6" implementation group: "org.apache.commons", name: "commons-lang3", version: "3.17.0" testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.3" testImplementation "org.mockito:mockito-core:3.12.4" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.3" } javadoc { options.tags = [ "http.response.details:a:Http Response Details" ] } spotless { enforceCheck false format "misc", { target ".gitignore" trimTrailingWhitespace() indentWithSpaces() endWithNewline() } java { googleJavaFormat("1.8").aosp().reflowLongStrings() removeUnusedImports() importOrder() } } test { useJUnitPlatform() dependsOn "cleanTest" testLogging { events "passed", "skipped", "failed" } }