Переписать код gradle для совместимости с 5.1 - PullRequest
0 голосов
/ 11 января 2019

Я застрял при попытке переработать какой-то код для совместимости с Gradle 5.1. Я в настоящее время использую 4.10. Следующий блок кода предназначен для спящего режима, который я скопировал (по большей части), поэтому, честно говоря, я не на 100% уверен в том, что все это делает, все еще довольно плохо знаком с Gradle. Вот следующий код

    doLast{
        ant.taskdef( resource:"org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", classpath: configurations.ajc.asPath)
        ant.iajc(
            source: sourceCompatibility,
            target: targetCompatibility,
            Xlint: "ignore",
            destDir: sourceSets.main.output.classesDir.absolutePath, 
            maxmem: "1024m",
            fork: "true",
            aspectPath: configurations.aspects.asPath,
            sourceRootCopyFilter: "**/.svn/*,**/*.java",
            classpath: configurations.compile.asPath
        ){
            sourceroots{
                sourceSets.main.java.srcDirs.each{
                    pathelement(location:it.absolutePath)
                }
            }
        }
    }

Данный код представляет собой следующую строку

destDir: sourceSets.main.output.classesDir.absolutePath,

как выдает следующую ошибку

Не удалось получить неизвестное свойство 'classesDir' для основных классов типа org.gradle.api.internal.tasks.DefaultSourceSetOutput.

Изменение кода на

destDir: sourceSets.main.output.classesDirs.absolutePath,

вызывает следующую ошибку

Нет такого свойства: absolutePath для класса: org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection

Итак, я ищу альтернативы (или обновления синтаксиса)

1 Ответ

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

Похоже, я исправил это, изменив следующее

destDir: "build/classes",

Кажется, все работает как положено

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