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

Move PlatformDependent to `servicetalk-utils-internal` #879

Closed
idelpivnitskiy opened this issue Nov 23, 2019 · 0 comments · Fixed by #882
Closed

Move PlatformDependent to `servicetalk-utils-internal` #879

idelpivnitskiy opened this issue Nov 23, 2019 · 0 comments · Fixed by #882

Comments

@idelpivnitskiy
Copy link
Member

@idelpivnitskiy idelpivnitskiy commented Nov 23, 2019

PlatformDependent class lives in servicetalk-concurrent-internal module, but is not designed only for concurrent primitives. Different modules use it and therefore depend on servicetalk-concurrent-internal (and transitively on servicetalk-concurrent). This is not ideal, because requires unnecessary dependencies.

Because we recently introduced servicetalk-utils-internal module, we can move PlatformDependent and all related pkg-private utility classes there.

After this move, we should investigate which modules do not need to depend on servicetalk-concurrent-internal module anymore. For example, servicetalk-buffer-netty.

muthupalaniappan pushed a commit to muthupalaniappan/servicetalk that referenced this issue Nov 28, 2019
Motivation:

PlatformDependent class lives in servicetalk-concurrent-internal module, but is not designed only for concurrent primitives. Different modules use it and therefore depend on servicetalk-concurrent-internal (and transitively on servicetalk-concurrent). This is not ideal, because requires unnecessary dependencies.

Modifications:

* Moved files PlatformDependent.java, PlatformDependent0.java, ReflectionUtils.java from servicetalk-concurrent-internal module(io.servicetalk.concurrent.internal package) to servicetalk-utils-internal module(io.servicetalk.utils.internal package).
* Moved gradle/checkstyle/suppressions.xml from servicetalk-concurrent-internal module to servicetalk-utils-internal module
* Removed jctools dependency from servicetalk-concurrent-internal
* Added jctools,sl4j dependency to servicetalk-utils-internal.
* Added servicetalk-utils-internal project as implementation dependency to servicetalk-buffer-netty, servicetalk-concurrent-api, servicetalk-concurrent-api-internal, servicetalk-concurrent-internal, servicetalk-data-jakson, servicetalk-grps-api, servicetalk-transport-netty-internal
* Added servicetalk-utils-internal project as testImplementation dependency to servicetalk-grpc-netty, servicetalk-http-netty
* Removed servicetalk-concurrent-internal dependency from servicetalk-buffer-netty
* Modified lot of class files import and static import statements to use io.servicetalk.util.internal... instead of io.servicetalk.concurrent.internal... for PlatformDependent, PlatformDependent0, ReflectionUtils classes and its inner static members.

Result:
Only internal changes and no API changes.

Fixes apple#879
idelpivnitskiy added a commit that referenced this issue Dec 2, 2019
Motivation:

PlatformDependent class lives in `servicetalk-concurrent-internal` module, but is not designed only for concurrent primitives. Different modules use it and therefore depend on servicetalk-concurrent-internal (and transitively on servicetalk-concurrent). This is not ideal, because requires unnecessary dependencies.

Modifications:

* Moved files `PlatformDependent.java`, `PlatformDependent0.java`, `ReflectionUtils.java` from `servicetalk-concurrent-internal` module to `servicetalk-utils-internal` module.
* Moved `gradle/checkstyle/suppressions.xml` from `servicetalk-concurrent-internal` module to `servicetalk-utils-internal` module.
* Removed `jctools` dependency from `servicetalk-concurrent-internal`.
* Added `jctools` and `sl4j` dependencies to `servicetalk-utils-internal`.
* Added `servicetalk-utils-internal` project as implementation dependency to `servicetalk-buffer-netty`, `servicetalk-concurrent-api`, `servicetalk-concurrent-api-internal`, `servicetalk-concurrent-internal`, `servicetalk-data-jakson`, `servicetalk-grps-api`, `servicetalk-transport-netty-internal`.
* Added `servicetalk-utils-internal` project as `testImplementation` dependency to `servicetalk-grpc-netty` and `servicetalk-http-netty`.
* Removed `servicetalk-concurrent-internal` dependency from `servicetalk-buffer-netty`.
* Modified a lot of class files import and static import statements to use `io.servicetalk.util.internal...` instead of `io.servicetalk.concurrent.internal...` for `PlatformDependent`, `PlatformDependent0`, `ReflectionUtils` classes and its inner static members.

Result:

`PlatformDependent` class moved into `servicetalk-utils-internal` module.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

1 participant
You can’t perform that action at this time.