-
Bug
-
Resolution: Done
-
Major
-
6.3.0.Beta1
-
None
-
NEW
-
NEW
Running mvn clean install and then mvn install on e.g. guvnor-webapp or drools-wb-webapp ends with transitive dependency check failure:
[[WARNING] Rule 0: de.is24.maven.enforcer.rules.IllegalTransitiveDependencyCheck failed with message:
13:31:52 Found 231 illegal transitive type dependencies in artifact 'org.guvnor:guvnor-webapp:war:6.3.0.20150703-085055':
org.dashbuilder.dataprovider.DataSetProviderType
org.dashbuilder.dataset.ColumnType
org.dashbuilder.dataset.DataSet
org.dashbuilder.dataset.DataSetLookup
org.dashbuilder.dataset.DataSetMetadata
org.dashbuilder.dataset.DataSetOp
org.dashbuilder.dataset.backend.EditDataSetDef
...
The cause seems to be the Errai generated classes which are put into src/main during the first build. The clean phase will remove them, but if the build is executed without the clean they stay there, the enforcer picks them up and fails because some class references there are not declared in the pom.
In ideal case this should be fixed by putting all the generated stuff into target/, but that might to hard to do, since the current setup seems to be well established, even directly in Errai.
The best possible fix right now seems to be running the clean plugin for every build, binding it to initialize phase.
The best way to fix this is to exclude the generated Errai classes from the check. It is not yet possible, but this new feature should be available in next days, see https://github.com/ImmobilienScout24/illegal-transitive-dependency-check/issues/29. We should then update the dependency and add the additional excludes. Until this feature is available, I will disable the dependency check in the -webapp modules (and add comment that it should be re-enabled again soon).