[TIMOB-14922] Android: Always does a full rebuild since 3.1.2.GA
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2013-08-21T21:52:21.000+0000 |
Affected Version/s | Release 3.1.2 |
Fix Version/s | 2013 Sprint 17, 2013 Sprint 17 Core, Release 3.1.3, Release 3.2.0 |
Components | Android |
Labels | cli, qe-closed-3.1.3, qe-testadded, regression, triage |
Reporter | Fokke Zandbergen |
Assignee | Allen Yeung |
Created | 2013-08-16T11:53:33.000+0000 |
Updated | 2014-02-19T12:35:01.000+0000 |
Description
Since the 3.1.2.GA release of the SDK, when building for Android the CLI will always do a full rebuild, telling:
Detected change in tiapp.xml, or assets deleted. Forcing full re-build...
With Android on 3.1.1.GA and iOS on 3.1.2.GA all is good.
Emulator or Device doesn't matter.
To reproduce
titanium sdk select 3.1.2.GA
titanium create -p android -n ./test --id test
cd test
titanium build -p android
titanium build -p android
The second build will again do a full rebuild
Tested with both Alloy and Regular titanium projects with 3.1.2 on android Emulator and could not reproduce. Fokke: Does this happen with a new default project too?
I was able to reproduce this issue with a larger alloy project, building an app on to device for several times with no changes. Environment: Mac osx 10.8.4 Mountain Lion Appcelerator Studio, build: 3.1.2.201308091728 Titanium Studio, build: 3.1.2.201308091617 Titanium SDK, builds:3.1.1.GA ; 3.1.2.GA ; 3.1.3.v20130816184556 Alloy: 1.2.1-cr CLI: 3.1.2 Does not matter if it is a device or an emulator.
I updated the steps to reproduce, which as you can see included creating a default project, all using CLI. It always reproduces for me with: SDK 3.1.2.GA Alloy 1.2.0 CLI 3.1.2
I'm seeing this with Alloy projects. Building to device via Studio. Studio 3.1.2.201308091617 TiSDK 3.1.2GA Alloy 1.2GA
With Alloy, the
tiapp.xml
is read on each compile, but online theatime
changes and I assume the Titanium CLI looks for anmtime
change, so that can't be the issue.[~skypanther] There is a related ticket for Studio linked to this ticket. I think this is the issue you are experiencing. Investigating this issue further, it seems that "deltafy" in the builder.py is potentially causing the tiapp.xml to be flagged as having changed, which in turn triggers a rebuild.
The CLI behavior may be exacerbating the Studio issue. Will continue to investigate.
OK, I'm not seeing the workspace rebuild each time. But the tiapp.xml is being 'touched' or something because I get a full rebuild each time. If I keep tiapp.xml open in the editor, Studio prompts me that it changed on disk and asks to reload it. There's no change if I reload, so it's just the timestamp being touched.
[~emerriman] the linked ticket is not related. I'm talking about the build of the app being a full rebuild, not about the Studio workspace being rebuild. I don't use studio at all.
PR: https://github.com/appcelerator/titanium_mobile/pull/4592
3_!_X: https://github.com/appcelerator/titanium_mobile/pull/4594
[~fokke] Hello, there are now two linked tickets. One is the ticket that spawned the commit that caused the behavior in this ticket. (TIMOB-12222) The other (TISTUD-5281) is related to this ticket because studio is triggering a reindex of the project because the tiapp.xml seems changed. Due to another studio behavior that results in an indexing of Alloy "resources" folders for existing projects, Tim is seeing the result of this ticket TIMOB-14922 causing a full rebuild (from command-line or studio) which then forces a reindex on Alloy in Studio TISTUD-5281, which takes a while since it also looks at the resources folder. I do understand you are not using Studio.
Verified this issue with Classic as well as Alloy projects from CLI and Studio. Used the below environment - Appc-Studio: 3.1.3.201308201707 Sdk: 3.1.3.v20130822140128 acs:1.0.6 alloy:1.2.1-cr titanium:3.1.2 OS: OSX 10.8.4 Result - The message "Detected change in tiapp.xml, or assets deleted. Forcing full re-build..." is appearing only on first execution. Second time, this message is not appearing. Observed the same behavior from Studio as well as CLI for Classic and Alloy projects. Observation - From CLI, the project build execution looks same for first time and second time for default Alloy project. Also the time taken for project build is approximately same for both the time. However could observe noticeable time difference for project build on the second time for Classic Project.
Tested with: Titanium Studio, build: 3.1.3.201308201302 Appcelerator Studio, build: 3.1.3.201308201707 Titanium SDK, build: 3.1.3.v20130822140128 alloy:1.2.1-cr CLI: 3.1.2 Mac osx 10.8.4 Mountain Lion Actual result: The message "Detected change in tiapp.xml, or assets deleted. Forcing full re-build..." occurs only on a first build. Building a project a second time with the same SDK build won't show this mesage in a log. And the only slowness I noticed (for alloy and classic projects), building second + time, is on copying resources.
I am facing this issue with latest build .... Titanium Studio, build: 3.2.1.201402041146 Titanium SDK version: 3.1.3 (09/18/13 12:00 222f4d1) [INFO] : Emulator is running [INFO] Titanium SDK version: 3.1.3 (09/18/13 12:00 222f4d1) [INFO] Fastdev server running, deploying in Fastdev mode [INFO] Copying CommonJS modules... [INFO] Copying project resources.. [INFO] Detected change in tiapp.xml, or assets deleted. Forcing full re-build... [INFO] Force including all modules... [INFO] Force including all modules... [INFO] Compiling Javascript Resources ... [INFO] Copying platform-specific files for 'Facebook' module [INFO] Compiling localization files [INFO] Adding New Relic support. [INFO] Compiling Android Resources... This could take some time [INFO] Installing application on emulator