Skip to content

Commit

Permalink
Cross-compile for Scala 3 hadoop, javax, joda, scala-xml, scalaz and …
Browse files Browse the repository at this point in the history
…squants modules
  • Loading branch information
grzegorz-bielski committed Dec 13, 2023
1 parent 5269779 commit dc4bc13
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 66 deletions.
2 changes: 1 addition & 1 deletion modules/hadoop/build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Dependencies.Version._

crossScalaVersions := Seq(scala212, scala213)
crossScalaVersions := Seq(scala212, scala213, scala3)

libraryDependencies ++= Seq("org.apache.hadoop" % "hadoop-common" % "3.3.6" % "provided")
mdocLibraryDependencies ++= Seq("org.apache.hadoop" % "hadoop-common" % "3.3.6")
Expand Down
2 changes: 1 addition & 1 deletion modules/javax/build.sbt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Dependencies.Version._

crossScalaVersions := Seq(scala212, scala213)
crossScalaVersions := Seq(scala212, scala213, scala3)

developers := List(Developer("derekmorr", "Derek Morr", "morr.derek@gmail.com", url("https://github.com/derekmorr")))
2 changes: 1 addition & 1 deletion modules/joda/build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Dependencies.Version._

crossScalaVersions := Seq(scala212, scala213)
crossScalaVersions := Seq(scala212, scala213, scala3)

libraryDependencies ++= Seq("joda-time" % "joda-time" % "2.12.5", "org.joda" % "joda-convert" % "2.2.3")

Expand Down
2 changes: 1 addition & 1 deletion modules/scala-xml/build.sbt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Dependencies.Version._
import Utilities._

crossScalaVersions := Seq(scala212, scala213)
crossScalaVersions := Seq(scala212, scala213, scala3)

// Scala 2.12 depends on an old version of scala-xml
libraryDependencies ++= forScalaVersions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ class ScalaXMLSuite extends BaseSuite {
}

it should "return an error when reading invalid XML" in {
configValue("<people>").to[Elem] shouldBe 'left
configValue("<people>").to[Elem].isLeft shouldBe true
}
}
2 changes: 1 addition & 1 deletion modules/scalaz/build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Dependencies.Version._

crossScalaVersions := Seq(scala212, scala213)
crossScalaVersions := Seq(scala212, scala213, scala3)

