Gradle Publi sh в Android Библиотечный проект - PullRequest
0 голосов
/ 27 мая 2020

В настоящее время я работаю над проектом библиотеки Android, который имеет как внешние зависимости, такие как jacksonxml, dagger2 и некоторые другие, так и зависимости локального модуля :featureOne, :featureTwo.

В моем файле Gradle я вручную добавляю зависимости в POM следующим образом:

            pom.withXml {
            // for dependencies and exclusions
            def dependenciesNode = asNode().appendNode('dependencies')
            configurations.implementation.allDependencies.withType(ModuleDependency) { ModuleDependency dp ->
                def dependencyNode = dependenciesNode.appendNode('dependency')
                dependencyNode.appendNode('groupId', dp.group)
                dependencyNode.appendNode('artifactId', dp.name)
                dependencyNode.appendNode('version', dp.version)

                // for exclusions
                if (dp.excludeRules.size() > 0) {
                    def exclusions = dependencyNode.appendNode('exclusions')
                    dp.excludeRules.each { ExcludeRule ex ->
                        def exclusion = exclusions.appendNode('exclusion')
                        exclusion.appendNode('groupId', ex.group)
                        exclusion.appendNode('artifactId', ex.module)
                    }
                }
            }
        }

После публикации в моем частном репозитории maven и добавления библиотеки в качестве зависимости от проекта приложения, Я получаю следующую ошибку сборки:

ERROR: Failed to resolve: library:featureOne:unspecified

И если я смотрю на POM, я вижу, что зависимости моих функций добавляются следующим образом:

 <dependency>
  <groupId>library</groupId>
  <artifactId>featureOne</artifactId>
  <version>unspecified</version>
</dependency>
<dependency>
  <groupId>library</groupId>
  <artifactId>featureTwo</artifactId>
  <version>unspecified</version>
</dependency>

У меня также есть настройки публикации для каждого из файлов Gradle функции. Я не уверен, что еще нужно сделать, чтобы они правильно были включены в опубликованный артефакт.

Все работает хорошо, пока не притащу опубликованный артефакт. Любая помощь будет принята с благодарностью. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...