ot4i / ace-maven-plugin Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Compiling the plugin with a JDK >= version 9 fails.
Reason for the error is that the jaxb libraries were reorganized in Java 9 and above. Some jaxb classes were removed from the standard Java distribution.
Typical error message is:
Failed to execute goal org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc (eclipseProject) on project ace-maven-plugin: Execution eclipseProject of goal org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc failed: A required class was missing while executing org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc: javax/activation/DataSource
Issue should be fixed by upgrading to a later jaxb dependency - however not changed tested yet.
Workaround for the moment: ensure to compile the plugin with JDK 8.
Starting from version >= 3.x the behaviour of the maven-install-plugin changed.
It is not longer possible to install "attached artefacts" only.
Thus when running a build with a new maven-install-plugin version you might see the following error:
--> failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install (default-install) on project <project_name>: NoFileAssignedException: The packaging plugin for this project did not assign a main file to the project but it has attachments. Change packaging to 'pom'. -> [Help 1]
The issue is also discussed here: https://issues.apache.org/jira/browse/MINSTALL-151
ACE itself does not support "mqsiapplybaroverride" for policy projects.
This means that the ace-maven-plugin parameter mqsiapplybaroverride must (!) be set to false for such projects.
However this is not mentioned yet.
At the moment it seems that a failing mqsicreatebar command thus not fail the build.
The command execution is handled in https://github.com/ot4i/ace-maven-plugin/blob/feature/java17/ace-maven-plugin/src/main/java/ibm/maven/plugins/ace/utils/CommandExecutionUtil.java
Here the plugin checks at the moment for process.exitValue() - which seems to be 0 even if if the command fails.
if (process.exitValue() != 0) {
throw new MojoFailureException(cmd + " finished with exit code: " + process.exitValue());
}
to analyse
Following "validation" issues are reported when running the plugin for the sample projects:
[WARNING] Plugin validation issues were detected in 6 plugin(s)
[WARNING]
[WARNING] * org.apache.maven.plugins:maven-source-plugin:3.2.1
[WARNING] * ibm.maven.plugins:ace-maven-plugin:1.0.0-SNAPSHOT
[WARNING] * org.apache.maven.plugins:maven-assembly-plugin:2.4
[WARNING] * org.apache.maven.plugins:maven-resources-plugin:2.6
[WARNING] * org.codehaus.mojo:build-helper-maven-plugin:3.3.0
[WARNING] * org.apache.maven.plugins:maven-dependency-plugin:2.8
The validation means that some plugins "might be not compatible" when moving to Maven 4.
See also:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.