Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-27794] Android: Improve kroll-apt incremental build times with SDK

GitHub Issuen/a
TypeImprovement
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2020-03-09T17:55:42.000+0000
Affected Version/sn/a
Fix Version/sRelease 9.0.0
ComponentsAndroid
Labelsandroid, build, kroll, performance, sdk
ReporterJoshua Quick
AssigneeJoshua Quick
Created2020-03-07T02:55:52.000+0000
Updated2020-03-11T02:00:49.000+0000

Description

*Summary:* The Titanium SDK incremental build times should be improved. Every time we make a Java code change in the Titanium SDK library, our "kroll-apt" Java annotation processor always re-generates C++ files for all Java proxies in our library, even if the proxy classes haven't changed. *Note:* On my machine, the build system recognizes that the re-generated C++ files haven't changed since the last build and does an incremental C++ build. On [~gmathews]' machine, the C++ incremental build does not work at all and recompiles all C++ files. Incremental build times after making a Java code changes takes 20s for me and ~1 minute for Gary. *To-Do:* When our "kroll-apt" Java annotation processor reads all @Kroll annotations, it should read the last written JSON bindings file to see if the bindings have changed since the last build. If not, do not re-generate the proxy C++ files... unless the files are missing.

Comments

  1. Joshua Quick 2020-03-07

    PR (master): https://github.com/appcelerator/titanium_mobile/pull/11519
  2. Joshua Quick 2020-03-09

    PR (9.0.x): https://github.com/appcelerator/titanium_mobile/pull/11525

JSON Source