У меня есть библиотека утилиты, которая используется в «обычных» Java-проектах и в проектах Android.Maven строит и развертывает для разных целей платформы (например, Android и Java SE)
Существует тонкое различие между этими платформами:
- Java SE нуждается
org.json:json:20080701
как зависимость - Android уже обеспечивает компиляцию-совместимой библиотеку для JSON в основных платформах
Что бы я хотел иметь
Лучшим случаем было бы иметь одиночный p om.xml, который создает и развертывает 2 артефакта, например.
- MyLib-андроида-1.2.0.jar
- MyLib-1.2.0.jar
Я нашел что-то вроде "классификатор", который может быть использован для этой цели, но Я видел это только в контексте зависимостей, а не для определения артефактов сборки.
Может ли кто-нибудь указать мне пример (возможно, известный проект с открытым исходным кодом), как это сделать?
Примечание: Я пытался определить org.json: json: 20080701 с <scope>provided</scope>
, но Android Gradle build жалуется на потенциальные несовместимости, и это заставит пользователей Java SE добавлять эту зависимость. Не желаемое решение.
В случае, если вы хотите увидеть pom.xml, вот оно: https://github.com/hgoebl/DavidWebb/blob/v1.1.0/pom.xml
И это выход Gradle при использовании библиотеки, как это в настоящее время:
ПРЕДУПРЕЖДЕНИЕ: Зависимость от орг. json: json: 20080701 игнорируется для releaseUnitTest, поскольку это может противоречить внутренней версии, предоставляемой Android. В случае возникновения проблем, пожалуйста, упакуйте с jarjar изменить пакеты класса