Skip to content

Commit

Permalink
Update tooling
Browse files Browse the repository at this point in the history
  • Loading branch information
valb3r committed Jan 12, 2025
1 parent f0a8b02 commit 4015ba0
Show file tree
Hide file tree
Showing 24 changed files with 61 additions and 179 deletions.
15 changes: 1 addition & 14 deletions activiti-intellij-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ intellij {
}

runPluginVerifier {
ideVersions = ["IU-2022.3", "IC-2022.3"]
ideVersions = ["IU-2023.3", "IC-2023.3"]
}

verifyPlugin {
Expand All @@ -54,19 +54,6 @@ publishPlugin {
token = System.getenv("INTELLIJ_PLUGIN_PUBLISH_TOKEN")
}

compileKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}

clean {
delete 'out'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
<!-- <helpset file="myhelp.jar" path="/Help.hs" /> -->

<!-- Minimum and maximum build of IDE compatible with the plugin -->
<idea-version since-build="223"/>
<idea-version since-build="233"/>

<!-- Resource bundle (/messages/MyPluginBundle.properties) to be used with `key` attributes in extension points
and implicit keys like `action.[pluginID].[ActionID].text` -->
Expand Down
13 changes: 0 additions & 13 deletions activiti-xml-parser/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,6 @@ dependencies {
testImplementation "org.amshove.kluent:kluent:$kluent"
}

compileKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}

test {
jvmArgs "--add-opens=java.base/java.nio.charset=ALL-UNNAMED"

Expand Down
13 changes: 0 additions & 13 deletions bpmn-intellij-plugin-common-tests/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,6 @@ sourceSets {
main.kotlin.srcDirs += 'src/main/kotlin'
}

compileKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}

clean {
delete 'out'
}
13 changes: 0 additions & 13 deletions bpmn-intellij-plugin-commons/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,19 +45,6 @@ patchPluginXml.enabled = false
verifyPlugin.enabled = false
publishPlugin.enabled = false

compileKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}

clean {
delete 'out'
}
Expand Down
13 changes: 0 additions & 13 deletions bpmn-intellij-plugin-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,6 @@ patchPluginXml.enabled = false
verifyPlugin.enabled = false
publishPlugin.enabled = false

compileKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}

