Closed jasenmoloy closed 6 years ago
+1 following this thread
+1 here! If it may help, the problem is definitely on JFrog. Calling:
curl -I 'https://repo.jfrog.org/artifactory/libs-release-bintray/frankiesardo/icepick-processor/3.2.0/icepick-processor-3.2.0.jar?referrer'
the request randomly fails with:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=ISO-8859-1
Date: Fri, 11 May 2018 11:35:20 GMT
Server: nginx
X-Artifactory-Id: repo.jfrog.org
X-Artifactory-Node-Id: artrjo-m
X-Node: nginx-dedicated2e.prod-use1
Connection: keep-alive
We noticed that, when it fails, X-Artifactory-Node-Id: artrjo-m
, while when it succeeds it's X-Artifactory-Node-Id: artrjo-s1
.
@frankiesardo Can you please report this malfunction to JFrog? I tried already but they ignored me, since I'm not hosting anything on their repo.jfrog.org.
As a current workaround, I downloaded the JARs and have Gradle point to a local folder. The links for each JAR and the problematic dependencies are as follows:
Icepick-3.2.0.jar - http://clojars.org/repo/frankiesardo/icepick/3.2.0/icepick-3.2.0.jar Icepick-processor-3.2.0.jar - http://clojars.org/repo/frankiesardo/icepick-processor/3.2.0/icepick-processor-3.2.0.jar quoin-0.1.2.jar - http://clojars.org/repo/quoin/quoin/0.1.2/quoin-0.1.2.jar scout-0.1.0.jar - http://clojars.org/repo/scout/scout/0.1.0/scout-0.1.0.jar slingshot-0.10.3.jar - http://clojars.org/repo/slingshot/slingshot/0.10.3/slingshot-0.10.3.jar
Note: Other sub-dependencies such as clojure
and auto-service
need to be fetched explicitly since Gradle is not aware of a JAR's dependencies. See the code sample below.
This is the Gradle dependencies you need to add if you want to point to local JARs
annotationProcessor 'org.clojure:clojure:1.7.0'
annotationProcessor 'com.google.auto.service:auto-service:1.0-rc2'
annotationProcessor fileTree(dir: 'libs/icepick-processor', include: ['*.jar'])
implementation fileTree(dir: 'libs/icepick', include: ['icepick-3.2.0.jar'])
same issue here!
@jasenmoloy I'd like to refer that downloading the JARs locally causes a runtime exception "java.lang.IllegalStateException: Derived class did not call super.onRestoreInstanceState()" I'm not sure but this may reproduce the crash: 1) Enable do not keep activities from settings/Developer options. 2) Go from an activity using icepick to any other activity (so the current activity is destroyed). 3) Press back button (to have the activity recreated).
@IslamSalah That exception should not be related to having a local vs external JAR file. That exception message seems explicit that your Activity didn't call super.onRestoreInstanceState()
in its overwritten method.
We use Icepick throughout our app and haven't seen the crashes you're describing. This is following your steps.
I'm now seeing the POM and JAR files in jcenter via https://jcenter.bintray.com/frankiesardo/icepick-processor/3.2.0/ and confirmed it the JAR is downloaded to my local Gradle cache.
Closing.
I've recently started getting dependency issues attempting to fetch Icepick and its dependencies. I've confirmed this issue appears on my machine as well as my build server. This is the error log:
Was icepick recently removed or modified in https://jcenter.bintray.com?
I'm on a very recent version of Gradle (4.5) and Android plugin (3.2.0-alpha07). For some reason Gradle isn't falling back to other repos (such as https://clojars.org/repo/) so it seems like it's getting some type of response from JFrog.