Split package `akka.http.ccompat`
- Dominant language
- Scala
- Stars
- 1.4k
- Forks
- 584
- Avg merge
- 14h 33m
- Merged PRs (30d)
- 24
Description
_This is a follow-up to https://github.com/akka/akka/issues/28304#issuecomment-576360895._
The two artifacts `akka.parsing` and `akka.http.core`. both in version `10.1.11`, contain (disjunct) classes in the Java package `akka.http.ccompat`. A split package is considered bad practice, even in plain Java world. Split packages are even not possible when working with sealed packages/jars.
As we currently review the OSGi support for akka and akka-http in a separate project (as a consequence of https://github.com/akka/akka/issues/28304), we wanted to ask the purpose of the found split package. If this is "by accident", I'd like to propose one of the following fixes:
1. Move all classes to the same package into the same artifact
2. Rename one of the packages to avoid the split-package issue, preferably choosing a package name which shares the artifact name as it's prefix
3. Keep it as-is. I think this way should be avoided, but could be necessary e.g. when the packages are part of a public API. But even then, maybe 1. will also work.
Related to https://github.com/woq-blended/akka-osgi/issues/1
Contributor guide
Research direction
Start by inspecting the akka.parsing and akka.http.core artifacts and locating the classes in the akka.http.ccompat package. Read the linked OSGi discussion to determine whether the split is accidental or part of the public API; done means implementing an agreed package or artifact arrangement that removes the split, or documenting why it must remain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, scala
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100