Я не уверен, является ли следующий подход рекомендуемым, или я упустил возможные проблемы, но мои проекты компилируются и все тесты проходят.
В Gradle вы можете добавить зависимости для конкретных конфигураций проекта:
dependencies {
implementation project(path: ':some-library', configuration: 'configName')
}
Методом проб и ошибок я выяснил, что определение следующих конфигурационных зависимостей для каждого типа модуля платформы работает:
- общее:
configuration: 'archives'
. Без этого конфигурация Gradle не выполняется, так как зависимости кода не обнаружены.
Без следующего сборка не удалась:
- JVM:
configuration: 'jvmDefault'
- js:
configuration: 'jsDefault'
Например, для модуля JS, как указано в вопросе:
dependencies {
implementation project(path: ':some-library', configuration: 'jsDefault')
}