Closed obfischer closed 8 years ago
I had a look at the Maven Invoker Plugin. It seems to be usefull to run integrationtests for Maven plugins but not to run an arbitrary plugin with an arbitrary goal.
Hence I would like to suggest the following: To keep the effort low we should validate the build with the previous version of jQA.
@DirkMahler Please comment.
@obfischer With Maven Invoker Plugin you can run any plugin with any goal you like...like this...Furthermore you can take a look here where i pre generate site content before the real site is generate. In this case it's needed to run different maven builds to create the needed content.
But I would also to suggest using the previous release of jQA to do QA of your current jQA build...we have the same problem in Maven itself..like integration testing of maven-invoker-plugin itself..
@khmarbaise Thanks for the tip. So the second sence on the homepage of the Invoker Plugin is missleading. It should mention what you can run any plugin goal with the Invoker Plugin. If it can be used to run an arbitrary goal of an arbitrary plugin the documentation and the examples should not concentrate on integration tests only.
Will start with the implementation.
@DirkMahler Should we scan and validate jQAssistant during every build?
Yes. If things will take too long we can split-up the validation by costs.
ack. I will only add a profile to start the server via Maven.
Scan of 1.2.0-SNAPSHOT with 1.1.0 fails with the following message:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:44 min
[INFO] Finished at: 2015-11-27T14:39:29+01:00
[INFO] Final Memory: 90M/1109M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.buschmais.jqassistant.scm:jqassistant-maven-plugin:1.1.0:scan (default) on project jqassistant.plugin.rdbms: Execution default of goal com.buschmais.jqassistant.scm:jqassistant-maven-plugin:1.1.0:scan failed: Unexpected problem while scanning: item='MavenProject: com.buschmais.jqassistant.plugin:jqassistant.plugin.rdbms:1.2.0-SNAPSHOT @ /Users/obf/code/jqassistant/plugin/rdbms/target/dependency-reduced-pom.xml', path='/Users/obf/code/jqassistant/plugin/rdbms/target/dependency-reduced-pom.xml', scope='PROJECT', pipeline='[com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin@78b293a]'. com.sun.proxy.$Proxy1853 cannot be cast to com.buschmais.jqassistant.plugin.maven3.api.model.MavenPomXmlDescriptor -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :jqassistant.plugin.rdbms
I used Maven 3.3.3 for the build.
I will disabled the RDBMS plugin for the moment.
Getting a ClassCastException It's definitively a bug - but: why is the file scanned?
It is created by the Maven Shade Plugin used by the RDBMS plugin. Should I file an extra issue for that?
That's clear - but why is it picked up by the scanner? Are you working with scanIncludes?
No, it is in the target
directory. I didn't change this aspect of the configuration.
This change disabled jQAssistant at all. I will disable the execution of the jQAssistant Maven plugin at in the top level parent of the project. We have to wait for release 1.1.1 until we can continue to work on this.
I would like to close this issue as it is only on analysing itself. Nothing more.
Done on master
branch for version 1.2.0.
Every run of the build of jQA should the version build during the build to verify itself.