1- plugins {
2- id ' java'
3- id ' maven-publish'
4- id ' com.github.johnrengelman.shadow' version ' 8.1.1'
5- }
6-
7- group = " io.github.rdf-connect"
8- version = " 0.0.3"
91
10- repositories {
11- mavenCentral()
12- maven { url = ' https://jitpack.io ' }
2+ allprojects {
3+ group = " io.github.rdf-connect "
4+ version = " 0.0.3 "
135}
146
15- sourceSets {
16- runner {
17- java. srcDir ' src/runner/java'
18- }
19- types {
20- java. srcDir ' src/types/java'
7+ subprojects {
8+ apply plugin : ' java'
9+ apply plugin : ' maven-publish'
10+
11+ repositories {
12+ mavenCentral()
13+ maven { url = ' https://jitpack.io' }
2114 }
22- }
23-
24- // --- Dependencies (generated proto needs protobuf runtime) ---
25- dependencies {
26- runnerImplementation sourceSets. types. output
27- runnerImplementation ' com.github.rdf-connect:proto:9700abd'
28-
29- runnerImplementation ' com.fasterxml.jackson.core:jackson-core:2.18.3'
30- runnerImplementation ' com.fasterxml.jackson.core:jackson-databind:2.18.3'
3115
32- runnerImplementation ' javax.annotation:javax.annotation-api:1.3.2'
33- runnerImplementation ' io.grpc:grpc-netty:1.63.0' // or latest version
34- runnerImplementation ' io.grpc:grpc-protobuf:1.63.0'
35- runnerImplementation ' io.grpc:grpc-stub:1.63.0'
36- runnerImplementation ' io.grpc:grpc-core:1.63.0'
16+ java {
17+ withSourcesJar()
18+ withJavadocJar()
3719
38- runnerImplementation ' com.google.protobuf:protobuf-java:4.28.2'
39-
40- typesImplementation ' com.google.protobuf:protobuf-java:4.28.2'
41-
42- // For logging, optional
43- implementation ' org.slf4j:slf4j-simple:2.0.12'
44-
45- }
46-
47- // --- Utility tasks for sources/javadoc jars ---
48- def sourcesJarFor = { SourceSet set , String taskName , String name ->
49- tasks. register(" ${ taskName} SourcesJar" , Jar ) {
50- archiveBaseName = name
51- archiveClassifier = " sources"
52- from set. allSource
53- duplicatesStrategy = DuplicatesStrategy . EXCLUDE
54- }
20+ toolchain {
21+ languageVersion = JavaLanguageVersion . of(11 )
22+ }
23+ }
24+
25+ publishing {
26+ publications {
27+ maven(MavenPublication ) {
28+ groupId = project. group
29+ artifactId = project. name
30+ version = project. version
31+ from components. java
32+ }
33+ }
34+ }
5535}
5636
57- def javadocJarFor = { SourceSet set , String taskName , String name ->
58- def javadocTask = tasks. register(" ${ taskName} Javadoc" , Javadoc ) {
59- source = set. allJava
60- classpath = set. compileClasspath
61- }
62-
63- tasks. register(" ${ taskName} JavadocJar" , Jar ) {
64- archiveBaseName = name
65- archiveClassifier = " javadoc"
66- from javadocTask. map { it. destinationDir }
67- duplicatesStrategy = DuplicatesStrategy . EXCLUDE
68- }
69- }
7037
7138// // Fat jar tasks per source set
7239// tasks.register('runnerFatJar', com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
@@ -75,16 +42,7 @@ def javadocJarFor = { SourceSet set, String taskName, String name ->
7542// configurations = [project.configurations.runnerRuntimeClasspath]
7643// }
7744//
78- // --- Jar tasks ---
79- tasks. register(" runnerJar" , Jar ) {
80- archiveBaseName = " jvm-runner"
81- from sourceSets. runner. output
82- duplicatesStrategy = DuplicatesStrategy . EXCLUDE
83- }
84- tasks. register(" typesJar" , Jar ) {
85- archiveBaseName = " types"
86- from sourceSets. types. output
87- }
45+
8846// tasks.register("descriptorArtifact", Jar) {
8947// archiveBaseName = "index"
9048// archiveExtension = "ttl" // optional: makes the output index.ttl instead of index.jar
@@ -133,51 +91,6 @@ tasks.register("typesJar", Jar) {
13391// dependsOn runnerSourcesJar, typesSourcesJar // , runnerJavadocJar
13492// }
13593
136-
137- // publishing {
138- // publications {
139- // mavenJava(MavenPublication) {
140- // from components.java
141- //
142- // // publish descriptor
143- // artifact(file('index.ttl')) {
144- // classifier = 'index'
145- // extension = 'ttl'
146- // version = ""
147- // }
148- // }
149- // }
150- // }
151-
152- publishing {
153- publications {
154- runner(MavenPublication ) {
155- artifact(tasks. named(' runnerJar' )){ builtBy tasks. named(' runnerJar' ) }
156- groupId = project. group
157- artifactId = ' jvm-runner'
158- version = project. version
159- }
160- types(MavenPublication ) {
161- artifact(tasks. named(' typesJar' )){ builtBy tasks. named(' typesJar' ) }
162- groupId = project. group
163- artifactId = ' types'
164- version = project. version
165- }
166- }
167- }
168-
169- // build {
170- // dependsOn runnerJar, typesJar
171- // dependsOn runnerFatJar
172- // dependsOn runnerSourcesJar, typesSourcesJar // , runnerJavadocJar
173- // }
174-
17594configurations. all {
17695 resolutionStrategy. cacheChangingModulesFor 0 , ' seconds'
17796}
178-
179- java {
180- toolchain {
181- languageVersion = JavaLanguageVersion . of(11 )
182- }
183- }
0 commit comments