java-youtube-downloader icon indicating copy to clipboard operation
java-youtube-downloader copied to clipboard

[Help Needed!] I am Porting this to Kotlin, Targeting MultiPlatform.

Open Shabinder opened this issue 3 years ago • 3 comments

Hey @sealedtx , I hope you are doing good.

I have been working on a hobby project SpotiFlyer and earlier it was only targeting android(jvm) so your library was fulfiling my all needs , but as soon as I shifted my focus to support multiplatform, java-youtube-downloader was not adequate for all my platforms like JS, JVM, IOS etc.

As a result I took up the challenge to migrate your lib to all kotlin and replace dependencies using kotlin-multiplatform libs, and I have almost done refactoring and reorganising almost all the code and functionality, it took a few days, but here I am.

So now the thing is, I don't know how your library works (I mean I know but not in-depth) so if you get some free time I would love contributions from your side!

Things Needed to be done:

  • Code Documentation(Some part is done by you, but the majority is undocumented).
  • Very Few Tests are Failing, Debug and fix them.
  • Improve JS Support(Almost Half of the test are failing on js).
  • Improving Kotlin-Java interop.
  • Adding Platform Specific Download Functions to allow Downloading(like File in JVM etc)[I am gonna focus on this, if you can help with debugging as you developed the lib in the first place it would be easy for you.]

Anyway, I am not trying to impose anything on you or trying to get you to work. This is just a simple and humble request that if you can, please consider contributing.

I would love to hear your thoughts on this, and here is the link to the lib: youtube-api-dl

Shabinder avatar Apr 15 '21 12:04 Shabinder

@Shabinder Hi, glad that my work bring inspiration to you. I have experience with Kotlin writing for JVM, but not familiar with Kotlin native and different platforms. Of course I may help you, but there is lack of free time now. You can make it easier:

  • Code Documentation: write classes which require documentation the most
  • Very Few Tests are Failing, Debug and fix them: list those tests?
  • Improve JS Support: create an issue at your repository, describe the problem and @ tag me there
  • Adding Platform Specific Download Functions: you may ask specific questions and will try to answer

sealedtx avatar Apr 15 '21 13:04 sealedtx

@sealedtx Thanks for showing interest and agreeing to help, I will make a detailed list of top priorities and things needed to be taken care of, I will get back to you in a day or two.

Shabinder avatar Apr 15 '21 13:04 Shabinder

@sealedtx JVM Tests Failing I guess the playlistExtractor test failure reason is linked as it cant extract all videos always leaves some out, like 99 out of 100, etc

JS also have same tests failing , JS is slow and hence exceeds its connection time limit. will focus on this after JVM Side is Up and running fully.

Shabinder avatar Apr 15 '21 17:04 Shabinder