{"action":"created","issue":{"url":"https://api.github.com/repos/clojure-android/lein-droid/issues/133","labels_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/133/labels{/name}","comments_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/133/comments","events_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/133/events","html_url":"https://github.com/clojure-android/lein-droid/issues/133","id":103080973,"number":133,"title":"multidex library missing if :sdk-path is a relative path","user":{"login":"nablaa","id":196884,"avatar_url":"https://avatars.githubusercontent.com/u/196884?v=3","gravatar_id":"","url":"https://api.github.com/users/nablaa","html_url":"https://github.com/nablaa","followers_url":"https://api.github.com/users/nablaa/followers","following_url":"https://api.github.com/users/nablaa/following{/other_user}","gists_url":"https://api.github.com/users/nablaa/gists{/gist_id}","starred_url":"https://api.github.com/users/nablaa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nablaa/subscriptions","organizations_url":"https://api.github.com/users/nablaa/orgs","repos_url":"https://api.github.com/users/nablaa/repos","events_url":"https://api.github.com/users/nablaa/events{/privacy}","received_events_url":"https://api.github.com/users/nablaa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-25T17:51:01Z","updated_at":"2015-08-25T17:53:04Z","closed_at":null,"body":"If you set :sdk-path in the project project.clj to be a relative path (e.g. `:sdk-path \"../mysdk\"`), lein droid fails to find multidex library when executing 'lein droid doall`:\r\n\r\n\tCould not find artifact com.android.support:multidex:aar:1.0.0 in central (https://repo1.maven.org/maven2/)\r\n\tCould not find artifact com.android.support:multidex:aar:1.0.0 in clojars (https://clojars.org/repo/)\r\n\tCould not find artifact com.android.support:multidex:aar:1.0.0 in android-support (file://../mysdk/extras/android/m2repository)\r\n\tCould not find artifact com.android.support:multidex:aar:1.0.0 in android-play-services (file://../mysdk/extras/google/m2repository)\r\n\tCould not find artifact com.android.support:multidex:aar:1.0.0 in maven-snapshots (https://oss.sonatype.org/content/repositories/snapshots)\r\n\tThis could be due to a typo in :dependencies or network issues.\r\n\tIf you are behind a proxy, try setting the 'http_proxy' environment variable.\r\n\r\nOn the other hand, if the :sdk-path is set to an absolute path to the same directory (e.g. `:sdk-path \"/home/user/mysdk\"`), the project will build successfully. Curiously enough, it seems that lein droid finds the SDK even in the relative path case, but it doesn't find all the multidex library. Because if you set the `:sdk-path` to an invalid value, you will get a different error:\r\n\r\n\tBuild tools not found. Download them using the Android SDK Manager.\r\n\r\nTherefore it looks like there is something wrong in the path parsing when it comes to relative `:sdk-path` paths.\r\n\r\n*Note:* in order to reproduce this problem, you need to remove the m2 cache directory (`rm -rf ~/.m2`) before executing lein droid commands. Otherwise the problem may not appear as there might be cached multidex libraries in `~/.m2/repository/com/android/support/multidex`.\r\n"},"comment":{"url":"https://api.github.com/repos/clojure-android/lein-droid/issues/comments/134684818","html_url":"https://github.com/clojure-android/lein-droid/issues/133#issuecomment-134684818","issue_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/133","id":134684818,"user":{"login":"alexander-yakushev","id":468477,"avatar_url":"https://avatars.githubusercontent.com/u/468477?v=3","gravatar_id":"","url":"https://api.github.com/users/alexander-yakushev","html_url":"https://github.com/alexander-yakushev","followers_url":"https://api.github.com/users/alexander-yakushev/followers","following_url":"https://api.github.com/users/alexander-yakushev/following{/other_user}","gists_url":"https://api.github.com/users/alexander-yakushev/gists{/gist_id}","starred_url":"https://api.github.com/users/alexander-yakushev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexander-yakushev/subscriptions","organizations_url":"https://api.github.com/users/alexander-yakushev/orgs","repos_url":"https://api.github.com/users/alexander-yakushev/repos","events_url":"https://api.github.com/users/alexander-yakushev/events{/privacy}","received_events_url":"https://api.github.com/users/alexander-yakushev/received_events","type":"User","site_admin":false},"created_at":"2015-08-25T17:53:04Z","updated_at":"2015-08-25T17:53:04Z","body":"Good catch! I know what's going on, the local repository resolution now happens in the middleware, before plugin kicks in, and I forgot to absolutize the sdk-path there. I will fix this very soon, thanks for reporting!"}}