1+ plugins {
2+ id(" java-library" )
3+ id(" maven-publish" )
4+ id(" idea" )
5+ }
6+
7+ group = " org.indilib.i4j"
8+ description = " INDIForJava-core"
9+ version = " 2.0.1"
10+
11+ repositories {
12+ mavenCentral()
13+ }
14+
15+ java {
16+ sourceCompatibility = JavaVersion .VERSION_1_8
17+ targetCompatibility = JavaVersion .VERSION_1_8
18+ }
19+
20+ dependencies {
21+ api(" org.slf4j:slf4j-api:1.7.32" )
22+ api(" org.glassfish.tyrus:tyrus-client:2.0.1" )
23+ implementation(" com.thoughtworks.xstream:xstream:1.4.18" )
24+ }
25+
26+ tasks.jar {
27+ duplicatesStrategy = DuplicatesStrategy .EXCLUDE
28+ manifest {
29+ from(" META-INF/MANIFEST.MF" )
30+ }
31+ }
32+
33+ tasks {
34+ val sourcesJar by creating(Jar ::class ) {
35+ archiveClassifier.set(" sources" )
36+ from(sourceSets.main.get().allSource)
37+ }
38+
39+ val javadocJar by creating(Jar ::class ) {
40+ dependsOn.add(javadoc)
41+ archiveClassifier.set(" javadoc" )
42+ from(javadoc)
43+ }
44+
45+ artifacts {
46+ archives(sourcesJar)
47+ archives(javadocJar)
48+ archives(jar)
49+ }
50+ }
51+
52+ publishing {
53+ publications {
54+ create<MavenPublication >(" mavenJava" ) {
55+ pom {
56+ name.set(project.name)
57+ description.set(" INDIForJava is a set of libraries to implement clients and servers that follow the INDI protocol, designed to operate astronomical instrumentation." )
58+ url.set(" https://github.com/INDIForJava/INDIForJava-core" )
59+ licenses {
60+ license {
61+ name.set(" GNU Lesser General Public License" )
62+ url.set(" https://www.gnu.org/licenses/lgpl-3.0.txt" )
63+ }
64+ }
65+ developers {
66+ developer {
67+ id.set(" marcocipriani01" )
68+ name.set(" Marco Cipriani" )
69+ email.set(" marco.cipriani.01@gmail.com" )
70+ }
71+ }
72+ scm {
73+ connection.set(" scm:git:git://github.com/INDIForJava/INDIForJava-core.git" )
74+ developerConnection.set(" scm:git:ssh://github.com/INDIForJava/INDIForJava-core.git" )
75+ url.set(" https://github.com/INDIForJava/INDIForJava-core" )
76+ }
77+ }
78+ }
79+ }
80+ }
0 commit comments