Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-14922] Android: Always does a full rebuild since 3.1.2.GA

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2013-08-21T21:52:21.000+0000
Affected Version/sRelease 3.1.2
Fix Version/s2013 Sprint 17, 2013 Sprint 17 Core, Release 3.1.3, Release 3.2.0
ComponentsAndroid
Labelscli, qe-closed-3.1.3, qe-testadded, regression, triage
ReporterFokke Zandbergen
AssigneeAllen Yeung
Created2013-08-16T11:53:33.000+0000
Updated2014-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

Comments

  1. Jamie Buckley 2013-08-19

    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?
  2. Olga Romero 2013-08-19

    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.
  3. Fokke Zandbergen 2013-08-20

    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
  4. Tim Poulsen 2013-08-20

    I'm seeing this with Alloy projects. Building to device via Studio. Studio 3.1.2.201308091617 TiSDK 3.1.2GA Alloy 1.2GA
  5. Fokke Zandbergen 2013-08-20

    With Alloy, the tiapp.xml is read on each compile, but online the atime changes and I assume the Titanium CLI looks for an mtime change, so that can't be the issue.
  6. Eric Merriman 2013-08-20

    [~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.
  7. Eric Merriman 2013-08-20

    The CLI behavior may be exacerbating the Studio issue. Will continue to investigate.
  8. Tim Poulsen 2013-08-20

    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.
  9. Fokke Zandbergen 2013-08-21

    [~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.
  10. Allen Yeung 2013-08-21

    PR: https://github.com/appcelerator/titanium_mobile/pull/4592
  11. Allen Yeung 2013-08-21

    3_!_X: https://github.com/appcelerator/titanium_mobile/pull/4594
  12. Eric Merriman 2013-08-23

    [~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.
  13. Priya Agarwal 2013-08-23

    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.
  14. Olga Romero 2013-08-23

    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.
        [INFO] Copying project resources..
        [INFO] Tiapp.xml unchanged, skipping class generation
        [INFO] Compiling Javascript Resources ...
        [INFO] Compiling Android Resources... This could take some time
        
  15. roopesh nema 2014-02-19

    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

JSON Source