I am adding a library to jCenter so to do that I needed to add some plugins to my project's build.gradle file. However, I am getting the error
Declaring custom 'clean' task when using the standard Gradle lifecycle plugins is not allowed.
I can see the task clean
block and when I delete it the error goes away. I assume that is all I need to do, but was it doing something important before? If I remove the plugins sometime and forget to add the clean
block back in, what dire consequences are in store?
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 }
This and this this did not satisfactorily answer the question.
If you wish to clean (empty) the build directory and do a clean build again, you can invoke a gradle clean command first and then a gradle assemble command. Now, fire the gradle assemble command and you should have a JAR file that is named as <name>-<version>.
Gradle adds the task rule clean<Taskname> to our projects when we apply the base plugin. This task is able to remove any output files or directories we have defined for our task. For example we can assign an output file or directory to our task with the outputs property.
In the Gradle tool window, right-click a Gradle project. From the context menu, select Tasks Activation.
You should not try to override the default clean
task, but instead configure it to delete additional stuff like
clean { delete rootProject.buildDir }
But check first whether this is not the default behavior of the clean task anyway.
Alternatively if you want to be able to do a specific clean action individually, you can also define a separate task and add a dependency like
task customClean(type: Delete) { delete rootProject.buildDir } clean.dependsOn customClean
Remove these lines from your code.
task clean(type: Delete) { delete rootProject.buildDir }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With