Package Search on the Web

Posted on by Jakub Chrzanowski

After half a year of fruitful work since the first Package Search announcement, we are pleased to share another dose of information about this project. The current release introduces various plugin updates, a brand new website search application, and backend enhancements. Let’s begin with the most visible part – the website itself.

Find Java & Kotlin Packages with the Package Search website

Together with the Marketplace team, we have built a rich web frontend on top of the Package Search API. The website lets you quickly search for Java or Kotlin libraries.

Thanks to the clear and consistent interface, you will get relevant information that helps you decide which package suits you best!

Search results present essential information for each package that was matched by your search query. This includes version information (including version history), authors, applicable license, supported platforms (for Kotlin multi-platform packages), and more!

For packages on GitHub, the README file will be displayed. Many packages use the README to provide additional information, often on how to get started with that package. 

Copy/Paste Configurations? Nah!

While we also render a code snippet that makes it easy to add the package into your project using Gradle (both Groovy and Kotlin are shown), or Maven, why copy/paste snippets at all? 

On the Package Search website, we bring you the Add to project button. If you have the Package Search plugin already installed, and a Gradle- or  Maven-based project(s) open, the Add to project button will set everything up for installing the package you’re looking at in the browser, in your IDE.

Speaking of the plugin, the latest version of the plugin introduces many user interface improvements and brings compatibility with IntelliJ 2020.1 and future Android Studio versions. There are also many new functionalities, which we’ll introduce in a bit.

If you don’t have the Package Search Plugin installed yet, you can find it on the Plugin Marketplace. If you’re using IntelliJ IDEA 2020.1 and later, you’ll also find the Install to IDE button on the Package Search website, which lets you instantly install it in your IDE.

Search for Stable or Multi-Platform Dependencies

Multi-platform libraries provide you with the ability to create a package with code that can be shared between different platforms, like Android, iOS, or Web. Kotlin Multi-platform support is something that we’re still working on. Nonetheless, you can search for such packages with one click!

Quick-Fix to Add Missing Dependencies in the Editor

If you have accidentally forgotten to add the proper dependency to your project, you can try and search for the unresolved class. While we don’t index package contents yet, the search may provide a list of candidate libraries that may fit your needs.

Navigate to the Dependency Definition in pom.xml/build.gradle

Small, but ergonomic! From the Package Search tool window, you can now navigate to a project dependency right from the installed packages listing. No more searching around for where that dependency is defined — we’ll help you out!

Future Plans

We’re constantly working on improving Package Search. For the short and medium-term, we’re aiming amongst other things at improving search results ranking and breadth, enhancing our Gradle support to deal with more complicated build scripts, as well as bringing support for dependencies that aren’t available on Maven Central.

In the meantime, please do check it out and let us know if you have any feedback or feature requests.

Comments below can no longer be edited.

11 Responses to Package Search on the Web

  1. Mark Kennedy says:

    April 6, 2020

    Scala?

    • vaskir says:

      April 6, 2020

      Yes, *please*!

  2. Paweł Knuth says:

    April 6, 2020

    Nice article, greetings from MeeLabs 🙂

  3. Wojciech Gabryś says:

    April 6, 2020

    (Impersonating the boss from IT Crowd)
    Excellent job Jakub & the TEAM!

    Congrats on shipping so useful feature and turning searching for new packages into such pleasant and frictionless experience – kudos to you guys, you’re the best! <3

  4. Ahmed Khalaf says:

    April 7, 2020

    Very nice article!! keep it up

  5. Volodymyr says:

    April 7, 2020

    It would be awesome if it supported variables in dependencies in Gradle. Like this ` implementation “org.typelevel:cats-effect_$scalaBase:2.1.0″`

    • Sebastiano Poggi says:

      April 9, 2020

      It’s not a trivial task to get done _right_, and while we don’t have a date for it yet, we do have it in our roadmap. Be patient, sooner or later we’ll have it!

  6. Michał Fudała says:

    April 7, 2020

    Nice ! Support for Gradle Kotlin DSL (build.gradle.kts) would be awesome 🙂

  7. Nicola says:

    April 7, 2020

    Thanks an awesome addition, thanks for doing it.

    Can you please provide more insights on where does Packages Search fetch package information from? Is it Maven Central?

    I searched for one of my library that is on Maven Central and apparently you’re suggesting a an older version of it.

  8. Ash says:

    May 12, 2020

    Better support for Gradle’s java-platform plugin and version constraints would be great.


    plugins {
    id 'java-platform'
    }
    dependencies {
    constraints {
    api group: 'commons-io', name: 'commons-io', version: '2.6'
    }
    }

Subscribe

Subscribe for updates