libraryDependencies ++= Seq(
"org.scalaz" %% "scalaz-core" % "7.3.8",
Expand Down
2 changes: 1 addition & 1 deletion modules/squants/build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Dependencies.Version._

crossScalaVersions := Seq(scala212, scala213)
crossScalaVersions := Seq(scala212, scala213, scala3)

libraryDependencies ++= Seq("org.typelevel" %% "squants" % "1.8.3")

Expand Down
115 changes: 58 additions & 57 deletions modules/squants/src/main/scala/pureconfig/module/squants/package.scala
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import _root_.squants.space._
import _root_.squants.thermal._
import _root_.squants.time._

import pureconfig.ConfigConvert
import pureconfig.ConfigConvert._

/** Provides [[ConfigConvert]] instances for Squants [[_root_.squants.Dimension]].
Expand All @@ -27,140 +28,140 @@ import pureconfig.ConfigConvert._
package object squants {

// electro
implicit val capacitanceConfigConvert =
implicit val capacitanceConfigConvert: ConfigConvert[Capacitance] =
viaNonEmptyStringTry[Capacitance](Capacitance.apply, _.toString)
implicit val conductivityConfigConvert =
implicit val conductivityConfigConvert: ConfigConvert[Conductivity] =
viaNonEmptyStringTry[Conductivity](Conductivity.apply, _.toString)
implicit val electricChargeConfigConvert =
implicit val electricChargeConfigConvert: ConfigConvert[ElectricCharge] =
viaNonEmptyStringTry[ElectricCharge](ElectricCharge.apply, _.toString)
implicit val electricCurrentConfigConvert =
implicit val electricCurrentConfigConvert: ConfigConvert[ElectricCurrent] =
viaNonEmptyStringTry[ElectricCurrent](ElectricCurrent.apply, _.toString)
implicit val electricPotentialConfigConvert =
implicit val electricPotentialConfigConvert: ConfigConvert[ElectricPotential] =
viaNonEmptyStringTry[ElectricPotential](ElectricPotential.apply, _.toString)
implicit val electricalConductanceConfigConvert =
implicit val electricalConductanceConfigConvert: ConfigConvert[ElectricalConductance] =
viaNonEmptyStringTry[ElectricalConductance](ElectricalConductance.apply, _.toString)
implicit val electricalResistanceConfigConvert =
implicit val electricalResistanceConfigConvert: ConfigConvert[ElectricalResistance] =
viaNonEmptyStringTry[ElectricalResistance](ElectricalResistance.apply, _.toString)
implicit val inductanceConfigConvert =
implicit val inductanceConfigConvert: ConfigConvert[Inductance] =
viaNonEmptyStringTry[Inductance](Inductance.apply, _.toString)
implicit val magneticFluxConfigConvert =
implicit val magneticFluxConfigConvert: ConfigConvert[MagneticFlux] =
viaNonEmptyStringTry[MagneticFlux](MagneticFlux.apply, _.toString)
implicit val magneticFluxDensityConfigConvert =
implicit val magneticFluxDensityConfigConvert: ConfigConvert[MagneticFluxDensity] =
viaNonEmptyStringTry[MagneticFluxDensity](MagneticFluxDensity.apply, _.toString)
implicit val resistivityConfigConvert =
implicit val resistivityConfigConvert: ConfigConvert[Resistivity] =
viaNonEmptyStringTry[Resistivity](Resistivity.apply, _.toString)

// energy
implicit val energyConfigConvert =
implicit val energyConfigConvert: ConfigConvert[Energy] =
viaNonEmptyStringTry[Energy](Energy.apply, _.toString)
implicit val energyDensityConfigConvert =
implicit val energyDensityConfigConvert: ConfigConvert[EnergyDensity] =
viaNonEmptyStringTry[EnergyDensity](EnergyDensity.apply, _.toString)
implicit val powerConfigConvert =
implicit val powerConfigConvert: ConfigConvert[Power] =
viaNonEmptyStringTry[Power](Power.apply, _.toString)
implicit val powerRampConfigConvert =
implicit val powerRampConfigConvert: ConfigConvert[PowerRamp] =
viaNonEmptyStringTry[PowerRamp](PowerRamp.apply, _.toString)
implicit val SpecificEnergyConfigConvert =
implicit val SpecificEnergyConfigConvert: ConfigConvert[SpecificEnergy] =
viaNonEmptyStringTry[SpecificEnergy](SpecificEnergy.apply, _.toString)

// information
implicit val informationConfigConvert =
implicit val informationConfigConvert: ConfigConvert[Information] =
viaNonEmptyStringTry[Information](Information.apply, _.toString)
implicit val dataRateConfigConvert =
implicit val dataRateConfigConvert: ConfigConvert[DataRate] =
viaNonEmptyStringTry[DataRate](DataRate.apply, _.toString)

// market
// Using own string representation due to https://github.com/typelevel/squants/issues/321
implicit def moneyDensityConfigConvert(implicit mc: MoneyContext) =
implicit def moneyDensityConfigConvert(implicit mc: MoneyContext): ConfigConvert[Money] =
viaNonEmptyStringTry[Money](Money.apply, { m => m.amount.underlying.toPlainString + " " + m.currency.code })

// mass
implicit val areaDensityConfigConvert =
implicit val areaDensityConfigConvert: ConfigConvert[AreaDensity] =
viaNonEmptyStringTry[AreaDensity](AreaDensity.apply, _.toString)
implicit val chemicalAmountConfigConvert =
implicit val chemicalAmountConfigConvert: ConfigConvert[ChemicalAmount] =
viaNonEmptyStringTry[ChemicalAmount](ChemicalAmount.apply, _.toString)
implicit val densityConfigConvert =
implicit val densityConfigConvert: ConfigConvert[Density] =
viaNonEmptyStringTry[Density](Density.apply, _.toString)
implicit val massConfigConvert =
implicit val massConfigConvert: ConfigConvert[Mass] =
viaNonEmptyStringTry[Mass](Mass.apply, _.toString)
implicit val momentOfInertiaConfigConvert =
implicit val momentOfInertiaConfigConvert: ConfigConvert[MomentOfInertia] =
viaNonEmptyStringTry[MomentOfInertia](MomentOfInertia.apply, _.toString)

// motion
implicit val accelerationConfigConvert =
implicit val accelerationConfigConvert: ConfigConvert[Acceleration] =
viaNonEmptyStringTry[Acceleration](Acceleration.apply, _.toString)
implicit val angularAccelerationConfigConvert =
implicit val angularAccelerationConfigConvert: ConfigConvert[AngularAcceleration] =
viaNonEmptyStringTry[AngularAcceleration](AngularAcceleration.apply, _.toString)
implicit val angularVelocityConfigConvert =
implicit val angularVelocityConfigConvert: ConfigConvert[AngularVelocity] =
viaNonEmptyStringTry[AngularVelocity](AngularVelocity.apply, _.toString)
implicit val forceConfigConvert =
implicit val forceConfigConvert: ConfigConvert[Force] =
viaNonEmptyStringTry[Force](Force.apply, _.toString)
implicit val jerkConfigConvert =
implicit val jerkConfigConvert: ConfigConvert[Jerk] =
viaNonEmptyStringTry[Jerk](Jerk.apply, _.toString)
implicit val massFlowConfigConvert =
implicit val massFlowConfigConvert: ConfigConvert[MassFlow] =
viaNonEmptyStringTry[MassFlow](MassFlow.apply, _.toString)
implicit val momentumConfigConvert =
implicit val momentumConfigConvert: ConfigConvert[Momentum] =
viaNonEmptyStringTry[Momentum](Momentum.apply, _.toString)
implicit val pressureConfigConvert =
implicit val pressureConfigConvert: ConfigConvert[Pressure] =
viaNonEmptyStringTry[Pressure](Pressure.apply, _.toString)
implicit val pressureChangeConfigConvert =
implicit val pressureChangeConfigConvert: ConfigConvert[PressureChange] =
viaNonEmptyStringTry[PressureChange](PressureChange.apply, _.toString)
implicit val torqueConfigConvert =
implicit val torqueConfigConvert: ConfigConvert[Torque] =
viaNonEmptyStringTry[Torque](Torque.apply, _.toString)
implicit val velocityConfigConvert =
implicit val velocityConfigConvert: ConfigConvert[Velocity] =
viaNonEmptyStringTry[Velocity](Velocity.apply, _.toString)
implicit val volumeFlowConfigConvert =
implicit val volumeFlowConfigConvert: ConfigConvert[VolumeFlow] =
viaNonEmptyStringTry[VolumeFlow](VolumeFlow.apply, _.toString)
implicit val yankConfigConvert =
implicit val yankConfigConvert: ConfigConvert[Yank] =
viaNonEmptyStringTry[Yank](Yank.apply, _.toString)

// photo
implicit val illuminanceConfigConvert =
implicit val illuminanceConfigConvert: ConfigConvert[Illuminance] =
viaNonEmptyStringTry[Illuminance](Illuminance.apply, _.toString)
implicit val luminanceConfigConvert =
implicit val luminanceConfigConvert: ConfigConvert[Luminance] =
viaNonEmptyStringTry[Luminance](Luminance.apply, _.toString)
implicit val luminousEnergyConfigConvert =
implicit val luminousEnergyConfigConvert: ConfigConvert[LuminousEnergy] =
viaNonEmptyStringTry[LuminousEnergy](LuminousEnergy.apply, _.toString)
implicit val luminousExposureConfigConvert =
implicit val luminousExposureConfigConvert: ConfigConvert[LuminousExposure] =
viaNonEmptyStringTry[LuminousExposure](LuminousExposure.apply, _.toString)
implicit val luminousFluxConfigConvert =
implicit val luminousFluxConfigConvert: ConfigConvert[LuminousFlux] =
viaNonEmptyStringTry[LuminousFlux](LuminousFlux.apply, _.toString)
implicit val luminousIntensityConfigConvert =
implicit val luminousIntensityConfigConvert: ConfigConvert[LuminousIntensity] =
viaNonEmptyStringTry[LuminousIntensity](LuminousIntensity.apply, _.toString)

// radio
implicit val irradianceConfigConvert =
implicit val irradianceConfigConvert: ConfigConvert[Irradiance] =
viaNonEmptyStringTry[Irradiance](Irradiance.apply, _.toString)
implicit val radianceConfigConvert =
implicit val radianceConfigConvert: ConfigConvert[Radiance] =
viaNonEmptyStringTry[Radiance](Radiance.apply, _.toString)
implicit val spectralIntensityConfigConvert =
implicit val spectralIntensityConfigConvert: ConfigConvert[SpectralIntensity] =
viaNonEmptyStringTry[SpectralIntensity](SpectralIntensity.apply, _.toString)
implicit val spectralIrradianceConfigConvert =
implicit val spectralIrradianceConfigConvert: ConfigConvert[SpectralIrradiance] =
viaNonEmptyStringTry[SpectralIrradiance](SpectralIrradiance.apply, _.toString)
implicit val spectralPowerConfigConvert =
implicit val spectralPowerConfigConvert: ConfigConvert[SpectralPower] =
viaNonEmptyStringTry[SpectralPower](SpectralPower.apply, _.toString)

// space
implicit val angleConfigConvert =
implicit val angleConfigConvert: ConfigConvert[Angle] =
viaNonEmptyStringTry[Angle](Angle.apply, _.toString)
implicit val areaConfigConvert =
implicit val areaConfigConvert: ConfigConvert[Area] =
viaNonEmptyStringTry[Area](Area.apply, _.toString)
implicit val lengthConfigConvert =
implicit val lengthConfigConvert: ConfigConvert[Length] =
viaNonEmptyStringTry[Length](Length.apply, _.toString)
implicit val solidAngleConfigConvert =
implicit val solidAngleConfigConvert: ConfigConvert[SolidAngle] =
viaNonEmptyStringTry[SolidAngle](SolidAngle.apply, _.toString)
implicit val volumeConfigConvert =
implicit val volumeConfigConvert: ConfigConvert[Volume] =
viaNonEmptyStringTry[Volume](Volume.apply, _.toString)

// thermal
implicit val temperatureConfigConvert =
implicit val temperatureConfigConvert: ConfigConvert[Temperature] =
viaNonEmptyStringTry[Temperature](Temperature.apply, _.toString)
implicit val thermalCapacityConfigConvert =
implicit val thermalCapacityConfigConvert: ConfigConvert[ThermalCapacity] =
viaNonEmptyStringTry[ThermalCapacity](ThermalCapacity.apply, _.toString)

// time
implicit val frequencyConfigConvert =
implicit val frequencyConfigConvert: ConfigConvert[Frequency] =
viaNonEmptyStringTry[Frequency](Frequency.apply, _.toString)
implicit val timeConfigConvert =
implicit val timeConfigConvert: ConfigConvert[Time] =
viaNonEmptyStringTry[Time](Time.apply, _.toString)

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package pureconfig.module.squants

import scala.reflect.runtime.universe._
import scala.reflect.ClassTag

import _root_.squants._
import _root_.squants.market._
Expand Down Expand Up @@ -81,7 +81,7 @@ class SquantsConvertTest extends BaseSuite {

def checkDimension[T <: Quantity[T]](
dim: Dimension[T]
)(implicit tag: TypeTag[T], cc: ConfigConvert[T]): Unit = {
)(implicit tag: ClassTag[T], cc: ConfigConvert[T]): Unit = {
implicit val arbitrary = quantityAbitrary(dim)
checkArbitrary[T]
}
Expand Down

0 comments on commit dc4bc13

Please sign in to comment.