From c04d2dd2f40adb560eea02776d89ab13769b779e Mon Sep 17 00:00:00 2001
From: Niklas Roth <36939232+Nirostar@users.noreply.github.com>
Date: Thu, 20 Apr 2023 09:50:51 +0200
Subject: [PATCH 1/5] Increase version number
---
README.MD | 10 +++++-----
.../publisher/TypeddicomPublisherPlugin.java | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.MD b/README.MD
index bbaaeac..8a56b76 100644
--- a/README.MD
+++ b/README.MD
@@ -25,7 +25,7 @@ repositories {
```groovy
dependencies {
- implementation 'org.dcm4che:dcm4che-typeddicom-lib-std:0.5.0'
+ implementation 'org.dcm4che:dcm4che-typeddicom-lib-std:0.5.1-SNAPSHOT'
}
```
@@ -41,7 +41,7 @@ repositories {
```kotlin
dependencies {
- implementation("org.dcm4che:dcm4che-typeddicom-lib-std:0.5.0")
+ implementation("org.dcm4che:dcm4che-typeddicom-lib-std:0.5.1-SNAPSHOT")
}
```
@@ -60,7 +60,7 @@ dependencies {
org.dcm4che
dcm4che-typeddicom
- 0.5.0
+ 0.5.1-SNAPSHOT
```
### Use private tags with the gradle plugin
@@ -69,7 +69,7 @@ In the ```build.gradle``` put:
```groovy
plugins {
id 'java-library'
- id 'org.dcm4che.typeddicom-java-generator' version '0.5.0'
+ id 'org.dcm4che.typeddicom-java-generator' version '0.5.1-SNAPSHOT'
}
generateTypeddicomJavaSources {
@@ -81,7 +81,7 @@ or put this into ```build.gradle.kts```:
```kotlin
plugins {
id("java-library")
- id("org.dcm4che.typeddicom-java-generator") version "0.5.0"
+ id("org.dcm4che.typeddicom-java-generator") version "0.5.1-SNAPSHOT"
}
generateTypeddicomJavaSources {
privateDicomMetamodelYamlDirectory.set(layout.projectDirectory.dir("src/main/resources")) // default - so this is optional when using this directory
diff --git a/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java b/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java
index 6c9c476..0cceb46 100644
--- a/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java
+++ b/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java
@@ -17,7 +17,7 @@
public class TypeddicomPublisherPlugin implements Plugin {
private static final String TYPEDDICOM_GROUP = "org.dcm4che";
- private static final String TYPEDDICOM_VERSION = "0.5.0";
+ private static final String TYPEDDICOM_VERSION = "0.5.1-SNAPSHOT";
private static final String STANDARD_PUBLICATION_NAME = "mavenJava";
private static final String GRADLE_PLUGIN_PUBLICATION_NAME = "pluginMaven";
From fbdad24ae1931a2a086398c73ce5f8496f025f42 Mon Sep 17 00:00:00 2001
From: Niklas Roth <36939232+Nirostar@users.noreply.github.com>
Date: Thu, 20 Apr 2023 17:35:43 +0200
Subject: [PATCH 2/5] Make generated sources detected as such if the idea
plugin is applied to the generator plugin's target
---
.../gradleplugin/TypeddicomJavaGeneratorPlugin.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/dcm4che-typeddicom-generator/dcm4che-typeddicom-java-generator-gradleplugin/src/main/java/org/dcm4che/typeddicom/generator/gradleplugin/TypeddicomJavaGeneratorPlugin.java b/dcm4che-typeddicom-generator/dcm4che-typeddicom-java-generator-gradleplugin/src/main/java/org/dcm4che/typeddicom/generator/gradleplugin/TypeddicomJavaGeneratorPlugin.java
index 80b7c18..c42b1ec 100644
--- a/dcm4che-typeddicom-generator/dcm4che-typeddicom-java-generator-gradleplugin/src/main/java/org/dcm4che/typeddicom/generator/gradleplugin/TypeddicomJavaGeneratorPlugin.java
+++ b/dcm4che-typeddicom-generator/dcm4che-typeddicom-java-generator-gradleplugin/src/main/java/org/dcm4che/typeddicom/generator/gradleplugin/TypeddicomJavaGeneratorPlugin.java
@@ -4,6 +4,7 @@
import org.gradle.api.Project;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.api.tasks.TaskProvider;
+import org.gradle.plugins.ide.idea.model.IdeaModel;
public class TypeddicomJavaGeneratorPlugin implements Plugin {
public void apply(final Project target) {
@@ -16,6 +17,7 @@ public void apply(final Project target) {
task.getPrivateDicomMetamodelYamlDirectory().set(extension.getPrivateDicomMetamodelYamlDirectory());
task.getGeneratedJavaOutputDirectory().set(extension.getGeneratedJavaOutputDirectory());
});
+
target.getPluginManager().withPlugin("java-library", javaPlugin -> {
SourceSetContainer sourceSets = target.getExtensions().getByType(SourceSetContainer.class);
sourceSets.named("main", sourceSet -> sourceSet.getJava().srcDir(generateJavaSourcesFileTaskProvider));
@@ -23,5 +25,10 @@ public void apply(final Project target) {
target.getDependencies().add("api", "org.dcm4che:dcm4che-typeddicom-skeleton:" + version);
target.getDependencies().add("implementation", "org.dcm4che:dcm4che-core");
});
+
+ target.getPluginManager().withPlugin("idea", ideaPlugin -> {
+ IdeaModel ideaModel = target.getExtensions().getByType(IdeaModel.class);
+ ideaModel.getModule().getGeneratedSourceDirs().add(extension.getGeneratedJavaOutputDirectory().getAsFile().get());
+ });
}
}
From 7ddea29f102bc64cf69a09ae05937940b8420c2a Mon Sep 17 00:00:00 2001
From: Niklas Roth <36939232+Nirostar@users.noreply.github.com>
Date: Thu, 20 Apr 2023 17:40:10 +0200
Subject: [PATCH 3/5] Add plugin repository to README.MD
---
README.MD | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/README.MD b/README.MD
index 8a56b76..fe0b306 100644
--- a/README.MD
+++ b/README.MD
@@ -67,6 +67,15 @@ dependencies {
In the ```build.gradle``` put:
```groovy
+buildscript {
+ repositories {
+ // Add dicom4che repository
+ maven {
+ url "https://www.dcm4che.org/maven2/"
+ }
+ }
+}
+
plugins {
id 'java-library'
id 'org.dcm4che.typeddicom-java-generator' version '0.5.1-SNAPSHOT'
@@ -79,10 +88,20 @@ generateTypeddicomJavaSources {
```
or put this into ```build.gradle.kts```:
```kotlin
+buildscript {
+ repositories {
+ // Add dicom4che repository
+ maven {
+ url = uri("https://www.dcm4che.org/maven2/")
+ }
+ }
+}
+
plugins {
id("java-library")
id("org.dcm4che.typeddicom-java-generator") version "0.5.1-SNAPSHOT"
}
+
generateTypeddicomJavaSources {
privateDicomMetamodelYamlDirectory.set(layout.projectDirectory.dir("src/main/resources")) // default - so this is optional when using this directory
generatedJavaOutputDirectory.set(layout.buildDirectory.dir("typeddicom")) // default - so this is optional when using this directory
From 024bd026a3dccc7ffeb64663eb51ed72281fcf38 Mon Sep 17 00:00:00 2001
From: Niklas Roth <36939232+Nirostar@users.noreply.github.com>
Date: Wed, 26 Apr 2023 15:16:32 +0200
Subject: [PATCH 4/5] Make Bundle-Version OSGi conform and add OSGi manifest to
skeleton
---
.../build.gradle.kts | 14 ++++++++++----
dcm4che-typeddicom-skeleton/build.gradle.kts | 19 +++++++++++++++++++
2 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/dcm4che-typeddicom-lib/dcm4che-typeddicom-lib-std/build.gradle.kts b/dcm4che-typeddicom-lib/dcm4che-typeddicom-lib-std/build.gradle.kts
index 75437d2..b7ed5b0 100644
--- a/dcm4che-typeddicom-lib/dcm4che-typeddicom-lib-std/build.gradle.kts
+++ b/dcm4che-typeddicom-lib/dcm4che-typeddicom-lib-std/build.gradle.kts
@@ -39,18 +39,24 @@ tasks.test {
useJUnitPlatform()
}
+// Remove non-numeric version info for Bundle version
+val bundleVersion = "$version".replace(Regex(".*(\\d+\\.\\d+\\.\\d+).*"), "$1")
+
tasks.withType {
manifest {
attributes["Manifest-Version"] = "1.0"
attributes["Bundle-ManifestVersion"] = "2"
- attributes["Bundle-Name"] = "org.dcm4che.typeddicom"
- attributes["Bundle-SymbolicName"] = "org.dcm4che.typeddicom;singleton:=true"
- attributes["Bundle-Version"] = version
+ attributes["Bundle-Name"] = "org.dcm4che.dcm4che-typeddicom-lib-std"
+ attributes["Bundle-SymbolicName"] = "org.dcm4che.dcm4che-typeddicom-lib-std;singleton:=true"
+ attributes["Bundle-Version"] = bundleVersion
attributes["Bundle-Vendor"] = "dcm4che"
attributes["Bundle-ClassPath"] = "."
attributes["Bundle-ActivationPolicy"] = "lazy"
+ attributes["Require-Bundle"] =
+ "org.dcm4che.dcm4che-typeddicom-skeleton; bundle-version=\"${bundleVersion}\"; visibility:=reexport"
attributes["Export-Package"] =
- "org.dcm4che.typeddicom, org.dcm4che.typeddicom.dataelements, org.dcm4che.typeddicom.iods, org.dcm4che.typeddicom.modules, org.dcm4che.typeddicom.valuerepresentations"
+ "org.dcm4che.typeddicom, org.dcm4che.typeddicom.dataelements, org.dcm4che.typeddicom.iods, " +
+ "org.dcm4che.typeddicom.modules, org.dcm4che.typeddicom.valuerepresentations"
attributes["Import-Package"] = "org.dcm4che3.data"
}
}
diff --git a/dcm4che-typeddicom-skeleton/build.gradle.kts b/dcm4che-typeddicom-skeleton/build.gradle.kts
index b820404..7474798 100644
--- a/dcm4che-typeddicom-skeleton/build.gradle.kts
+++ b/dcm4che-typeddicom-skeleton/build.gradle.kts
@@ -28,6 +28,25 @@ tasks.getByName("test") {
useJUnitPlatform()
}
+// Remove non-numeric version info for Bundle version
+val bundleVersion = "$version".replace(Regex(".*(\\d+\\.\\d+\\.\\d+).*"), "$1")
+
+tasks.withType {
+ manifest {
+ attributes["Manifest-Version"] = "1.0"
+ attributes["Bundle-ManifestVersion"] = "2"
+ attributes["Bundle-Name"] = "org.dcm4che.dcm4che-typeddicom-skeleton"
+ attributes["Bundle-SymbolicName"] = "org.dcm4che.dcm4che-typeddicom-skeleton;singleton:=true"
+ attributes["Bundle-Version"] = bundleVersion
+ attributes["Bundle-Vendor"] = "dcm4che"
+ attributes["Bundle-ClassPath"] = "."
+ attributes["Bundle-ActivationPolicy"] = "lazy"
+ attributes["Export-Package"] =
+ "org.dcm4che.typeddicom, org.dcm4che.typeddicom.valuerepresentations"
+ attributes["Import-Package"] = "org.dcm4che3.data"
+ }
+}
+
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
From 5ad65be39d4eb0205b5fe5f5deb38e6f71f2a948 Mon Sep 17 00:00:00 2001
From: Niklas Roth <36939232+Nirostar@users.noreply.github.com>
Date: Wed, 26 Apr 2023 15:20:53 +0200
Subject: [PATCH 5/5] Set to release version number
---
README.MD | 10 +++++-----
.../publisher/TypeddicomPublisherPlugin.java | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.MD b/README.MD
index fe0b306..c753fad 100644
--- a/README.MD
+++ b/README.MD
@@ -25,7 +25,7 @@ repositories {
```groovy
dependencies {
- implementation 'org.dcm4che:dcm4che-typeddicom-lib-std:0.5.1-SNAPSHOT'
+ implementation 'org.dcm4che:dcm4che-typeddicom-lib-std:0.5.1'
}
```
@@ -41,7 +41,7 @@ repositories {
```kotlin
dependencies {
- implementation("org.dcm4che:dcm4che-typeddicom-lib-std:0.5.1-SNAPSHOT")
+ implementation("org.dcm4che:dcm4che-typeddicom-lib-std:0.5.1")
}
```
@@ -60,7 +60,7 @@ dependencies {
org.dcm4che
dcm4che-typeddicom
- 0.5.1-SNAPSHOT
+ 0.5.1
```
### Use private tags with the gradle plugin
@@ -78,7 +78,7 @@ buildscript {
plugins {
id 'java-library'
- id 'org.dcm4che.typeddicom-java-generator' version '0.5.1-SNAPSHOT'
+ id 'org.dcm4che.typeddicom-java-generator' version '0.5.1'
}
generateTypeddicomJavaSources {
@@ -99,7 +99,7 @@ buildscript {
plugins {
id("java-library")
- id("org.dcm4che.typeddicom-java-generator") version "0.5.1-SNAPSHOT"
+ id("org.dcm4che.typeddicom-java-generator") version "0.5.1"
}
generateTypeddicomJavaSources {
diff --git a/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java b/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java
index 0cceb46..9b4c7b8 100644
--- a/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java
+++ b/dcm4che-typeddicom-publisher/src/main/java/org/dcm4che/typeddicom/publisher/TypeddicomPublisherPlugin.java
@@ -17,7 +17,7 @@
public class TypeddicomPublisherPlugin implements Plugin {
private static final String TYPEDDICOM_GROUP = "org.dcm4che";
- private static final String TYPEDDICOM_VERSION = "0.5.1-SNAPSHOT";
+ private static final String TYPEDDICOM_VERSION = "0.5.1";
private static final String STANDARD_PUBLICATION_NAME = "mavenJava";
private static final String GRADLE_PLUGIN_PUBLICATION_NAME = "pluginMaven";