Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate imports sorting #661

Open
sebastian-peter opened this issue Nov 22, 2023 · 1 comment · May be fixed by #676
Open

Automate imports sorting #661

sebastian-peter opened this issue Nov 22, 2023 · 1 comment · May be fixed by #676
Assignees
Labels
format Issues related to code formatting

Comments

@sebastian-peter
Copy link
Member

sebastian-peter commented Nov 22, 2023

It is quite annoying that imports have to be sorted "manually", since different import orders can be committed and make merge conflicts more likely.

Luckily, there are tools that can

  1. format and sort imports via gradle command
  2. check for correctly formatted imports and fail CI otherwise

Scalafix with the OrganizeImports rule is one of those tools. There are further rules like DisableSyntax that could be helpful for keeping the code clean. There is a gradle plugin for scalafix.

Before integrating Scalafix into the project, research other tools that offer similar functionality - there might be some that are better suited for us.

@sebastian-peter sebastian-peter added the format Issues related to code formatting label Nov 22, 2023
@sebastian-peter sebastian-peter self-assigned this Nov 23, 2023
@sebastian-peter
Copy link
Member Author

Tried scalafix, which takes very long for formatting and checking, among other issues. Would need some more work, if we want to include it at all.

@sebastian-peter sebastian-peter linked a pull request Nov 29, 2023 that will close this issue
sebastian-peter added a commit that referenced this issue Nov 30, 2023
# Conflicts:
#	build.gradle
sebastian-peter added a commit that referenced this issue Feb 9, 2024
# Conflicts:
#	.scalafmt.conf
#	build.gradle
#	src/main/scala/edu/ie3/simona/agent/grid/DBFSAlgorithm.scala
#	src/main/scala/edu/ie3/simona/agent/grid/GridResultsSupport.scala
#	src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgent.scala
#	src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/agent/participant/ServiceRegistration.scala
#	src/main/scala/edu/ie3/simona/agent/participant/evcs/EvcsAgent.scala
#	src/main/scala/edu/ie3/simona/agent/participant/evcs/EvcsAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/agent/participant/fixedfeedin/FixedFeedInAgent.scala
#	src/main/scala/edu/ie3/simona/agent/participant/fixedfeedin/FixedFeedInAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/agent/participant/hp/HpAgent.scala
#	src/main/scala/edu/ie3/simona/agent/participant/hp/HpAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/agent/participant/load/LoadAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/agent/participant/pv/PvAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/agent/participant/statedata/BaseStateData.scala
#	src/main/scala/edu/ie3/simona/agent/participant/statedata/ParticipantStateData.scala
#	src/main/scala/edu/ie3/simona/agent/participant/wec/WecAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/api/ExtSimAdapter.scala
#	src/main/scala/edu/ie3/simona/config/ConfigFailFast.scala
#	src/main/scala/edu/ie3/simona/main/RunSimonaStandalone.scala
#	src/main/scala/edu/ie3/simona/model/participant/ChpModel.scala
#	src/main/scala/edu/ie3/simona/model/participant/load/LoadModel.scala
#	src/main/scala/edu/ie3/simona/model/participant/load/profile/ProfileLoadModel.scala
#	src/main/scala/edu/ie3/simona/model/thermal/CylindricalThermalStorage.scala
#	src/main/scala/edu/ie3/simona/scheduler/Scheduler.scala
#	src/main/scala/edu/ie3/simona/scheduler/SchedulerData.scala
#	src/main/scala/edu/ie3/simona/service/ev/ExtEvDataService.scala
#	src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceProxy.scala
#	src/main/scala/edu/ie3/simona/service/weather/WeatherSource.scala
#	src/main/scala/edu/ie3/simona/sim/SimonaSim.scala
#	src/main/scala/edu/ie3/simona/sim/setup/SetupHelper.scala
#	src/main/scala/edu/ie3/simona/sim/setup/SimonaStandaloneSetup.scala
#	src/main/scala/edu/ie3/simona/util/ConfigUtil.scala
#	src/main/scala/edu/ie3/util/scala/quantities/ReactivePower.scala
#	src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmParticipantSpec.scala
#	src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup2WSpec.scala
#	src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup3WSpec.scala
#	src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentalsSpec.scala
#	src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentMock.scala
#	src/test/scala/edu/ie3/simona/agent/participant/PvAgentModelCalculationSpec.scala
#	src/test/scala/edu/ie3/simona/api/ExtSimAdapterSpec.scala
#	src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerSpec.scala
#	src/test/scala/edu/ie3/simona/model/participant/ApparentPowerAndHeatSpec.scala
#	src/test/scala/edu/ie3/simona/scheduler/ScheduleLockIT.scala
#	src/test/scala/edu/ie3/simona/scheduler/ScheduleLockSpec.scala
#	src/test/scala/edu/ie3/simona/scheduler/SchedulerSpec.scala
#	src/test/scala/edu/ie3/simona/scheduler/TimeAdvancerSpec.scala
#	src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySqlIT.scala
#	src/test/scala/edu/ie3/simona/service/weather/WeatherServiceSpec.scala
#	src/test/scala/edu/ie3/simona/test/common/input/PvInputTestData.scala
#	src/test/scala/edu/ie3/simona/test/matchers/QuantityMatchers.scala
#	src/test/scala/edu/ie3/simona/util/ConfigUtilSpec.scala
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
format Issues related to code formatting
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant