2013-11-22 4 views
1

Я успешно развернул артефакт AAR для mavenCentral, используя OSS Nexus от Sonatype, но когда я ссылаюсь на него на другом графе проекта, загружает только pom и соответствующий ASC-файл в ~/.gradle/cache ,Gradle загружает только pom от mavenCentral - Android

Это мой build.gradle http://pastie.org/private/zaxa13hsd52e4elfpnne4w Это build.gradle для библиотеки https://github.com/Machinarius/PreferenceFragment-Compat/blob/master/build.gradle

Может кто-нибудь мне точку в правильном направлении?

+0

Можете ли вы показать (или ссылку на) опубликованный POM и блок 'dependencies' другого проекта? –

+0

Ссылка на опубликованный артефакт: http://search.maven.org/#artifactdetails|com.github.machinarius|preferencefragment|0.1|aar.asc – Machinarius

ответ

4

aar.asc упаковка приходит из этого раздела в вашем Gradle конфигурации:

configurations { 
    archives { 
    extendsFrom configurations.default 
    } 
} 

Удалить эти строки из файла build.gradle и развернуть еще раз. Теперь вы должны увидеть упаковку aar.

+0

Я сделал что-то вроде этого, чтобы избежать «@ aar» обходного пути – Machinarius

+0

У меня есть [очень похожая проблема] (http://stackoverflow.com/questions/21942727/gradle-only-downloads-aar-asc-from- maven-central) - можете ли вы рассказать, как я могу проверить это локально? – JJD

+0

Это отлично работает в моем случае. Спасибо огромное! –

1

Значение для элемента POM packaging (aar.asc) выглядит неправильно. Тем не менее вы должны получить артефакт с чем-то вроде dependencies { compile 'com.github.machinarius:preferencefragment:[email protected]' }. С этой нотой «только артефакт» вы не получите транзитивных зависимостей, но вы всегда можете объявить их сами.

+0

Похоже, что шаг подписания изменил упаковку, я буду исследовать это. – Machinarius