diff options
29 files changed, 187 insertions, 19 deletions
diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts index b149a483..4d2022a5 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts | |||
@@ -6,12 +6,13 @@ | |||
6 | package tools.refinery.gradle.internal | 6 | package tools.refinery.gradle.internal |
7 | 7 | ||
8 | import org.gradle.accessors.dm.LibrariesForLibs | 8 | import org.gradle.accessors.dm.LibrariesForLibs |
9 | import org.gradle.configurationcache.extensions.capitalized | ||
9 | import org.gradle.plugins.ide.eclipse.model.ProjectDependency | 10 | import org.gradle.plugins.ide.eclipse.model.ProjectDependency |
10 | import tools.refinery.gradle.utils.EclipseUtils | 11 | import tools.refinery.gradle.utils.EclipseUtils |
11 | 12 | ||
12 | plugins { | 13 | plugins { |
13 | jacoco | 14 | jacoco |
14 | java | 15 | java |
15 | `maven-publish` | 16 | `maven-publish` |
16 | id("tools.refinery.gradle.eclipse") | 17 | id("tools.refinery.gradle.eclipse") |
17 | } | 18 | } |
@@ -68,8 +69,7 @@ tasks { | |||
68 | jar { | 69 | jar { |
69 | manifest { | 70 | manifest { |
70 | attributes( | 71 | attributes( |
71 | "Bundle-SymbolicName" to "${project.group}.${project.name}", | 72 | "Bundle-SymbolicName" to "${project.group}.${project.name}", "Bundle-Version" to project.version |
72 | "Bundle-Version" to project.version | ||
73 | ) | 73 | ) |
74 | } | 74 | } |
75 | } | 75 | } |
@@ -98,16 +98,43 @@ tasks { | |||
98 | } | 98 | } |
99 | } | 99 | } |
100 | 100 | ||
101 | open class MavenArtifactExtension(project: Project) { | ||
102 | var name: String = project.name.split("-").drop(1).joinToString(" ", transform = String::capitalized) | ||
103 | var description: String? = null | ||
104 | } | ||
105 | |||
106 | val artifactExtension = project.extensions.create<MavenArtifactExtension>("mavenArtifact", project) | ||
107 | |||
101 | publishing.publications { | 108 | publishing.publications { |
102 | create<MavenPublication>("mavenJava") { | 109 | create<MavenPublication>("mavenJava") { |
103 | from(components["java"]) | 110 | from(components["java"]) |
104 | pom { | 111 | pom { |
112 | name = provider { "Refinery ${artifactExtension.name}" } | ||
113 | description = provider { | ||
114 | val prefix = artifactExtension.description ?: artifactExtension.name.lowercase().capitalized() | ||
115 | "$prefix in Refinery, an efficient graph solver for generating well-formed models" | ||
116 | } | ||
117 | url = "https://refinery.tools/" | ||
105 | licenses { | 118 | licenses { |
106 | license { | 119 | license { |
107 | name = "Eclipse Public License - v 2.0" | 120 | name = "Eclipse Public License - v 2.0" |
108 | url = "https://www.eclipse.org/legal/epl-2.0/" | 121 | url = "https://www.eclipse.org/legal/epl-2.0/" |
109 | } | 122 | } |
110 | } | 123 | } |
124 | developers { | ||
125 | developer { | ||
126 | name = "The Refinery Authors" | ||
127 | url = "https://refinery.tools/" | ||
128 | } | ||
129 | } | ||
130 | scm { | ||
131 | connection = "scm:git:https://github.com/graphs4value/refinery.git" | ||
132 | developerConnection = "scm:git:ssh://github.com:graphs4value/refinery.git" | ||
133 | url = "https://github.com/graphs4value/refinery" | ||
134 | } | ||
135 | issueManagement { | ||
136 | url = "https://github.com/graphs4value/refinery/issues" | ||
137 | } | ||
111 | } | 138 | } |
112 | } | 139 | } |
113 | } | 140 | } |
diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/interpreter-library.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/interpreter-library.gradle.kts index 8bafa1a5..6bee5b5d 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/interpreter-library.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/interpreter-library.gradle.kts | |||
@@ -23,6 +23,15 @@ tasks { | |||
23 | } | 23 | } |
24 | } | 24 | } |
25 | 25 | ||
26 | publishing.publications.named<MavenPublication>("mavenJava") { | ||
27 | pom.developers { | ||
28 | developer { | ||
29 | name = "The VIATRAâ„¢ Authors" | ||
30 | url = "https://eclipse.dev/viatra/" | ||
31 | } | ||
32 | } | ||
33 | } | ||
34 | |||
26 | sonarqube.properties { | 35 | sonarqube.properties { |
27 | // Code copied from the VIATRA project is maintained by the VIATRA contributors. | 36 | // Code copied from the VIATRA project is maintained by the VIATRA contributors. |
28 | // Our own modifications are verified by tests in our own subprojects. | 37 | // Our own modifications are verified by tests in our own subprojects. |
diff --git a/subprojects/generator-cli/build.gradle.kts b/subprojects/generator-cli/build.gradle.kts index 6c681222..da6c92f6 100644 --- a/subprojects/generator-cli/build.gradle.kts +++ b/subprojects/generator-cli/build.gradle.kts | |||
@@ -8,6 +8,11 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-application") | 8 | id("tools.refinery.gradle.java-application") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | name = "Generator CLI" | ||
13 | description = "CLI for model generation" | ||
14 | } | ||
15 | |||
11 | dependencies { | 16 | dependencies { |
12 | implementation(project(":refinery-generator")) | 17 | implementation(project(":refinery-generator")) |
13 | implementation(libs.jcommander) | 18 | implementation(libs.jcommander) |
diff --git a/subprojects/generator/build.gradle.kts b/subprojects/generator/build.gradle.kts index f78fee4d..36e3537a 100644 --- a/subprojects/generator/build.gradle.kts +++ b/subprojects/generator/build.gradle.kts | |||
@@ -8,6 +8,10 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | description = "Library for model generation" | ||
13 | } | ||
14 | |||
11 | dependencies { | 15 | dependencies { |
12 | api(project(":refinery-language-semantics")) | 16 | api(project(":refinery-language-semantics")) |
13 | api(libs.eclipseCollections.api) | 17 | api(libs.eclipseCollections.api) |
diff --git a/subprojects/interpreter-localsearch/build.gradle.kts b/subprojects/interpreter-localsearch/build.gradle.kts index dae92c6c..bd2c0575 100644 --- a/subprojects/interpreter-localsearch/build.gradle.kts +++ b/subprojects/interpreter-localsearch/build.gradle.kts | |||
@@ -8,6 +8,11 @@ plugins { | |||
8 | id("tools.refinery.gradle.interpreter-library") | 8 | id("tools.refinery.gradle.interpreter-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | name = "Query Interpreter Local Search" | ||
13 | description = "Local search based query interpreter" | ||
14 | } | ||
15 | |||
11 | dependencies { | 16 | dependencies { |
12 | implementation(project(":refinery-interpreter")) | 17 | implementation(project(":refinery-interpreter")) |
13 | implementation(libs.slf4j.log4j) | 18 | implementation(libs.slf4j.log4j) |
diff --git a/subprojects/interpreter-rete-recipes/build.gradle.kts b/subprojects/interpreter-rete-recipes/build.gradle.kts index 96283e22..a267d8af 100644 --- a/subprojects/interpreter-rete-recipes/build.gradle.kts +++ b/subprojects/interpreter-rete-recipes/build.gradle.kts | |||
@@ -12,6 +12,11 @@ plugins { | |||
12 | id("tools.refinery.gradle.sonarqube") | 12 | id("tools.refinery.gradle.sonarqube") |
13 | } | 13 | } |
14 | 14 | ||
15 | mavenArtifact { | ||
16 | name = "Query Interpreter RETE Recipes" | ||
17 | description = "RETE recipes for the query interpreter" | ||
18 | } | ||
19 | |||
15 | dependencies { | 20 | dependencies { |
16 | api(project(":refinery-interpreter")) | 21 | api(project(":refinery-interpreter")) |
17 | api(libs.ecore) | 22 | api(libs.ecore) |
@@ -59,4 +64,3 @@ tasks { | |||
59 | sonarqube.properties { | 64 | sonarqube.properties { |
60 | SonarPropertiesUtils.addToList(properties, "sonar.exclusions", "src/main/emf-gen/**") | 65 | SonarPropertiesUtils.addToList(properties, "sonar.exclusions", "src/main/emf-gen/**") |
61 | } | 66 | } |
62 | |||
diff --git a/subprojects/interpreter-rete/build.gradle.kts b/subprojects/interpreter-rete/build.gradle.kts index 978e668c..ee314f94 100644 --- a/subprojects/interpreter-rete/build.gradle.kts +++ b/subprojects/interpreter-rete/build.gradle.kts | |||
@@ -8,6 +8,11 @@ plugins { | |||
8 | id("tools.refinery.gradle.interpreter-library") | 8 | id("tools.refinery.gradle.interpreter-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | name = "Query Interpreter RETE" | ||
13 | description = "RETE-based query interpreter" | ||
14 | } | ||
15 | |||
11 | dependencies { | 16 | dependencies { |
12 | implementation(project(":refinery-interpreter")) | 17 | implementation(project(":refinery-interpreter")) |
13 | implementation(project(":refinery-interpreter-rete-recipes")) | 18 | implementation(project(":refinery-interpreter-rete-recipes")) |
diff --git a/subprojects/interpreter/build.gradle.kts b/subprojects/interpreter/build.gradle.kts index 0425cd2a..70faa812 100644 --- a/subprojects/interpreter/build.gradle.kts +++ b/subprojects/interpreter/build.gradle.kts | |||
@@ -8,6 +8,10 @@ plugins { | |||
8 | id("tools.refinery.gradle.interpreter-library") | 8 | id("tools.refinery.gradle.interpreter-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | name = "Query Interpreter" | ||
13 | } | ||
14 | |||
11 | dependencies { | 15 | dependencies { |
12 | implementation(libs.slf4j.log4j) | 16 | implementation(libs.slf4j.log4j) |
13 | // Code in this subproject inherits from Eclipse Collection implementation classes, so this can't be `runtimeOnly`. | 17 | // Code in this subproject inherits from Eclipse Collection implementation classes, so this can't be `runtimeOnly`. |
diff --git a/subprojects/language-ide/build.gradle.kts b/subprojects/language-ide/build.gradle.kts index 1259cd67..c1e36ed3 100644 --- a/subprojects/language-ide/build.gradle.kts +++ b/subprojects/language-ide/build.gradle.kts | |||
@@ -9,6 +9,11 @@ plugins { | |||
9 | id("tools.refinery.gradle.xtext-generated") | 9 | id("tools.refinery.gradle.xtext-generated") |
10 | } | 10 | } |
11 | 11 | ||
12 | mavenArtifact { | ||
13 | name = "Language IDE" | ||
14 | description = "IDE support for the partial modeling language" | ||
15 | } | ||
16 | |||
12 | dependencies { | 17 | dependencies { |
13 | api(project(":refinery-language")) | 18 | api(project(":refinery-language")) |
14 | api(libs.xtext.ide) | 19 | api(libs.xtext.ide) |
diff --git a/subprojects/language-model/build.gradle.kts b/subprojects/language-model/build.gradle.kts index 33b878d5..51ef3070 100644 --- a/subprojects/language-model/build.gradle.kts +++ b/subprojects/language-model/build.gradle.kts | |||
@@ -12,6 +12,10 @@ plugins { | |||
12 | id("tools.refinery.gradle.sonarqube") | 12 | id("tools.refinery.gradle.sonarqube") |
13 | } | 13 | } |
14 | 14 | ||
15 | mavenArtifact { | ||
16 | description = "Abstract syntax for the partial modeling language" | ||
17 | } | ||
18 | |||
15 | dependencies { | 19 | dependencies { |
16 | api(libs.ecore) | 20 | api(libs.ecore) |
17 | api(libs.ecore.xmi) | 21 | api(libs.ecore.xmi) |
diff --git a/subprojects/language-semantics/build.gradle.kts b/subprojects/language-semantics/build.gradle.kts index 689f621e..fe223c6d 100644 --- a/subprojects/language-semantics/build.gradle.kts +++ b/subprojects/language-semantics/build.gradle.kts | |||
@@ -8,6 +8,10 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | description = "Semantics for the partial modeling language" | ||
13 | } | ||
14 | |||
11 | dependencies { | 15 | dependencies { |
12 | api(libs.eclipseCollections.api) | 16 | api(libs.eclipseCollections.api) |
13 | api(project(":refinery-language")) | 17 | api(project(":refinery-language")) |
diff --git a/subprojects/language-web/build.gradle.kts b/subprojects/language-web/build.gradle.kts index 02e4ff17..8bef0c12 100644 --- a/subprojects/language-web/build.gradle.kts +++ b/subprojects/language-web/build.gradle.kts | |||
@@ -9,6 +9,10 @@ plugins { | |||
9 | id("tools.refinery.gradle.xtext-generated") | 9 | id("tools.refinery.gradle.xtext-generated") |
10 | } | 10 | } |
11 | 11 | ||
12 | mavenArtifact { | ||
13 | description = "Cloud-based partial modeling environment" | ||
14 | } | ||
15 | |||
12 | val webapp: Configuration by configurations.creating { | 16 | val webapp: Configuration by configurations.creating { |
13 | isCanBeConsumed = false | 17 | isCanBeConsumed = false |
14 | isCanBeResolved = true | 18 | isCanBeResolved = true |
diff --git a/subprojects/language/build.gradle.kts b/subprojects/language/build.gradle.kts index 706b57e8..d70d4c6e 100644 --- a/subprojects/language/build.gradle.kts +++ b/subprojects/language/build.gradle.kts | |||
@@ -14,6 +14,10 @@ plugins { | |||
14 | id("tools.refinery.gradle.xtext-generated") | 14 | id("tools.refinery.gradle.xtext-generated") |
15 | } | 15 | } |
16 | 16 | ||
17 | mavenArtifact { | ||
18 | description = "Partial modeling language" | ||
19 | } | ||
20 | |||
17 | val generatedIdeSources: Configuration by configurations.creating { | 21 | val generatedIdeSources: Configuration by configurations.creating { |
18 | isCanBeConsumed = true | 22 | isCanBeConsumed = true |
19 | isCanBeResolved = false | 23 | isCanBeResolved = false |
diff --git a/subprojects/logic/build.gradle.kts b/subprojects/logic/build.gradle.kts index 57de8e5d..a680cd8d 100644 --- a/subprojects/logic/build.gradle.kts +++ b/subprojects/logic/build.gradle.kts | |||
@@ -9,6 +9,10 @@ plugins { | |||
9 | id("tools.refinery.gradle.java-test-fixtures") | 9 | id("tools.refinery.gradle.java-test-fixtures") |
10 | } | 10 | } |
11 | 11 | ||
12 | mavenArtifact { | ||
13 | description = "Logic expressions" | ||
14 | } | ||
15 | |||
12 | dependencies { | 16 | dependencies { |
13 | testFixturesApi(libs.hamcrest) | 17 | testFixturesApi(libs.hamcrest) |
14 | } | 18 | } |
diff --git a/subprojects/store-dse-visualization/build.gradle.kts b/subprojects/store-dse-visualization/build.gradle.kts index ab9ed336..98918863 100644 --- a/subprojects/store-dse-visualization/build.gradle.kts +++ b/subprojects/store-dse-visualization/build.gradle.kts | |||
@@ -8,6 +8,11 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | name = "Store DSE Visualization" | ||
13 | description = "Design-space exploration visualizer for the model store" | ||
14 | } | ||
15 | |||
11 | dependencies { | 16 | dependencies { |
12 | api(project(":refinery-store-query")) | 17 | api(project(":refinery-store-query")) |
13 | implementation(libs.slf4j.api) | 18 | implementation(libs.slf4j.api) |
diff --git a/subprojects/store-dse/build.gradle.kts b/subprojects/store-dse/build.gradle.kts index 041adf70..3cc44fe6 100644 --- a/subprojects/store-dse/build.gradle.kts +++ b/subprojects/store-dse/build.gradle.kts | |||
@@ -8,6 +8,11 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | name = "Store DSE" | ||
13 | description = "Design-space explorer for the model store" | ||
14 | } | ||
15 | |||
11 | dependencies { | 16 | dependencies { |
12 | api(project(":refinery-store-query")) | 17 | api(project(":refinery-store-query")) |
13 | implementation(project(":refinery-store-dse-visualization")) | 18 | implementation(project(":refinery-store-dse-visualization")) |
diff --git a/subprojects/store-query-interpreter/build.gradle.kts b/subprojects/store-query-interpreter/build.gradle.kts index d463fac9..572c7cde 100644 --- a/subprojects/store-query-interpreter/build.gradle.kts +++ b/subprojects/store-query-interpreter/build.gradle.kts | |||
@@ -8,6 +8,10 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | description = "Interpreted query backend for the model store" | ||
13 | } | ||
14 | |||
11 | dependencies { | 15 | dependencies { |
12 | api(project(":refinery-interpreter")) | 16 | api(project(":refinery-interpreter")) |
13 | api(project(":refinery-interpreter-localsearch")) | 17 | api(project(":refinery-interpreter-localsearch")) |
diff --git a/subprojects/store-query/build.gradle.kts b/subprojects/store-query/build.gradle.kts index f5cbdebc..41cad2e6 100644 --- a/subprojects/store-query/build.gradle.kts +++ b/subprojects/store-query/build.gradle.kts | |||
@@ -8,6 +8,10 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | description = "Query API for the model store" | ||
13 | } | ||
14 | |||
11 | dependencies { | 15 | dependencies { |
12 | api(project(":refinery-logic")) | 16 | api(project(":refinery-logic")) |
13 | api(project(":refinery-store")) | 17 | api(project(":refinery-store")) |
diff --git a/subprojects/store-reasoning-scope/build.gradle.kts b/subprojects/store-reasoning-scope/build.gradle.kts index 7e6cd58d..8906c444 100644 --- a/subprojects/store-reasoning-scope/build.gradle.kts +++ b/subprojects/store-reasoning-scope/build.gradle.kts | |||
@@ -8,6 +8,10 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | description = "Multiplicity reasoner for the model store" | ||
13 | } | ||
14 | |||
11 | dependencies { | 15 | dependencies { |
12 | api(project(":refinery-store-reasoning")) | 16 | api(project(":refinery-store-reasoning")) |
13 | implementation(libs.eclipseCollections.api) | 17 | implementation(libs.eclipseCollections.api) |
diff --git a/subprojects/store-reasoning-smt/build.gradle.kts b/subprojects/store-reasoning-smt/build.gradle.kts index 4a784e42..dcaf0ee6 100644 --- a/subprojects/store-reasoning-smt/build.gradle.kts +++ b/subprojects/store-reasoning-smt/build.gradle.kts | |||
@@ -8,6 +8,11 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | name = "Store Reasoning SMT" | ||
13 | description = "SMT reasoner for the model store" | ||
14 | } | ||
15 | |||
11 | dependencies { | 16 | dependencies { |
12 | api(project(":refinery-store-reasoning")) | 17 | api(project(":refinery-store-reasoning")) |
13 | implementation(libs.refinery.z3) | 18 | implementation(libs.refinery.z3) |
diff --git a/subprojects/store-reasoning/build.gradle.kts b/subprojects/store-reasoning/build.gradle.kts index d1d3c2e5..4db29fd5 100644 --- a/subprojects/store-reasoning/build.gradle.kts +++ b/subprojects/store-reasoning/build.gradle.kts | |||
@@ -8,6 +8,10 @@ plugins { | |||
8 | id("tools.refinery.gradle.java-library") | 8 | id("tools.refinery.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact { | ||
12 | description = "Partial model reasoner for the model store" | ||
13 | } | ||
14 | |||
11 | dependencies { | 15 | dependencies { |
12 | api(project(":refinery-store-dse")) | 16 | api(project(":refinery-store-dse")) |
13 | testImplementation(testFixtures(project(":refinery-logic"))) | 17 | testImplementation(testFixtures(project(":refinery-logic"))) |
diff --git a/subprojects/store/build.gradle.kts b/subprojects/store/build.gradle.kts index e48c0088..55938987 100644 --- a/subprojects/store/build.gradle.kts +++ b/subprojects/store/build.gradle.kts | |||
@@ -9,6 +9,10 @@ plugins { | |||
9 | id("tools.refinery.gradle.jmh") | 9 | id("tools.refinery.gradle.jmh") |
10 | } | 10 | } |
11 | 11 | ||
12 | mavenArtifact { | ||
13 | description = "Model store" | ||
14 | } | ||
15 | |||
12 | dependencies { | 16 | dependencies { |
13 | api(libs.eclipseCollections.api) | 17 | api(libs.eclipseCollections.api) |
14 | runtimeOnly(libs.eclipseCollections) | 18 | runtimeOnly(libs.eclipseCollections) |
diff --git a/z3/buildSrc/src/main/kotlin/tools/refinery/z3/gradle/java-library.gradle.kts b/z3/buildSrc/src/main/kotlin/tools/refinery/z3/gradle/java-library.gradle.kts index 75d64a6f..46bc4083 100644 --- a/z3/buildSrc/src/main/kotlin/tools/refinery/z3/gradle/java-library.gradle.kts +++ b/z3/buildSrc/src/main/kotlin/tools/refinery/z3/gradle/java-library.gradle.kts | |||
@@ -11,6 +11,9 @@ plugins { | |||
11 | } | 11 | } |
12 | 12 | ||
13 | java { | 13 | java { |
14 | withJavadocJar() | ||
15 | withSourcesJar() | ||
16 | |||
14 | toolchain { | 17 | toolchain { |
15 | languageVersion.set(JavaLanguageVersion.of(21)) | 18 | languageVersion.set(JavaLanguageVersion.of(21)) |
16 | } | 19 | } |
@@ -49,17 +52,43 @@ tasks { | |||
49 | jar { | 52 | jar { |
50 | manifest { | 53 | manifest { |
51 | attributes( | 54 | attributes( |
52 | "Bundle-SymbolicName" to "${project.group}.${project.name}", | 55 | "Bundle-SymbolicName" to "${project.group}.${project.name}", |
53 | "Bundle-Version" to project.version | 56 | "Bundle-Version" to project.version |
54 | ) | 57 | ) |
55 | } | 58 | } |
56 | } | 59 | } |
60 | |||
61 | javadoc { | ||
62 | options { | ||
63 | this as StandardJavadocDocletOptions | ||
64 | addBooleanOption("Xdoclint:none", true) | ||
65 | // {@code -Xmaxwarns 0} will print all warnings, so we must keep at least one. | ||
66 | addStringOption("Xmaxwarns", "1") | ||
67 | quiet() | ||
68 | } | ||
69 | } | ||
57 | } | 70 | } |
58 | 71 | ||
72 | open class MavenArtifactExtension { | ||
73 | var nameSuffix: String? = null | ||
74 | } | ||
75 | |||
76 | val artifactExtension = project.extensions.create<MavenArtifactExtension>("mavenArtifact") | ||
77 | |||
59 | publishing.publications { | 78 | publishing.publications { |
60 | register<MavenPublication>("mavenJava") { | 79 | register<MavenPublication>("mavenJava") { |
61 | from(components["java"]) | 80 | from(components["java"]) |
62 | pom { | 81 | pom { |
82 | val nameString = provider { | ||
83 | val prefix = "Z3 Java Bindings" | ||
84 | val nameSuffix = artifactExtension.nameSuffix | ||
85 | if (nameSuffix == null) prefix else "$prefix ($nameSuffix)" | ||
86 | } | ||
87 | name = nameString.map { "Refinery $it" } | ||
88 | description = nameString.map { | ||
89 | "$it for Refinery, an efficient graph solver for generating well-formed models" | ||
90 | } | ||
91 | url = "https://refinery.tools/" | ||
63 | licenses { | 92 | licenses { |
64 | license { | 93 | license { |
65 | name = "MIT License" | 94 | name = "MIT License" |
@@ -70,6 +99,24 @@ publishing.publications { | |||
70 | url = "http://www.apache.org/licenses/LICENSE-2.0.txt" | 99 | url = "http://www.apache.org/licenses/LICENSE-2.0.txt" |
71 | } | 100 | } |
72 | } | 101 | } |
102 | developers { | ||
103 | developer { | ||
104 | name = "The Refinery Authors" | ||
105 | url = "https://refinery.tools/" | ||
106 | } | ||
107 | developer { | ||
108 | name = "Microsoft Corporation" | ||
109 | url = "https://github.com/Z3Prover/z3" | ||
110 | } | ||
111 | } | ||
112 | scm { | ||
113 | connection = "scm:git:https://github.com/graphs4value/refinery.git" | ||
114 | developerConnection = "scm:git:ssh://github.com:graphs4value/refinery.git" | ||
115 | url = "https://github.com/graphs4value/refinery" | ||
116 | } | ||
117 | issueManagement { | ||
118 | url = "https://github.com/graphs4value/refinery/issues" | ||
119 | } | ||
73 | } | 120 | } |
74 | } | 121 | } |
75 | } | 122 | } |
diff --git a/z3/subprojects/solver-darwin-aarch64/build.gradle.kts b/z3/subprojects/solver-darwin-aarch64/build.gradle.kts index 21c9739c..4f227513 100644 --- a/z3/subprojects/solver-darwin-aarch64/build.gradle.kts +++ b/z3/subprojects/solver-darwin-aarch64/build.gradle.kts | |||
@@ -11,6 +11,8 @@ plugins { | |||
11 | val classifier = "z3-${version}-arm64-osx-11.0" | 11 | val classifier = "z3-${version}-arm64-osx-11.0" |
12 | val library = "z3java-darwin-aarch64" | 12 | val library = "z3java-darwin-aarch64" |
13 | 13 | ||
14 | mavenArtifact.nameSuffix = "Darwin aarch64" | ||
15 | |||
14 | dependencies { | 16 | dependencies { |
15 | z3("Z3Prover:z3:${version}:${classifier}@zip") | 17 | z3("Z3Prover:z3:${version}:${classifier}@zip") |
16 | } | 18 | } |
diff --git a/z3/subprojects/solver-darwin-x86-64/build.gradle.kts b/z3/subprojects/solver-darwin-x86-64/build.gradle.kts index 75e59267..9e4a803d 100644 --- a/z3/subprojects/solver-darwin-x86-64/build.gradle.kts +++ b/z3/subprojects/solver-darwin-x86-64/build.gradle.kts | |||
@@ -11,6 +11,8 @@ plugins { | |||
11 | val classifier = "z3-${version}-x64-osx-10.16" | 11 | val classifier = "z3-${version}-x64-osx-10.16" |
12 | val library = "z3java-darwin-x86-64" | 12 | val library = "z3java-darwin-x86-64" |
13 | 13 | ||
14 | mavenArtifact.nameSuffix = "Darwin x86_64" | ||
15 | |||
14 | dependencies { | 16 | dependencies { |
15 | z3("Z3Prover:z3:${version}:${classifier}@zip") | 17 | z3("Z3Prover:z3:${version}:${classifier}@zip") |
16 | } | 18 | } |
diff --git a/z3/subprojects/solver-linux-aarch64/build.gradle.kts b/z3/subprojects/solver-linux-aarch64/build.gradle.kts index a8e7e259..a26409d2 100644 --- a/z3/subprojects/solver-linux-aarch64/build.gradle.kts +++ b/z3/subprojects/solver-linux-aarch64/build.gradle.kts | |||
@@ -8,6 +8,8 @@ plugins { | |||
8 | id("tools.refinery.z3.gradle.java-library") | 8 | id("tools.refinery.z3.gradle.java-library") |
9 | } | 9 | } |
10 | 10 | ||
11 | mavenArtifact.nameSuffix = "Linux aarch64" | ||
12 | |||
11 | tasks.jar { | 13 | tasks.jar { |
12 | // License information is redundant here, since it already gets added to the POM. | 14 | // License information is redundant here, since it already gets added to the POM. |
13 | exclude("**/*.license") | 15 | exclude("**/*.license") |
diff --git a/z3/subprojects/solver-linux-x86-64/build.gradle.kts b/z3/subprojects/solver-linux-x86-64/build.gradle.kts index 89c737b6..e16c19ac 100644 --- a/z3/subprojects/solver-linux-x86-64/build.gradle.kts +++ b/z3/subprojects/solver-linux-x86-64/build.gradle.kts | |||
@@ -11,6 +11,8 @@ plugins { | |||
11 | val classifier = "z3-${version}-x64-glibc-2.31" | 11 | val classifier = "z3-${version}-x64-glibc-2.31" |
12 | val library = "z3java-linux-x86-64" | 12 | val library = "z3java-linux-x86-64" |
13 | 13 | ||
14 | mavenArtifact.nameSuffix = "Linux x86_64" | ||
15 | |||
14 | dependencies { | 16 | dependencies { |
15 | z3("Z3Prover:z3:${version}:${classifier}@zip") | 17 | z3("Z3Prover:z3:${version}:${classifier}@zip") |
16 | } | 18 | } |
diff --git a/z3/subprojects/solver-win32-x86-64/build.gradle.kts b/z3/subprojects/solver-win32-x86-64/build.gradle.kts index c5fa0421..9e057fa9 100644 --- a/z3/subprojects/solver-win32-x86-64/build.gradle.kts +++ b/z3/subprojects/solver-win32-x86-64/build.gradle.kts | |||
@@ -11,6 +11,8 @@ plugins { | |||
11 | val classifier = "z3-${version}-x64-win" | 11 | val classifier = "z3-${version}-x64-win" |
12 | val library = "z3java-win32-x86-64" | 12 | val library = "z3java-win32-x86-64" |
13 | 13 | ||
14 | mavenArtifact.nameSuffix = "Win32 x86_64" | ||
15 | |||
14 | dependencies { | 16 | dependencies { |
15 | z3("Z3Prover:z3:${version}:${classifier}@zip") | 17 | z3("Z3Prover:z3:${version}:${classifier}@zip") |
16 | } | 18 | } |
diff --git a/z3/subprojects/solver/build.gradle.kts b/z3/subprojects/solver/build.gradle.kts index 7e898b3e..38044114 100644 --- a/z3/subprojects/solver/build.gradle.kts +++ b/z3/subprojects/solver/build.gradle.kts | |||
@@ -14,11 +14,6 @@ val classifier = "z3-${version}-x64-glibc-2.31" | |||
14 | val extractedClassesDir = layout.buildDirectory.dir("z3-extracted") | 14 | val extractedClassesDir = layout.buildDirectory.dir("z3-extracted") |
15 | val extractedSourcesDir = layout.buildDirectory.dir("z3-sources") | 15 | val extractedSourcesDir = layout.buildDirectory.dir("z3-sources") |
16 | 16 | ||
17 | java { | ||
18 | withJavadocJar() | ||
19 | withSourcesJar() | ||
20 | } | ||
21 | |||
22 | val z3Source: Configuration by configurations.creating { | 17 | val z3Source: Configuration by configurations.creating { |
23 | isCanBeConsumed = false | 18 | isCanBeConsumed = false |
24 | isCanBeResolved = true | 19 | isCanBeResolved = true |
@@ -81,13 +76,6 @@ tasks.named<Javadoc>("javadoc") { | |||
81 | builtBy(extractZ3Source) | 76 | builtBy(extractZ3Source) |
82 | include("**/*.java") | 77 | include("**/*.java") |
83 | }) | 78 | }) |
84 | options { | ||
85 | this as StandardJavadocDocletOptions | ||
86 | addBooleanOption("Xdoclint:none", true) | ||
87 | // {@code -Xmaxwarns 0} will print all warnings, so we must keep at least one. | ||
88 | addStringOption("Xmaxwarns", "1") | ||
89 | quiet() | ||
90 | } | ||
91 | } | 79 | } |
92 | 80 | ||
93 | dependencies { | 81 | dependencies { |