Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0047174
TypeCategorySeverityReproducibilityDate SubmittedLast Update
feature request[Openbravo ERP] A. Platformminorhave not tried2021-06-17 15:372021-06-21 13:59
ReportershuehnerView Statuspublic 
Assigned Toshuehner 
PrioritynormalResolutionfixedFixed in VersionPR21Q3
StatusclosedFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0047174: Simplify (and speedup) ant generate.entities* by simplifying calling sequence, fix incremental compile

DescriptionThe current internal calling sequence for i.e. ant generate.entities.forked is overly complicated.

ant task build.xml -> src/build.xml -> <java fork=yes GenerateEntitiesTask>
Then this new JVM running in main method is using AntExecutor
to run new ant instance calling into build.xml -> src/build.xml to call same GenerateEntitiesTask (now as ant-task) again

That is quite some extra overhead for no benefit.

Additionally it seems to take 2-3 extra seconds to reach the execute() method (compared to doing the work directly in the main() method.

Second topic is slightly broken incremental compile for both
- compile.src.gen compiling 4 files over and over again (even without changes)
- generate.entities.quick compiling 1 file always (even without changes)
Steps To Reproducetrace calls from "ant generate.entities" in main build.xml until you read the 'execute()' method in the GenerateEntitiesTask
Proposed SolutionRemove the extra calling of the code via ant-task and just do the work directly in the main method.

Done consistent as with (nearly) all other files we have using java + fork=yes
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
related to defect 0047193 closedshuehner api-change GenerateEntitiesTask does no longer extends ant Task 

-  Notes
(0129619)
hgbot (developer)
2021-06-17 16:18

Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/401 [^]
(0129690)
hgbot (developer)
2021-06-21 13:59

Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/401 [^]
(0129691)
hgbot (developer)
2021-06-21 13:59

Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: f8a55d961836627ef94879928780994be045d052
Author: Stefan Huehner <stefan.huehner@openbravo.com>
Date: 2021-06-17T15:38:53+02:00
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/f8a55d961836627ef94879928780994be045d052 [^]

Fixes ISSUE-47174. Simplify & speed up calling generate.entities*

Change GenerateEntitiesTask to directly to the work in its main method
instead of calling into AntExecutor and getting called again as an ant
task.

That simplifies both the build.xml & src/build.xml by removing the
additional generate.entities.quick.forked target as well as simplifes
the java code slightly.
Extra benefit is shaving of 2-3 seconds of runtime of
generate.entities.quick call which is called indirectly by various other
build tasks.

Side-effect:
Stop supporting the obsolete friendlyWarning flag which is not set anymorr
after the MMC rebuild popup removal.

---
M build.xml
M src/build.xml
M src/org/openbravo/base/gen/GenerateEntitiesTask.java
---
(0129692)
hgbot (developer)
2021-06-21 13:59

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: bfa9f2dc48119d9675fd275fb619b5b3411517e1
Author: Stefan Huehner <stefan.huehner@openbravo.com>
Date: 2021-06-17T16:03:11+02:00
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/bfa9f2dc48119d9675fd275fb619b5b3411517e1 [^]

ISSUE-47174. Fix incremental compile near generate.entities.quick

Similar to issue 20416 also compile.src.gen & generate.entities.quick
had same bug causing to recompile files in modules/* always.

Fix that by ensuring the include part of javac call only matches the
path matching the javapackage of the source files.

- Specifically for compile.src.gen:
  - Remove the modules/*/src part which is supposed to match the src
    subfolder in any present module.
    Replace it by dirset entry matching the needed src subfolder
    separately.
- For the javac call at the end of generate.entities.quick split the
  srcdir attributed by a separate entry. Goal is the same to change from
  the ${base.modules} to a dirset matching the src folders properly

---
M src/build.xml
---

- Issue History
Date Modified Username Field Change
2021-06-17 15:37 shuehner New Issue
2021-06-17 15:37 shuehner Assigned To => shuehner
2021-06-17 15:37 shuehner Modules => Core
2021-06-17 15:37 shuehner Triggers an Emergency Pack => No
2021-06-17 15:38 shuehner Type defect => feature request
2021-06-17 16:02 shuehner Summary Simplify (and speedup) ant generate.entities* by simplifying calling sequence => Simplify (and speedup) ant generate.entities* by simplifying calling sequence, fix incremental compile
2021-06-17 16:02 shuehner Description Updated View Revisions
2021-06-17 16:18 hgbot Note Added: 0129619
2021-06-21 13:59 hgbot Note Added: 0129690
2021-06-21 13:59 hgbot Resolution open => fixed
2021-06-21 13:59 hgbot Status new => closed
2021-06-21 13:59 hgbot Fixed in Version => PR21Q3
2021-06-21 13:59 hgbot Note Added: 0129691
2021-06-21 13:59 hgbot Note Added: 0129692
2021-06-21 14:03 shuehner Relationship added related to 0047193


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker