Once getting inside the open source concept, the idea and desire to publish a library is inevitable. What you need is an idea, or perhaps make a better version of an existing library, or just you need to use some module inside your company for several projects.
With the JitPack, you won't be suffering at all. So how do you do it? For the sake of this tutorial, I'm just gonna make a logging library.
Note: This article assumes you already know how to use git.
Once you have your IDE opened, create a new project. Since I am using Android Studio, I'm gonna choose an Android app but you can do the same (I guess, never done it) with on Java/Kotlin projects and IntelliJ. Nothing new here. So let's jump further. Once the project is created, create a new module:
After that, you can choose whatever you need, but for this article I'm gonna stick to Android library.
Give it a name, and the library is ready to be coded. If you notice, in your project, the module will be added:
Now, let's code. I'm going to create an awesome method that logs something in the console, wow. Since I'm using Kotlin, I won't be needing a new class, but if you use Java, create a new class.
For local usage, you don't need to publish to JitPack, but I am skipping this part here.
First of all, create a new repository. Don't forget to add an open source license.
Time to publish:
Once your project is super ready for production, go to releases (normally you would have 0 for the moment):
Well, give the release a name, a version and some description.
If you have reached something like the below photo, your library is ready for JitPack:
Once a version is found by JitPack, it will generate the code to be imported from you or other people who will use this library:
That's it. If you follow those steps, you are ready to use the library. And indeed you are:
Choosing an Android library for cases like this, might be redundant. That's because doing so, the IDE will also create Android Packages along with Java or Kotlin packages. Instead you should stick to Java/Kotlin libraries.