Моя структура проекта Android (MyApp - это модуль проекта Android Studio):
MyApp
- external/
mylib.jar
- src/
- res/
...
build.gradle
Сначала у меня есть внешний jar, и я хочу загрузить его в свой локальный репозиторий maven, моя сборка gradle выглядит так:
configurations {
externalJar
}
artifacts {
externalJar file: file('external/mylib.jar')
artifact = 'exernalLib'
version = '1.1.0'
}
uploadExternalJar {
repositories {
mavenDeployer {
repository(url: "file://${System.properties['user.home']}/.m2/repository")
}
}
}
Оно работает!
Затем я также хотел бы загрузить свой артефакт jar проекта в локальный репозиторий maven. Я добавил следующий код:
group = 'com.my.app'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://${System.properties['user.home']}/.m2/repository")
pom.project {
version '1.2.1'
artifactId 'MyApp'
packaging 'jar'
}
}
}
}
когда я запускаю ./gradlew build , выполняются обе задачи, но когда я проверяю MyApp-1.2.1.jar в локальном maven, его содержимое переопределяется внешним lib jar.
Я не уверен, что я сделал неправильно. Но как я мог тогда загрузить как внешнюю банку, так и банку моего проекта в локальный maven?