diff --git a/CHANGELOG.md b/CHANGELOG.md index 468371d..ff01bd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Removed - Removed dependency constraint [#221](https://github.com/ie3-institute/powerflow/issues/221) +### Changed +- Upgraded to `scala3` [#204](https://github.com/ie3-institute/powerflow/issues/204) + ## [0.2] ### Changed diff --git a/Jenkinsfile b/Jenkinsfile index 6a7ba82..246b1d9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -54,7 +54,7 @@ String featureBranchName = "" //// gradle tasks that are executed def gradleTasks = "--refresh-dependencies clean spotlessCheck pmdMain pmdTest check" // the gradle tasks that are executed on ALL projects -def mainProjectGradleTasks = "reportScoverage checkScoverage" // additional tasks that are only executed on project 0 (== main project) +def mainProjectGradleTasks = "reportScoverage" // additional tasks that are only executed on project 0 (== main project) /// commit hash def commitHash = "" diff --git a/build.gradle b/build.gradle index 02ee3e9..44058eb 100644 --- a/build.gradle +++ b/build.gradle @@ -14,8 +14,8 @@ plugins { ext { javaVersion = JavaVersion.VERSION_17 - scalaVersion = '2.13' - scalaBinaryVersion = '2.13.16' + scalaVersion = '3' + scalaBinaryVersion = '3.6.4' scapegoatVersion = '3.1.8' @@ -48,7 +48,7 @@ repositories { dependencies { // CORE Scala // - implementation "org.scala-lang:scala-library:${scalaBinaryVersion}" + implementation "org.scala-lang:scala3-library_3:${scalaBinaryVersion}" // TEST Scala // testImplementation "org.scalatest:scalatest_${scalaVersion}:3.2.15" @@ -60,11 +60,11 @@ dependencies { scalaCompilerPlugin "com.sksamuel.scapegoat:scalac-scapegoat-plugin_${scalaBinaryVersion}:${scapegoatVersion}" // scala scapegoat // logging // - implementation "com.typesafe.scala-logging:scala-logging_${scalaVersion}:3.9.5" // akka scala logging + implementation "com.typesafe.scala-logging:scala-logging_${scalaVersion}:3.9.5" // pekko scala logging implementation "ch.qos.logback:logback-classic:1.5.18" // used for ArrayHelper - implementation('com.github.ie3-institute:PowerSystemUtils:2.2.1') { + implementation('com.github.ie3-institute:PowerSystemUtils:3.1.0') { exclude group: 'org.apache.logging.log4j' exclude group: 'org.slf4j' /* Exclude our own nested dependencies */ @@ -75,7 +75,7 @@ dependencies { implementation 'org.apache.commons:commons-math3:3.6.1' implementation 'org.apache.commons:commons-lang3:3.17.0' // for HashCodeBuilder implementation 'javax.measure:unit-api:2.2' - implementation 'org.scalanlp:breeze_2.13:2.1.0' // Scientific calculations + implementation "org.scalanlp:breeze_${scalaVersion}:2.1.0" // Scientific calculations } /* scapegoat hook configuration diff --git a/gradle/scripts/scoverage.gradle b/gradle/scripts/scoverage.gradle index 2424fbd..919b69a 100644 --- a/gradle/scripts/scoverage.gradle +++ b/gradle/scripts/scoverage.gradle @@ -4,7 +4,6 @@ */ scoverage { scoverageVersion = "2.3.0" - scoverageScalaVersion = scalaBinaryVersion coverageOutputHTML = false coverageOutputXML = true coverageOutputCobertura = false diff --git a/src/main/scala/edu/ie3/powerflow/NewtonRaphsonPF.scala b/src/main/scala/edu/ie3/powerflow/NewtonRaphsonPF.scala index 8c80faa..0b9203f 100644 --- a/src/main/scala/edu/ie3/powerflow/NewtonRaphsonPF.scala +++ b/src/main/scala/edu/ie3/powerflow/NewtonRaphsonPF.scala @@ -306,7 +306,7 @@ case object NewtonRaphsonPF extends LazyLogging { val v = StateData.extractVoltageVector(state) val nodalPower = v *:* (admittanceMatrix * v).map(i => i.conjugate) (state zip nodalPower.toScalaVector).map(stateAndPowerPair => - stateAndPowerPair._1.copy(power = -1 * stateAndPowerPair._2) + stateAndPowerPair._1.copy(power = stateAndPowerPair._2 * -1) ) }