The jitpack repository does not provide a maven-metadata.xml. This metadata is used to determine by build tools to discover the latest version, such as for for dependency updates. This was requested for the gradle plugin, and I verified that maven's versions:display-dependency-updates has similar behavior.
Hi Ben
There's probably an issue somewhere but in general JitPack should provide maven-metadata. For example https://jitpack.io/com/github/jitpack/gradle-simple/maven-metadata.xml. Metadata lists all the existing builds and JitPack checks new GitHub releases in the background.
Tried it with this dependency: compile 'com.github.jitpack:gradle-simple:1.0.4'
The output:
The following dependencies have later milestone versions:
- com.github.jitpack:gradle-simple [1.0.4 -> 1.0.5]
Would be great if @tasomaniac posted more details on what dependency he's using so that we can debug. I'm sure it's not an issue with the versions plugin so don't mind moving the discussion here.
I am using using the following library. It looks like jitpack has the versions in the xml. But plugin is not picking it.
https://jitpack.io/com/github/orhanobut/wasp/maven-metadata.xml
I am using this as the dependency and the library cannot detect it.
compile 'com.github.orhanobut:wasp:1.14'
What does your dependency look like in Gradle? I tried compile 'com.github.orhanobut:wasp:1.14' and got the update message when running gradle dependencyUpdates.
Interesting. I have the above just like yours. I copied and pasted it into my above comment.
@ben-manes what do you think? Actually the plugin sometimes cannot detect support library and play services library dependencies too.

Ok, found something interesting. In Android Studio I get the same error as @tasomaniac when running dependencyUpdates from the Gradle tool window. But... _it works form command line_.
Running the task with --info shows that it doesn't look in jitpack.io for metadata, not sure why.
Another workaround I found is to add jitpack to the root build.gradle:
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
Then it works from command line, the tool window and launch configuration.
I already have it just like you in my root build.gradle file.
allprojects {
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven { url "https://jitpack.io" }
flatDir {
dirs 'libs'
}
}
}
Ah... right, I also had jitpack in the app's build.gradle:
repositories {
maven { url "https://jitpack.io" }
}
Yes! It did the trick. And I am now getting the update output when I run it in Android Studio as well.
But I having it in 2 places does not make sense. Do you have any comment @ben-manes ?
I'm sorry that I jumped to conclusions. When I had experimented with Maven it fails, but this must be due to a different issue with jitpack, and I assumed it was the common problem of missing metadata. From your investigation I was able to narrow down what is happening from the Gradle side, which is a bug we've hit before in Gradle's RepositoryHandler.
First in Maven for @jitpack-io to look into, I tried the following as my example. I used a dependency only available on jitpack, com.github.brianfrankcooper.ycsb:core:0.3.1. I added it with the repository to jitpack/maven-simple. When running mvn versions:display-dependency-updates a corruption message on the metadata xml is printed out and only the junit dependency is version information is shown.
In Gradle the issue is that RepositoryHandler is buggy when trying to add repositories using its API. In the past we've seen it incorrectly create duplicates, which may cause performance issues by checking the same repository multiple times. In this case Gradle is incorrectly de-duplicating by seeing different maven { url ... } blocks as the same repository definition. In my example case, its conflicting with maven { url 'https://plugins.gradle.org/m2' } defined in the buildscript repository block. If I add jitpack to its block then Gradle no longer sees a conflict, jitpack is used as a repository, and the version update information is displayed.
The bugs with RepositoryHandler are visible due to the plugin trying to aggregate all repositories prior to searching for updates. This generally works fine, but since the API is broken we're going to drop that and not touch configuration's repositories going forward.
There was indeed a problem when running mvn versions:display-dependency-updates. It is fixed now so many thanks for that!
Based on Ben's Gradle ticket looks like we have another workaround - add a name to the repository:
maven {
name "jitpack"
url "https://jitpack.io"
}
Still seeing this as an issue for multi-module projects, such as https://github.com/Commit451/Addendum
Resource missing. [HTTP GET: https://jcenter.bintray.com/com/github/Commit451/Addendum/addendum-recyclerview/maven-metadata.xml]
Resource missing. [HTTP GET: https://jcenter.bintray.com/com/github/Commit451/Addendum/addendum-recyclerview/]
Resource missing. [HTTP GET: https://jitpack.io/com/github/Commit451/Addendum/addendum-recyclerview/maven-metadata.xml]
Resource missing. [HTTP GET: https://jitpack.io/com/github/Commit451/Addendum/addendum-recyclerview/]
Resource missing. [HTTP GET: https://dl.google.com/dl/android/maven2/com/github/Commit451/Addendum/addendum-recyclerview/maven-metadata.xml]
Resource missing. [HTTP GET: https://dl.google.com/dl/android/maven2/com/github/Commit451/Addendum/addendum-recyclerview/]
I am including them in the project dependency list like so:
ext {
addendumVersion = '1.2.1'
}
dependencies {
compile "com.github.Commit451.Addendum:addendum:$addendumVersion"
compile "com.github.Commit451.Addendum:addendum-recyclerview:$addendumVersion"
compile "com.github.Commit451.Addendum:addendum-parceler:$addendumVersion"
}
Listed workarounds do not resolve this.
@Jawnnypoo This should be fixed now
@jitpack-io Yep, this works great now. Thanks!
This does not work for me. No maven-metadata.xml is generated by jitpack. I followed the guide to the letter.
Also, doesn't work fo me. Gradle just skipping JitPack repo while trying to resolve deps.
This is 2018, and this issues seems still ocured, at least for me
The issue is still alive
Could you provide an example where it doesn't work for you?
Using @ice1000's project as an example, JitPack generates two maven-metadata.xml:
with maven I got an error:
Failure to find com.github.jetbrains:jetCheck:jar:Tag in https://jitpack.io
there is something I should do?
reopen issue
Hello I get this error when building for android with Expo:
[stderr] > Could not GET 'https://jitpack.io/com/google/android/gms/play-services-basement/maven-metadata.xml'. Received status code 403 from server: Forbidden
Issue still persists. Is there a work around?
I switched to using Maven Central. Once you get through the verification process using it has much less issues than JitPack.
Thanks @adam-arold I switched to jcenter, Just got an email from jitpack saying this issue isn't in their top priority now
Most helpful comment
This is 2018, and this issues seems still ocured, at least for me