clean {
delete 'out'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,12 +114,12 @@ class CopyPasteActionHandler(private val clipboard: SystemClipboard) {
val updatedIds = mutableMapOf(BpmnElementId(ROOT_NAME) to parent)
val updatedDiagramIds = mutableMapOf<DiagramElementId, DiagramElementId>()

val minX = context.shapes.map { it.shape.rectBounds().x }.min()
val minX = context.shapes.map { it.shape.rectBounds().x }.minOrNull()
?: context.edges.map { min(it.edge.waypoint[0].x, it.edge.waypoint[it.edge.waypoint.size - 1].x) }
.min() ?: 0.0f
val minY = context.shapes.map { it.shape.rectBounds().y }.min()
.minOrNull() ?: 0.0f
val minY = context.shapes.map { it.shape.rectBounds().y }.minOrNull()
?: context.edges.map { min(it.edge.waypoint[0].y, it.edge.waypoint[it.edge.waypoint.size - 1].y) }
.min()
.minOrNull()
?: 0.0f
val delta = Point2D.Float(sceneLocation.x - minX, sceneLocation.y - minY)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ class ProcessModelUpdateEvents(private val committer: FileCommitter, private val
private fun lastDeletion(elementId: BpmnElementId): Order<out Event> {
val cursorValue = allBeforeThis
return deletionsByStaticBpmnId[elementId]?.filter { it.order < cursorValue }
?.maxBy { it: Order<out Event> -> it.order }
?.maxByOrNull { it: Order<out Event> -> it.order }
?: Order(-1, NullEvent(elementId.id))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,10 +161,10 @@ open class Canvas(private val project: Project, private val settings: CanvasCons
val interactionContext = ElementInteractionContext(emptySet(), emptySet(), mutableMapOf(), null, mutableMapOf(), mutableMapOf(), null, Point2D.Float(), Point2D.Float())
val dummyImage = UIUtil.createImage(1, 1, BufferedImage.TYPE_INT_RGB)
val dimensions = doRender(dummyImage, interactionContext, Camera(Point2D.Float(0.0f, 0.0f), Point2D.Float(1.0f, 1.0f)))?.areas ?: return null
val maxX = dimensions.map { it.value.area.bounds2D.maxX }.max()?.toInt() ?: return null
val minX = dimensions.map { it.value.area.bounds2D.minX }.min()?.toInt() ?: return null
val maxY = dimensions.map { it.value.area.bounds2D.maxY }.max()?.toInt() ?: return null
val minY = dimensions.map { it.value.area.bounds2D.minY }.min()?.toInt() ?: return null
val maxX = dimensions.map { it.value.area.bounds2D.maxX }.maxOrNull()?.toInt() ?: return null
val minX = dimensions.map { it.value.area.bounds2D.minX }.minOrNull()?.toInt() ?: return null
val maxY = dimensions.map { it.value.area.bounds2D.maxY }.maxOrNull()?.toInt() ?: return null
val minY = dimensions.map { it.value.area.bounds2D.minY }.minOrNull()?.toInt() ?: return null
val width = maxX - minX
val height = maxY - minY

Expand Down Expand Up @@ -305,11 +305,11 @@ open class Canvas(private val project: Project, private val settings: CanvasCons
}

val pointAnchor = anchors.filter { it.type == AnchorType.POINT }
.minBy { it.anchor.distance(it.objectAnchor) }
.minByOrNull { it.anchor.distance(it.objectAnchor) }
val anchorX = anchors.filter { it.type == AnchorType.HORIZONTAL }
.minBy { it.anchor.distance(it.objectAnchor) }
.minByOrNull { it.anchor.distance(it.objectAnchor) }
val anchorY = anchors.filter { it.type == AnchorType.VERTICAL }
.minBy { it.anchor.distance(it.objectAnchor) }
.minByOrNull { it.anchor.distance(it.objectAnchor) }

val selectedAnchors: AnchorHit = if (null == pointAnchor) {
applyOrthoOrNoneAnchors(anchorX, anchorY, ctx)
Expand All @@ -326,9 +326,9 @@ open class Canvas(private val project: Project, private val settings: CanvasCons

private fun draggedElement(ctx: ElementInteractionContext): DiagramElementId? {
val cameraPoint = camera.toCameraView(ctx.dragCurrent)
val dragged = ctx.draggedIds.minBy {
val dragged = ctx.draggedIds.minByOrNull {
val bounds = areaByElement?.get(it)?.area?.bounds2D ?: Rectangle2D.Float()
return@minBy Point2D.Float(bounds.centerX.toFloat(), bounds.centerY.toFloat()).distance(cameraPoint)
return@minByOrNull Point2D.Float(bounds.centerX.toFloat(), bounds.centerY.toFloat()).distance(cameraPoint)
}
return dragged
}
Expand Down Expand Up @@ -361,7 +361,7 @@ open class Canvas(private val project: Project, private val settings: CanvasCons
return dragTargettableElements(cursorRect(point))
.filter { !ctx.draggedIds.contains(it) }
.filter { areas[it]?.areaType == AreaType.SHAPE || areas[it]?.areaType == AreaType.SHAPE_THAT_NESTS }
.maxBy { areas[it]?.index ?: ICON_Z_INDEX }
.maxByOrNull { areas[it]?.index ?: ICON_Z_INDEX }
}

fun dragWithWheel(previous: Point2D.Float, current: Point2D.Float) {
Expand Down Expand Up @@ -551,13 +551,13 @@ open class Canvas(private val project: Project, private val settings: CanvasCons
private fun elemUnderCursor(cursorPoint: Point2D.Float, excludeAreas: Set<AreaType> = setOf(AreaType.PARENT_PROCESS_SHAPE)): List<DiagramElementId> {
val withinRect = cursorRect(cursorPoint)
val intersection = areaByElement?.filter { it.value.area.intersects(withinRect) }
val maxZindex = intersection?.maxBy { it: Map.Entry<DiagramElementId, AreaWithZindex> -> it.value.index }
val maxZindex = intersection?.maxByOrNull { it: Map.Entry<DiagramElementId, AreaWithZindex> -> it.value.index }
val result = mutableListOf<DiagramElementId>()
val centerRect = Point2D.Float(withinRect.centerX.toFloat(), withinRect.centerY.toFloat())
intersection
?.filter { !excludeAreas.contains(it.value.areaType) }
?.filter { it.value.index == maxZindex?.value?.index }
?.minBy { it: Map.Entry<DiagramElementId, AreaWithZindex> ->
?.minByOrNull { it: Map.Entry<DiagramElementId, AreaWithZindex> ->
Point2D.Float(
it.value.area.bounds2D.centerX.toFloat(),
it.value.area.bounds2D.centerY.toFloat()
Expand Down Expand Up @@ -596,7 +596,7 @@ open class Canvas(private val project: Project, private val settings: CanvasCons
return@groupBy parent
}
val maxSize =
groupedByParent.maxBy { it: Map.Entry<BaseBpmnRenderElement?, List<DiagramElementId>> -> it.value.size }
groupedByParent.maxByOrNull { it: Map.Entry<BaseBpmnRenderElement?, List<DiagramElementId>> -> it.value.size }
result.clear()
result.addAll(maxSize?.value ?: emptyList())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -291,10 +291,10 @@ class DefaultBpmnProcessRenderer(private val project: Project, val icons: IconPr

val areas = state.ctx.selectedIds.mapNotNull { renderedArea[it] }

val minX = areas.map { it.area.bounds2D.minX }.min()?.toFloat()
val minY = areas.map { it.area.bounds2D.minY }.min()?.toFloat()
val maxX = areas.map { it.area.bounds2D.maxX }.max()?.toFloat()
val maxY = areas.map { it.area.bounds2D.maxY }.max()?.toFloat()
val minX = areas.map { it.area.bounds2D.minX }.minOrNull()?.toFloat()
val minY = areas.map { it.area.bounds2D.minY }.minOrNull()?.toFloat()
val maxX = areas.map { it.area.bounds2D.maxX }.maxOrNull()?.toFloat()
val maxY = areas.map { it.area.bounds2D.maxY }.maxOrNull()?.toFloat()

// TODO: This currently does not support event cascading, so only plain elements can be removed
if (null != minX && null != minY && null != maxX && null != maxY) {
Expand Down Expand Up @@ -392,10 +392,10 @@ class DefaultBpmnProcessRenderer(private val project: Project, val icons: IconPr
private fun computeModelRect(allRendered: Collection<AreaWithZindex>): Rectangle2D.Float {
val filter = { it: AreaWithZindex -> it.areaType != AreaType.PARENT_PROCESS_SHAPE }
val areaBounds = allRendered.filter(filter).map { it.area.bounds2D }
val minX = areaBounds.map { it.bounds2D.x }.min() ?: 0.0
val minY = areaBounds.map { it.bounds2D.y }.min() ?: 0.0
val maxX = areaBounds.map { it.bounds2D.x + it.bounds2D.width }.max() ?: 0.0
val maxY = areaBounds.map { it.bounds2D.y + it.bounds2D.height }.max() ?: 0.0
val minX = areaBounds.map { it.bounds2D.x }.minOrNull() ?: 0.0
val minY = areaBounds.map { it.bounds2D.y }.minOrNull() ?: 0.0
val maxX = areaBounds.map { it.bounds2D.x + it.bounds2D.width }.maxOrNull() ?: 0.0
val maxY = areaBounds.map { it.bounds2D.y + it.bounds2D.height }.maxOrNull() ?: 0.0

val cx = (maxX + minX).toFloat() / 2.0f
val cy = (maxY + minY).toFloat() / 2.0f
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ class PhysicalWaypoint(
val prev = edge.waypoint[pos - 2]
val next = edge.waypoint[pos + 2]
val selectedCandidates = listOf(Point2D.Float(prev.x, next.y), Point2D.Float(next.x, prev.y))
if (selectedCandidates.map { it.distanceSq(prev.x.toDouble(), prev.y.toDouble()) }.min()!! < DefaultCanvasConstants().epsilon
|| selectedCandidates.map { it.distanceSq(next.x.toDouble(), next.y.toDouble()) }.min()!! < DefaultCanvasConstants().epsilon) {
if (selectedCandidates.map { it.distanceSq(prev.x.toDouble(), prev.y.toDouble()) }.minOrNull()!! < DefaultCanvasConstants().epsilon
|| selectedCandidates.map { it.distanceSq(next.x.toDouble(), next.y.toDouble()) }.minOrNull()!! < DefaultCanvasConstants().epsilon) {
return deleteBounds
}
val displacements = selectedCandidates.map { Point2D.Float(it.x - location.x, it.y - location.y) }
Expand All @@ -176,7 +176,7 @@ class PhysicalWaypoint(
val rightAngleIcon = state().ctx.canvas.drawIcon(bounds, state().icons.rightAngle)
val orthoIconId = DiagramElementId(orthoIconIdPrefix + elementId.id)
state().ctx.interactionContext.clickCallbacks[orthoIconId] = { dest ->
val selectedOrtho = displacements.minBy { it.distanceSq(0.0, 0.0) }!!
val selectedOrtho = displacements.minByOrNull { it.distanceSq(0.0, 0.0) }!!
dest.addEvents(listOf(DraggedToEvent(elementId, selectedOrtho.x, selectedOrtho.y, parentElementId, physicalPos)))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@ abstract class BaseEdgeRenderElement(
}

override fun currentOnScreenRect(camera: Camera): Rectangle2D.Float {
val minX = edge.waypoint.minBy { it.x }?.x ?: 0.0f
val minY = edge.waypoint.minBy { it.y }?.y ?: 0.0f
val maxX = edge.waypoint.maxBy { it.x }?.x ?: 0.0f
val maxY = edge.waypoint.maxBy { it.y }?.y ?: 0.0f
val minX = edge.waypoint.minByOrNull { it.x }?.x ?: 0.0f
val minY = edge.waypoint.minByOrNull { it.y }?.y ?: 0.0f
val maxX = edge.waypoint.maxByOrNull { it.x }?.x ?: 0.0f
val maxY = edge.waypoint.maxByOrNull { it.y }?.y ?: 0.0f

// Edge itself can't be translated, so no viewTransform
return Rectangle2D.Float(
Expand All @@ -112,7 +112,7 @@ abstract class BaseEdgeRenderElement(
val name = state().currentState.elemPropertiesByStaticElementId[bpmnElementId]?.get(PropertyType.NAME)?.value as String? ?: return
val longestSegment = waypoints
.mapIndexedNotNull {pos, it -> if (0 == pos) null else Pair(waypoints[pos - 1], it)}
.maxBy { it.first.distance(it.second) } ?: return
.maxByOrNull { it.first.distance(it.second) } ?: return
state().ctx.canvas.drawWrappedSingleLine(longestSegment.first, longestSegment.second, name, color)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ abstract class ShapeRenderElement(

return cartesianProduct(startAvailable, endAvailable)
.filter { if (allowShapeIntersection) true else doesNotIntersectArea(it) }
.minBy { it: Pair<Anchor, Anchor> -> it.first.point.distance(it.second.point) }
.minByOrNull { it: Pair<Anchor, Anchor> -> it.first.point.distance(it.second.point) }
?.let { Pair(it.first.point, it.second.point) }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ class ViewTransformInverter {
minimizeGradientDescent(elementId, target, guess, batch, introspection)
}

return result.minBy { it: PointWithResidual -> it.residual }!!.point
return result.minByOrNull { it: PointWithResidual -> it.residual }!!.point
}

private fun minimizeGradientDescent(elementId: DiagramElementId, target: Point2D.Float, initialGuess: Point2D.Float, batch: ViewTransformBatch, introspection: PointTransformationIntrospection): PointWithResidual {
Expand Down
23 changes: 17 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.11.0'
id 'org.jetbrains.kotlin.jvm' version '1.6.0'
id 'org.jetbrains.kotlin.kapt' version '1.6.0'
id 'org.jetbrains.intellij' version '1.17.4'
id 'org.jetbrains.kotlin.jvm' version '2.1.0'
id 'org.jetbrains.kotlin.kapt' version '2.1.0'
}

ext {
intellijPlatform = 'IU-2023.1'
intellijPlatform = 'IU-2023.3'
intellijPlatformPlugins = ['java', 'DatabaseTools'] // DatabaseTools is for BPMN process 'debugging'

kotlinStdlib = '1.5.30'
kotlinApiVersion = '1.3' // It must be same as JB supplied Kotlin STDLIB i.e. for 2018 = 1.3. See https://youtrack.jetbrains.com/issue/KT-37435
kotlinStdlib = '2.1.0'
kotlinApiVersion = '1.8' // It must be same as JB supplied Kotlin STDLIB i.e. for 2018 = 1.3. See https://youtrack.jetbrains.com/issue/KT-37435

mapstruct = '1.4.2.Final'
jackson = '2.15.2'
Expand Down Expand Up @@ -49,8 +51,17 @@ allprojects {
}
}



subprojects {
tasks.withType(Test) {
useJUnitPlatform()
}

tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}
}
15 changes: 1 addition & 14 deletions camunda-intellij-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ intellij {
}

runPluginVerifier {
ideVersions = ["IU-2022.3", "IC-2022.3"]
ideVersions = ["IU-2023.3", "IC-2023.3"]
}

verifyPlugin {
Expand All @@ -54,19 +54,6 @@ publishPlugin {
token = System.getenv("INTELLIJ_PLUGIN_PUBLISH_TOKEN")
}

compileKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
apiVersion = kotlinApiVersion
}
}

clean {
delete 'out'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
<!-- <helpset file="myhelp.jar" path="/Help.hs" /> -->

<!-- Minimum and maximum build of IDE compatible with the plugin -->
<idea-version since-build="223"/>
<idea-version since-build="233"/>

<!-- Resource bundle (/messages/MyPluginBundle.properties) to be used with `key` attributes in extension points
and implicit keys like `action.[pluginID].[ActionID].text` -->
Expand Down
Loading

0 comments on commit 4015ba0

Please sign in to comment.