Я не могу заставить Gradle публиковать несколько артефактов в репозитории Maven. Он публикует некоторые, но не все, и я понятия не имею, почему. Целями являются отладка & версии релиза статических библиотек, созданных для OS X и Windows (всего 4 статических библиотеки). Библиотеки OS X хранятся, но Windows - нет. Если я модифицирую закрытие фильтра, так что библиотеки OS X отфильтровываются, ничего не сохраняется.Gradle не может опубликовать несколько местных артефактов maven
model {
buildTypes {
debug
release
}
platforms {
"osx-x86_64" {
operatingSystem "osx"
architecture "x86_64"
}
"windows-x86_64" {
operatingSystem "windows"
architecture "x86_64"
}
}
toolChains {
// OS X and Windows toolchains (Clang and Mingw) described here
// - they build the artifacts I wish to store ok
// just removed for clarity
}
} // end of model
libraries {
saveMe {}
}
nativeArtifacts {
libSaveMe {
from (libraries.saveMe) { it instanceof StaticLibraryBinary &&
(it.targetPlatform.name == "osx-x86_64" ||
it.targetPlatform.name == "windows-x86_64")
// if I make this closure on the line above something like:
// it instanceof StaticLibraryBinary && it.targetPlatform.name == "windows-x86_64"
// then nothing is saved in the Maven repo
}
}
}
publishing {
repositories {
maven {
credentials {
username = 'user'
password = 'password'
}
url "http://hostname.com/path/to/repo"
}
}
publications {
mavPub(MavenPublication) {
from nativeArtifacts.libSaveMe
}
}
}
Я использую очень хороший внешний модуль (Gradle Native Artifacts Plugin, написанный Serge Гербхарда @sgeb (?)), Но прежде, чем я пытаюсь разобраться в его коде (я новичок в Gradle), я подумал, что я спрошу и посмотрю, есть ли что-то очевидное, что я делаю неправильно.
Я попытался поставить логические заявления в закрытие фильтра, и я вижу, что все возможные комбинации статических/разделяемых библиотек отладки/выпускаются, и фильтр правильно идентифицирует true/false, следует ли сохранять библиотеки , но это не доходит до Maven.
Есть ли строка отладки, которую я мог бы опубликовать {} (или задачу), чтобы узнать, что представляет собой фактическое содержимое коллекции nativeArtifacts.libSaveMe?