EC-21: FEAT: Added new Java package and initialized the repo
Refers Evercatch/evercatch-board#21
This commit is contained in:
101
build.gradle
Normal file
101
build.gradle
Normal file
@@ -0,0 +1,101 @@
|
||||
plugins {
|
||||
id 'java-library'
|
||||
id 'maven-publish'
|
||||
id 'signing'
|
||||
}
|
||||
|
||||
group = 'dev.evercatch'
|
||||
version = '1.0.0'
|
||||
description = 'Official Java SDK for Evercatch webhook infrastructure platform'
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
withSourcesJar()
|
||||
withJavadocJar()
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
ext {
|
||||
okhttpVersion = '4.12.0'
|
||||
gsonVersion = '2.10.1'
|
||||
junitVersion = '5.10.1'
|
||||
mockitoVersion = '5.8.0'
|
||||
springBootVersion = '3.2.1'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// HTTP Client
|
||||
api "com.squareup.okhttp3:okhttp:${okhttpVersion}"
|
||||
|
||||
// JSON Processing
|
||||
api "com.google.code.gson:gson:${gsonVersion}"
|
||||
|
||||
// Spring Boot AutoConfiguration (optional — consumers pull it in themselves)
|
||||
compileOnly "org.springframework.boot:spring-boot-autoconfigure:${springBootVersion}"
|
||||
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}"
|
||||
|
||||
// Testing
|
||||
testImplementation "org.junit.jupiter:junit-jupiter:${junitVersion}"
|
||||
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
|
||||
testImplementation "com.squareup.okhttp3:mockwebserver:${okhttpVersion}"
|
||||
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
||||
}
|
||||
|
||||
test {
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
mavenJava(MavenPublication) {
|
||||
from components.java
|
||||
|
||||
pom {
|
||||
name = 'Evercatch Java SDK'
|
||||
description = project.description
|
||||
url = 'https://evercatch.dev'
|
||||
|
||||
licenses {
|
||||
license {
|
||||
name = 'MIT License'
|
||||
url = 'https://opensource.org/licenses/MIT'
|
||||
}
|
||||
}
|
||||
|
||||
developers {
|
||||
developer {
|
||||
name = 'Evercatch Team'
|
||||
email = 'support@evercatch.dev'
|
||||
organization = 'Evercatch'
|
||||
organizationUrl = 'https://evercatch.dev'
|
||||
}
|
||||
}
|
||||
|
||||
scm {
|
||||
connection = 'scm:git:git://git.psmattas.com/evercatch/evercatch-java.git'
|
||||
developerConnection = 'scm:git:ssh://git.psmattas.com/evercatch/evercatch-java.git'
|
||||
url = 'https://git.psmattas.com/evercatch/evercatch-java'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
// Maven Central via Sonatype Central Publisher Portal
|
||||
// Publishing is handled by the central-publishing-maven-plugin in pom.xml.
|
||||
// Use `mvn deploy -P release` to publish.
|
||||
}
|
||||
}
|
||||
|
||||
signing {
|
||||
def signingKey = findProperty('signingKey') ?: System.getenv('GPG_SIGNING_KEY')
|
||||
def signingPassword = findProperty('signingPassword') ?: System.getenv('GPG_SIGNING_PASSWORD')
|
||||
if (signingKey) {
|
||||
useInMemoryPgpKeys(signingKey, signingPassword)
|
||||
}
|
||||
sign publishing.publications.mavenJava
|
||||
}
|
||||
Reference in New Issue
Block a user