Для автоматизации сборки мы используем нестандартное расположение репозитория Maven, которое определяется в файле настроек следующим образом:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/some/place/repository</localRepository>
... other stuff
</settings>
Maven вызывается как mvn --settings settings.xml
.
Теперь у нас есть один дополнительный проект, который использует gradle. Как мне лучше убедить gradle использовать одно и то же нестандартное хранилище для проверки пакетов, от которых он зависит, и публикации своих артефактов, от которых могут зависеть другие (maven) проекты?
Файл build.gradle
в настоящее время выглядит следующим образом:
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: 'maven-publish'
group = 'com.example'
version = '1.3.4'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
....
}
task uberJar(type: Jar) {
description = 'Make JAR with all the dependencies included'
classifier = 'uber'
dependsOn configurations.runtime
from sourceSets.main.output
from { configurations.runtime.collect { it.directory ? it : zipTree(it) } }
}
task sourceJar(type: Jar) {
description = 'Make JAR of all the source files'
classifier = 'sources'
from sourceSets.main.allSource
}
publishing {
publications {
maven(MavenPublication) {
from components.java
artifact sourceJar
artifact jar
}
}
}
Я попытался добавить это в описание в https://docs.gradle.org/current/userguide/publishing_maven.html
publishing {
repositories {
maven {
url "/some/place/repository"
}
}
}
но gradle все еще помещает вещи в ~/.m2/repository
. Как мне сделать эту работу?