Bug 1044018

Summary: Rule file update, save, commit causes local maven repo file structure to update
Product: [Retired] JBoss BRMS Platform 6 Reporter: Eric D. Schabell <eschabel>
Component: Business CentralAssignee: Mario Fusco <mfusco>
Status: CLOSED CURRENTRELEASE QA Contact: Marek Baluch <mbaluch>
Severity: high Docs Contact:
Priority: medium    
Version: 6.0.0CC: etirelli, manstis, mbaluch, mfusco
Target Milestone: ER1   
Target Release: 6.0.1   
Hardware: x86_64   
OS: Mac OS   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 19:58:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Eric D. Schabell 2013-12-17 15:51:12 UTC
Description of problem:
First clean out .m2/setting.xml listed maven repo where build&deploy puts jars of project, I used this auto installable demo project (https://github.com/eschabell/bpms-customer-evaluation-demo) with ER5 build.

Login & open project rule file, edit, save & commit.

This causes log message on server:

16:32:43 16:28:10,112 INFO  [org.guvnor.common.services.builder.ResourceChangeIncrementalBuilder] (pool-29-thread-3) Incremental build request being processed: default://master@customer/evaluation/src/main/resources/financerules.drl (updated).

In local maven repo also creates groupid/artifactid/version/ path into the local maven repo but does not populate with jar/pom. It takes a build & deploy to generate the pom/jar.

Version-Release number of selected component (if applicable):
ER5

How reproducible:
See above.

Steps to Reproduce:
1.See above.
2.
3.

Actual results:
Recreating local maven repo file structure for a projects groupid/artifactid/version/.

Expected results:
Nothing modified in the local file structure on a UI artifact save/commit action.

Additional info:
Also verified on Linux system, same problem.

Comment 3 manstis 2013-12-18 13:51:38 UTC
Investigation confirmed the reported behaviour.

Whilst creation of the empty folder structure is undesirable it has no real (negative) impact. The project remains unavailable for external consumption until it has been built in the workbench.

Ideally we should be able to inhibit creation of the folder structure until the Project is "Build and Deploy"'ed. I believe the folders are being created by KieBuilder (or related classes) whenever a KieModule is built - full or incremental.

My recommendation is that this is not a blocker.

Comment 4 Eric D. Schabell 2013-12-18 14:07:43 UTC
It will have an effect on performance. Agree on not blocking my experience yet. 

Thanks for the investigation.

(In reply to manstis from comment #3)
> Investigation confirmed the reported behaviour.
> 
> Whilst creation of the empty folder structure is undesirable it has no real
> (negative) impact. The project remains unavailable for external consumption
> until it has been built in the workbench.
> 
> Ideally we should be able to inhibit creation of the folder structure until
> the Project is "Build and Deploy"'ed. I believe the folders are being
> created by KieBuilder (or related classes) whenever a KieModule is built -
> full or incremental.
> 
> My recommendation is that this is not a blocker.

Comment 5 Mario Fusco 2014-01-22 17:43:38 UTC
This commit partially fix this problem https://github.com/droolsjbpm/drools/commit/ff4f9415a57888841873f87d9704c070a375f982

What I did there is to avoid to create an ArtifactResolver for that ReleaseId when the project has no dependencies. When there are dependencies I have to create the ArtifactResolver to load them and bould the project. Unfortunately the moment I do this maven creates that empty folder, there's no much we can do about this

Comment 6 Marek Baluch 2014-03-13 10:32:50 UTC
Verified on 6.0.1.ER2.

Confirmed - the folder structure is created only when a project has dependencies.