scalacenter / scaladex

The Scala Package Index
https://index.scala-lang.org
BSD 3-Clause "New" or "Revised" License
198 stars 76 forks source link

Index some java artifacts #302

Closed jypma closed 7 years ago

jypma commented 7 years ago

ts-reaktive is a mixed multi-module Scala/Java SBT project. Some artifacts are Scala, some artifacts are Java-only. It's currently Java-focused, but we expect to add more Scala DSLs.

It's a bit unfortunate that its Java side seems to be ignored on its Scaladex page. Now I realize this is a Scala index, but could e.g. at least the Java artifacts also be made to show in the top-right dropdown? Maybe with a tag or something, that'd be even better.

After all, one of the reasons we started ts-reaktive was to show Java folks that writing reactive, immutable code is the way forward, while helping them to stumble onto Scala as well ;-)

patriknw commented 7 years ago

This is important for Akka community page, which should be able to list java and scala projects.

ktoso commented 7 years ago

Another known example of such library (written in Java, because we needed it to not depend on any given scala version) is the widely used https://github.com/typesafehub/config which we'd love to be listed in scalaindex as well. Akka and many many other projects use it as the configuration lib.

Would there be a way to somehow tag such libraries to have them included in scalaindex?

MasseGuillaume commented 7 years ago

I will need to tweak things a bit but it should be possible.

We search Bintray for artifact containing the scala binary version in it's path: for example _2.11. Some artifacts don't use this convention and we have this workaround: https://github.com/scalacenter/scaladex-contrib/blob/master/non-standard.json#L15 we can add for example: "com.typesafe config": "java"

From here we just make the ScalaTarget optional https://github.com/scalacenter/scaladex/blob/master/data/src/main/scala/ch.epfl.scala.index.data/project/ProjectConvert.scala#L31 https://github.com/scalacenter/scaladex/blob/master/model/src/main/scala/ch.epfl.scala.index.model/Release.scala#L226

In fact, there is not a lot of coupling with Scala in Scaladex. The same code could be used for a Java Index ;-).

ktoso commented 7 years ago

I'm not quite clear what are the next steps here? Are you saying this is simple and you'll implement it, or "this is how you would do it"?

MasseGuillaume commented 7 years ago

Hey @ktoso,

I currently don't have the time to implement this right now. As soon I have some hacking time on Scaladex, I can add this feature. It's about 1 day of implementation time.

Meanwhile, you can add the java projects you wish we index in non-standard.json

ktoso commented 7 years ago

With the "pom" option? I'm not sure what to put there, are those modes documented somewhere?

ktoso commented 7 years ago

I see, it is https://github.com/scalacenter/scaladex-contrib#index-artifacts-which-are-published-in-java-style

Thanks!

MasseGuillaume commented 7 years ago

@jypma can you make sure all ts-reaktive are listed here: https://github.com/scalacenter/scaladex-contrib/pull/18/files#diff-8895eca74dad77edf4c2ea0b82cd983aR17

MasseGuillaume commented 7 years ago

@ktoso now live: https://index.scala-lang.org/typesafehub/config

thanks a lot!

ktoso commented 7 years ago

Awesome, thanks :)

On Dec 29, 2016 14:55, "Guillaume Massé" notifications@github.com wrote:

@ktoso https://github.com/ktoso now live: https://index.scala-lang.org/ typesafehub/config

thanks a lot!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/scalacenter/scaladex/issues/302#issuecomment-269633201, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHYk9pkIPQhrqgYfhD7fSa_hmHD4wYmks5rM7vIgaJpZM4LEAcw .

MasseGuillaume commented 7 years ago

@jypma java projects are now listed https://index.scala-lang.org/tradeshift/ts-reaktive/ts-reaktive-actors

jypma commented 7 years ago

Thanks a lot!

ktoso commented 7 years ago

Awesome, thanks :)