mirror of
https://github.com/Prominence/openweathermap-java-api.git
synced 2026-01-10 11:56:44 +03:00
Improved coverage reports generation. Updated docs. Moved logic out of large mappers into small deserializers. Implemented Geocoding API functionality. Implemented Hourly forecast functionality. Implemented Daily forecast functionality. Renamed Coordinate class. Reimplemented Current Weather API: removed multiple locations requests. Marked officially deprecated methods as @Deprecated. Updated tests.
123 lines
3.3 KiB
Groovy
123 lines
3.3 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'maven-publish'
|
|
id 'signing'
|
|
id 'jacoco'
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
maven {
|
|
url = uri('https://repo.maven.apache.org/maven2/')
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.2.2'
|
|
implementation 'org.slf4j:slf4j-api:1.7.36'
|
|
testImplementation 'org.junit.platform:junit-platform-runner:1.8.2'
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
|
|
|
|
annotationProcessor 'com.github.bsideup.jabel:jabel-javac-plugin:0.4.2'
|
|
}
|
|
|
|
group = 'com.github.prominence'
|
|
version = '3.0.0-SNAPSHOT'
|
|
description = 'Java OpenWeatherMap API'
|
|
|
|
configure([tasks.compileJava]) {
|
|
sourceCompatibility = 17 // for the IDE support
|
|
options.release = 8
|
|
|
|
javaCompiler = javaToolchains.compilerFor {
|
|
languageVersion = JavaLanguageVersion.of(17)
|
|
}
|
|
}
|
|
|
|
ext {
|
|
isReleaseVersion = !version.endsWith("SNAPSHOT")
|
|
}
|
|
|
|
java {
|
|
withSourcesJar()
|
|
withJavadocJar()
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
from components.java
|
|
|
|
pom {
|
|
name = 'Java OpenWeatherMap API'
|
|
description = 'Java API for OpenWeatherMap services.'
|
|
url = 'https://github.com/Prominence/openweathermap-java-api'
|
|
|
|
licenses {
|
|
license {
|
|
name = 'MIT License'
|
|
url = 'https://www.opensource.org/licenses/mit-license.php'
|
|
}
|
|
}
|
|
developers {
|
|
developer {
|
|
id = 'Prominence'
|
|
name = 'Alexey Zinchenko'
|
|
email = 'alexey.zinchenko@protonmail.com'
|
|
url = 'https://github.com/prominence'
|
|
}
|
|
}
|
|
scm {
|
|
connection = 'scm:git:git://github.com/Prominence/openweathermap-java-api.git'
|
|
developerConnection = 'scm:git:git@github.com:prominence/openweathermap-java-api.git'
|
|
url = 'https://github.com/Prominence/openweathermap-java-api'
|
|
}
|
|
issueManagement {
|
|
url = 'https://github.com/Prominence/openweathermap-java-api/issues'
|
|
system = 'GitHub Issues'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
maven {
|
|
credentials {
|
|
username = project.findProperty('ossrhUsername')
|
|
password = project.findProperty('ossrhPassword')
|
|
}
|
|
|
|
url = isReleaseVersion ?
|
|
'https://oss.sonatype.org/service/local/staging/deploy/maven2/' :
|
|
'https://oss.sonatype.org/content/repositories/snapshots/'
|
|
}
|
|
}
|
|
}
|
|
|
|
signing {
|
|
sign publishing.publications.mavenJava
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
|
|
tasks.withType(GenerateModuleMetadata) {
|
|
enabled = false
|
|
}
|
|
|
|
jacocoTestReport {
|
|
dependsOn test // tests are required to run before generating the report
|
|
reports {
|
|
csv.required = false
|
|
xml.required = true
|
|
xml.outputLocation = layout.buildDirectory.file('reports/jacoco/report.xml')
|
|
html.outputLocation = layout.buildDirectory.dir('jacocoHtml')
|
|
}
|
|
}
|
|
|