Круговая зависимость при обновлении до Gradle 5 - PullRequest
0 голосов
/ 17 января 2019

Наш проект работал, пока я не попытался перейти на Gradle 5. Первое, на что он пожаловался, это то, что / не подходит для мульти-проектов, например. bla/blub недопустимо, поэтому мы изменили это значение на bla:blub (даже несмотря на то, что сообщение об ошибке "1004 * также недействительно). Но теперь у нас, очевидно, есть круговая зависимость, которой раньше не было с Gradle 4:

Circular dependency between the following tasks:
:lap:server:classes
\--- :lap:server:compileJava
     +--- :lap:server:compileKotlin
     |    \--- :lap:server:jar
     |         +--- :lap:server:classes (*)
     |         +--- :lap:server:compileKotlin (*)
     |         \--- :lap:server:inspectClassesForKotlinIC
     |              \--- :lap:server:classes (*)
     \--- :lap:server:jar (*)

Почему это может быть?

1 Ответ

0 голосов
/ 17 января 2019

Проблема действительно была с обозначением : в нашем settings.gradle. Теперь, когда я изменил все вложенные проекты на -, проблема решена.

Конкретнее, прежде чем у нас было что-то вроде:

include 'common/server',
    'someproject/server',
    'someproject/common',
    'someproject/search',
    ...

, который работал с Gradle 4.

Затем в Gradle 5 я изменил его на

include 'common:server',
    'someproject:server',
    'someproject:common',
    'someproject:search',
    ...

, который вызвал проблему, предположительно потому, что someproject:common зависел от common:server или чего-то подобного.

Теперь, когда я изменил его на

include 'common-server'
project(':common-server').projectDir = file('common/server')

include 'someproject-server'
project(':someproject-server').projectDir = file('someproject/server')

include 'someproject-common'
project(':someproject-common').projectDir = file('someproject/common')

все работает как шарм. Кстати, ошибка с циклической зависимостью также воспроизводима в Gradle 4, просто у нас все еще была запись /.

...