From ab8f36b4f173260dd90c9f07ba4f36362e655e08 Mon Sep 17 00:00:00 2001 From: danielfeismann Date: Mon, 15 Dec 2025 12:39:03 +0100 Subject: [PATCH] Update typesafe config to 1.2.5 --- CHANGELOG.md | 1 + build.gradle | 2 +- gradle/scripts/tscfg.gradle | 71 ++++++++----------- .../edu/ie3/osmogrid/cfg/OsmoGridConfig.scala | 40 ++++++++--- 4 files changed, 61 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bf031c3..7d832840 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,6 +65,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update `Gradle Wrapper` to 9.1.0 [#624](https://github.com/ie3-institute/OSMoGrid/issues/624) - Updated Ubuntu version to 24.04 and Python version to 3.13 in readthedocs.yml [#640](https://github.com/ie3-institute/OSMoGrid/issues/640) - Updated gradle version 9.2.1 new version [#649](https://github.com/ie3-institute/OSMoGrid/issues/649) +- Updated `tscfg` to 1.2.5 [#659](https://github.com/ie3-institute/OSMoGrid/issues/659) ### Fixed - Fixed bug in `LvGridGeneratorSupport` [#388](https://github.com/ie3-institute/OSMoGrid/issues/388) diff --git a/build.gradle b/build.gradle index 34133611..aa853843 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ ext { scalaBinaryVersion = '3.7.4' pekkoVersion = '1.3.0' - tscfgVersion = '0.9.995' + tscfgVersion = '1.2.5' scapegoatVersion = '3.2.3' scriptsLocation = 'gradle' + File.separator + 'scripts' + File.separator diff --git a/gradle/scripts/tscfg.gradle b/gradle/scripts/tscfg.gradle index b1f227ab..a83aaed2 100644 --- a/gradle/scripts/tscfg.gradle +++ b/gradle/scripts/tscfg.gradle @@ -1,56 +1,43 @@ //////////////////////////////////////////////////////////////////////////// // Generate config classes reflecting the osmogrid-config-tempalte.conf template file //////////////////////////////////////////////////////////////////////////// -task genConfigClass { - doLast { - def tscfgJarFile = layout.buildDirectory.file('tscfg-' + tscfgVersion + '.jar').get().asFile - if (!tscfgJarFile.exists() || !tscfgJarFile.isFile()) { - download.run { - src 'https://github.com/carueda/tscfg/releases/download/v' + tscfgVersion + '/tscfg-' + tscfgVersion + '.jar' - dest layout.buildDirectory.get() - } - } - javaexec { - main = "-jar" - args = [ - "build/tscfg-${tscfgVersion}.jar", - "--spec", - "src/main/resources/config/config-template.conf", - "--scala", - "--durations", - "--pn", - "edu.ie3.osmogrid.cfg", - "--cn", - "OsmoGridConfig", - "--dd", - "src/main/scala/edu/ie3/osmogrid/cfg/" - ] +tasks.register('genConfigClass', JavaExec) { + def tscfgJarFile = layout.buildDirectory.file("tscfg-${tscfgVersion}.jar").get().asFile + if (!tscfgJarFile.exists() || !tscfgJarFile.isFile()) { + download.run { + src "https://github.com/carueda/tscfg/releases/download/v${tscfgVersion}/tscfg-${tscfgVersion}.jar" + dest layout.buildDirectory.get() } } + + mainClass.set("-jar") + args = [ + "build/tscfg-${tscfgVersion}.jar", + "--spec", "src/main/resources/config/config-template.conf", + "--scala", "--durations", + "--pn", "edu.ie3.osmogrid.cfg", + "--cn", "OsmoGridConfig", + "--dd", "src/main/scala/edu/ie3/osmogrid/cfg/" + ] } //////////////////////////////////////////////////////////////////////////// // Generate sample config file reflecting the application.conf template file // This can be used to setup a new simulation configuration //////////////////////////////////////////////////////////////////////////// -task genConfigSample { - doLast { - def tscfgJarFile = layout.buildDirectory.file('tscfg-' + tscfgVersion + '.jar').get().asFile - if (!tscfgJarFile.exists() || !tscfgJarFile.isFile()) { - download.run { - src 'https://github.com/carueda/tscfg/releases/download/v' + tscfgVersion + '/tscfg-' + tscfgVersion + '.jar' - dest layout.buildDirectory.get() - } - } - javaexec { - main = "-jar" - args = [ - "build/tscfg-${tscfgVersion}.jar", - "--spec", - "src/main/resources/config/config-template.conf", - "--tpl", - "configs/osmogrid/OSMoGrid_sample.conf" - ] +tasks.register('genConfigSample', JavaExec) { + def tscfgJarFile = layout.buildDirectory.file("tscfg-${tscfgVersion}.jar").get().asFile + if (!tscfgJarFile.exists() || !tscfgJarFile.isFile()) { + download.run { + src "https://github.com/carueda/tscfg/releases/download/v${tscfgVersion}/tscfg-${tscfgVersion}.jar" + dest layout.buildDirectory.get() } } + + mainClass.set("-jar") + args = [ + "build/tscfg-${tscfgVersion}.jar", + "--spec", "src/main/resources/config/config-template.conf", + "--tpl", "configs/osmogrid/OSMoGrid_sample.conf" + ] } diff --git a/src/main/scala/edu/ie3/osmogrid/cfg/OsmoGridConfig.scala b/src/main/scala/edu/ie3/osmogrid/cfg/OsmoGridConfig.scala index b81cc3c8..07e80f8e 100644 --- a/src/main/scala/edu/ie3/osmogrid/cfg/OsmoGridConfig.scala +++ b/src/main/scala/edu/ie3/osmogrid/cfg/OsmoGridConfig.scala @@ -1,5 +1,5 @@ /* - * © 2024. TU Dortmund University, + * © 2025. TU Dortmund University, * Institute of Energy Systems, Energy Efficiency and Energy Economics, * Research group Distribution grid planning and operation */ @@ -19,6 +19,12 @@ object OsmoGridConfig { mv: scala.Option[OsmoGridConfig.Generation.Mv], ) object Generation { + + /** @param averagePowerDensity + * as W/m^2 + * @param considerHouseConnectionPoints + * If there shall be no distinct lines for house connection + */ final case class Lv( averagePowerDensity: scala.Double, boundaryAdminLevel: OsmoGridConfig.Generation.Lv.BoundaryAdminLevel, @@ -50,6 +56,10 @@ object OsmoGridConfig { filter: scala.Option[OsmoGridConfig.Generation.Lv.Osm.Filter] ) object Osm { + + /** @param building + * filter to be applied for the LvOsmoGridModel + */ final case class Filter( building: scala.List[java.lang.String], highway: scala.List[java.lang.String], @@ -87,7 +97,7 @@ object OsmoGridConfig { $tsCfgValidator, ) ) - else None + else scala.None ) } } @@ -173,14 +183,14 @@ object OsmoGridConfig { OsmoGridConfig.Generation .Lv(c.getConfig("lv"), parentPath + "lv.", $tsCfgValidator) ) - else None, + else scala.None, mv = if (c.hasPathOrNull("mv")) scala.Some( OsmoGridConfig.Generation .Mv(c.getConfig("mv"), parentPath + "mv.", $tsCfgValidator) ) - else None, + else scala.None, ) } } @@ -284,7 +294,7 @@ object OsmoGridConfig { $tsCfgValidator, ) ) - else None + else scala.None ) } } @@ -336,7 +346,7 @@ object OsmoGridConfig { OsmoGridConfig.Input.Osm .Pbf(c.getConfig("pbf"), parentPath + "pbf.", $tsCfgValidator) ) - else None + else scala.None ) } } @@ -421,7 +431,7 @@ object OsmoGridConfig { OsmoGridConfig.Output .Csv(c.getConfig("csv"), parentPath + "csv.", $tsCfgValidator) ) - else None, + else scala.None, gridName = $_reqStr(parentPath, c, "gridName", $tsCfgValidator), ) } @@ -449,6 +459,10 @@ object OsmoGridConfig { mv: OsmoGridConfig.Voltage.Mv, ) object Voltage { + + /** @param vNom + * values should be given in kV + */ final case class Hv( default: scala.Double, id: java.lang.String, @@ -469,11 +483,14 @@ object OsmoGridConfig { scala.Some( $_L$_dbl(c.getList("vNom"), parentPath, $tsCfgValidator) ) - else None, + else scala.None, ) } } + /** @param vNom + * values should be given in kV + */ final case class Lv( default: scala.Double, id: java.lang.String, @@ -494,11 +511,14 @@ object OsmoGridConfig { scala.Some( $_L$_dbl(c.getList("vNom"), parentPath, $tsCfgValidator) ) - else None, + else scala.None, ) } } + /** @param vNom + * values should be given in kV + */ final case class Mv( default: scala.Double, id: java.lang.String, @@ -519,7 +539,7 @@ object OsmoGridConfig { scala.Some( $_L$_dbl(c.getList("vNom"), parentPath, $tsCfgValidator) ) - else None, + else scala.None, ) } }