mulesoft-labs / mule-gradle-plugin

Plugin for building mule apps with the gradle build system.
Apache License 2.0
24 stars 14 forks source link

Could not find Clover ETL engine, required to run the tests #48

Closed jasonchw closed 9 years ago

jasonchw commented 9 years ago

Hi there,

I am using,

when I try to run the gradle build, I got,

:unpackClover
Could not find Clover ETL engine, required to run the tests...
:unpackClover FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':unpackClover'.
> Could not find Clover ETL engine, required to run the tests...

Do you have any clue how to fix it?

Thanks, Jason

juancavallotti commented 9 years ago

@jasonchw This normally means that you're not being able to download the clover-plugins or mule-clover-plugins zip files, this could be because you have not configured properly the mule EE credentials or the zip files in your cache can be corrupted.

If you run the build with the --stacktrace option (as well with --info), it should give you more information on the cause.

jasonchw commented 9 years ago

I verified the mule ee credentials, it is correct. In addition, I removed the gradle cache folder and ran "gradlew --stacktrace --info clean build", it's still failing with same error. I also checked that the 3.5.2 mule-colver-plguins is there (9ee94cca64c6d4fbcc187aaac16b5f1131c150fd/mule-clover-plugins-3.5.2.zip).

The following is the stacktrace info,

:unpackClover (Thread[main,5,main]) started.
:unpackClover
Executing task ':unpackClover' (up-to-date check took 0.0 secs) due to:
  Task has not declared any outputs.
Could not find Clover ETL engine, required to run the tests...
:unpackClover FAILED
:unpackClover (Thread[main,5,main]) completed. Took 0.119 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':unpackClover'.
> Could not find Clover ETL engine, required to run the tests...

* Try:
Run with --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':unpackClover'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:296)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:148)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:105)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:85)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:81)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:39)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:55)
Caused by: java.lang.IllegalStateException: Could not find Clover ETL engine, required to run the tests...
        at com.mulesoft.build.dependency.UnpackCloverTask.doUnpackClover(UnpackCloverTask.groovy:68)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:218)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:570)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:553)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 47 more
juancavallotti commented 9 years ago

@jasonchw Can you please share your build script so I can review? Please make sure to strip all credentials from it.

jasonchw commented 9 years ago

@juancavallotti ,

I found that I am able to run the build in Windows but in Linux, I got error "Could not find Clover ETL engine, required to run the tests...".

The following is the build.gradle I am using,

repositories {
    mavenCentral()
    maven { url "http://repository.mulesoft.org/releases" }
    maven { url "http://repository.mulesoft.org/snapshots" }
}

buildscript {
    dependencies {
        classpath 'org.mulesoft.build:mule-gradle-plugin:1.1.1'
        classpath 'org.jacoco:org.jacoco.agent:0.7.2.201409121644'
    }

    repositories {
        mavenLocal()
        maven { url "http://repository.mulesoft.org/releases" }
        mavenCentral()
    }
}

apply plugin: 'jacoco'
apply plugin: 'mulestudio'
apply plugin: "project-report"
apply plugin: 'eclipse'
apply plugin: 'mmc'

version = '1.0.0'

mule.version = '3.5.2'

mule.muleEnterprise = true

mule.enterpriseRepoUsername = 'USERNAME'
mule.enterpriseRepoPassword = 'PASSWORD'

mule.components {
    eeTransports += 'jdbc-ee'
}

test {
    jacoco {
        excludes = [ 'org.junit.*', 'org.springframework.*' ]
    }

    // restassured needs more permgen space.
    jvmArgs "-XX:MaxPermSize=512m", "-Dmule.verbose.exceptions=true"

    // start new "forked" test process for every # of test classes
    forkEvery = 20

    systemProperties['mule.home'] = '/data'
}

dependencies {
    compile 'com.mulesoft.security:mule-module-security-oauth2-provider:1.3.2'
    // Because mule-module-security-oauth2-provider doesn't do transtive, manually adding the dependency.
    // Start mule-module-security-oauth2-provider dependency
    compile 'commons-codec:commons-codec:1.3'
    compile 'org.apache.commons:commons-lang3:3.1'
    compile 'org.apache.httpcomponents:httpcore:4.2'
    compile 'javax.validation:validation-api:1.0.0.GA'
    compile 'org.apache.velocity:velocity:1.7'
    // End mule-module-security-oauth2-provider dependency

    compile "org.mule.modules:mule-module-devkit-support:$mule.version"
    compile 'commons-dbcp:commons-dbcp:1.4'
//    compile 'com.ibm:db2jcc_license_cu:1.2'
//    compile 'com.ibm:db2jcc:1.2'
    compile 'org.mule.modules:mule-module-apikit:1.5.1'

    testCompile 'com.jayway.restassured:rest-assured:2.3.0'
    testCompile 'com.github.tomakehurst:wiremock:1.46'
    testCompile 'org.codehaus.groovy:groovy:2.2.1'
    testCompile 'org.codehaus.groovy:groovy-xml:2.2.1'
    testCompile 'org.codehaus.groovy:groovy-json:2.2.1'
    testCompile 'junit:junit:4.11'
    testCompile 'com.h2database:h2:1.4.184' // for DB stub.
    testCompile 'org.apache.ibatis:ibatis-core:3.0'

    testCompile 'org.mule.modules:mule-module-ldap:1.3.0'
//    testCompile 'com.oracle:ojdbc6:11.1.0.6'
    testCompile 'org.hamcrest:hamcrest-core:1.3'

    testRuntime "xerces:xercesImpl:2.9.1"
    testRuntime "net.sf.saxon:saxon-dom:8.9.0.4-osgi"
//    testRuntime "__LICENSE_FILE__"
}

sourceSets {
    test {
        java {
            srcDirs = ["src/test/java"]
        }
        resources {
            // RAML and json schemas needed for APIKit, mapping file for datamapper
            srcDirs = ["src/main/api","mappings","src/main/resources","src/main/app", "src/test/resources"]
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.0'
}
juancavallotti commented 9 years ago

@jasonchw So if you check at the following line:

https://github.com/mulesoft-labs/mule-gradle-plugin/blob/mule-gradle-plugin-1.1.1/src/main/groovy/com/mulesoft/build/dependency/UnpackCloverTask.groovy#L67

You'll be able to see that the error can only happen when one of the clover zips is not found. Please run your build with --debug and see if in your linux environment the clover plugins and mule clover plugins are being downloaded.

jasonchw commented 9 years ago

@juancavallotti

Turns out, it is local maven repo issue. I removed cloveretl-engine from the local maven repo, and run the build again. It is back to normal.

Thank you so much!