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

jvm based multihash implementations should coordinate namespaces #98

Open
lanzafame opened this issue Jul 23, 2018 · 4 comments
Open

jvm based multihash implementations should coordinate namespaces #98

lanzafame opened this issue Jul 23, 2018 · 4 comments

Comments

@lanzafame
Copy link

I just noticed that the java implementation has the namespace io.ipfs.multihash and the kotlin implementation has io.ipfs.multiformats.multihash.

Ideally, all jvm multiformats implementations would live in peace and harmony and fall under the same namespace, i.e. io.ipfs.multiformats, and then be distinguished by language and project, i.e java-multihash, kt-multihash, clj-multihash etc. This may only be realistic for implementations that get brought into the multiformats github org.

@lanzafame
Copy link
Author

@Stebalien @ianopolous @changjiashuai @tdiesler Seeing as this issue is floating around a bit, I understand not everyone uses Maven but it is still a major component of the ecosystem it would be great to sort this out. This issue applies to more than just multihash but it is here as I noticed it here first :). Would love to here peoples thoughts?

@Stebalien
Copy link
Member

I don't really see any way forward here that'll make everyone happy but I'd use the language names (e.g., rename the kotlin one to io.ipfs.multiformats.multihash.kt). I just wish there were some language namespace switching concept in the JVM.

@tdiesler
Copy link

tdiesler commented Aug 8, 2018

An obvious solution would be to move away from JitPack and publish on Maven central (like most other OS Java projects do). AFAICS, it is JitPack that mandates a certain group/artifactId for stuff that it publishes.

Moving to Maven central would give full control over group/artifactId and of course package name.

@ianopolous
Copy link
Member

The JVM can easily handle loading things with the same package and even class name, using different class loaders. I suspect once we migrate to Java 9+ this will be a non problem because each implementation would have a distinct module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants