it-swarm.dev

Declarar tarefa 'limpa' personalizada ao usar os plug-ins de ciclo de vida padrão do Gradle não é permitido

Eu estou adicionando uma biblioteca ao jCenter, para fazer isso eu precisava adicionar alguns plugins para o arquivo build.gradle do meu projeto. No entanto, estou recebendo o erro

Declarar tarefa 'limpa' personalizada ao usar os plug-ins de ciclo de vida padrão do Gradle não é permitido.

Eu posso ver o bloco task clean e quando eu apago o erro desaparece. Presumo que seja tudo o que preciso fazer, mas foi algo importante antes? Se eu remover os plugins em algum momento e esquecer de adicionar o bloco clean de volta, quais conseqüências terríveis estão por vir?

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.3.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

plugins {
    id "com.jfrog.bintray" version "1.7.3"
    id "com.github.dcendents.Android-maven" version "1.5"
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Isso e isso isso não satisfatoriamente responder a pergunta.

30
Suragch

Você não deve tentar substituir a tarefa clean padrão, mas sim configurá-la para excluir itens adicionais como

clean {
    delete rootProject.buildDir
}

Mas verifique primeiro se esse não é o comportamento padrão da tarefa limpa.

Alternativamente, se você quiser fazer uma ação de limpeza específica individualmente, você também pode definir uma tarefa separada e adicionar uma dependência como

task customClean(type: Delete) {
    delete rootProject.buildDir
}
clean.dependsOn customClean
30
Vampire

Remova essas linhas do seu código.

task clean(type: Delete) {
    delete rootProject.buildDir
}
6
Chaudhary Nouman

No código fornecido:

allprojects {
repositories {
    google()
    jcenter()
    mavenCentral()
}

tasks.withType(JavaCompile) {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}


task clean(type: Delete) {
    delete rootProject.buildDir
}
}

substitua o task clean por task delete e ele funcionará:

allprojects {
repositories {
    google()
    jcenter()
    mavenCentral()
}

tasks.withType(JavaCompile) {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}


task delete(type: Delete) {
    delete rootProject.buildDir`
}
}
3
Laksh

tools> kotlin> configure no projeto você tem que selecionar Android Gradle não gradle

It worked for me

3
Bharat Kumar Emani

Eu tive esse mesmo problema, infelizmente, para mim eu coloquei o task clean no lugar errado. Eu tive isso:

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }

    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }


    task clean(type: Delete) {
        delete rootProject.buildDir
    }
}

O que precisava ser isso: 

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }

    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
2
BlackHatSamurai

Depois de tantas pesquisas descobri que temos que apenas comentar a linha de tarefa limpa em bulid.gradle (Project) como abaixo:

//    task clean(type: Delete) {
//        delete rootProject.buildDir
//    }][1][enter image description here][1]

Veja a imagem de dica

0
Sahil Choudhary
enter code hereallprojects {
repositories {
    google()
    jcenter()
    maven {
        url 'https://maven.google.com'
    }
}

}

task clean(type: Delete) {
    delete rootProject.buildDir
}

se você adicionou maven no seu "build.gradle", então faça o checkout de todos os parênteses. O código deve ser como acima. Deve resolver o problema. É possível que os suportes sejam colocados em lugares diferentes. 

0
dilip sarkar