Titanium JIRA Archive
Appcelerator Community (AC)

[AC-351] Full iOS rebuild everytime since CLI Core 4.1.1/4.1.2

GitHub Issuen/a
TypeBug
Priorityn/a
StatusResolved
ResolutionCannot Reproduce
Resolution Date2015-11-11T18:49:57.000+0000
Affected Version/sn/a
Fix Version/sn/a
ComponentsAppcelerator CLI, Studio
Labelscli, ios, xcode
ReporterKeith
AssigneeMostafizur Rahman
Created2015-09-14T07:35:46.000+0000
Updated2015-11-11T18:49:57.000+0000

Description

Running a project using any of the iOS simulators seems to force a full rebuild ("Invoking xcodebuild") every time. This can have a big impact on development time - the issue has been noted on the community forums by several users: https://community.appcelerator.com/topic/2864/full-ios-builds-everytime-since-upgrade-to-4-1-0/5 Steps to reproduce:

Using the latest CLI (5.0 or > 4.1.1). Create new Alloy Project

Run Project on an iOS Simulator

Allow project to build first time and run

Close app and 'Run' on same iOS Simulator

This should invoke xcodebuild every run, and never skips. It appears that this showed up around 4.1.1 or 4.1.2 of the CLI. Reverting to the previous version stops the rebuilding: "appc use 4.1.0".

Comments

  1. Seth Benjamin 2015-09-21

    I'm also experiencing this issue.
  2. Keith 2015-09-26

    Looks like this has been fixed by the new CLI 5.0.2 ( and related CLI-810 ) :) My projects are now skipping xcodebuild again https://wiki.appcelerator.org/display/guides2/Appcelerator+CLI+Release+Notes
  3. Vladimir Tolstikov 2015-09-30

    Confirming the same issue even on CLI 5.0.2. Was fine on CLI 4.0.2. As I see, CLI removes "build" folder completely before build. "Re-build Project on Launch" flag is off.
       Appcelerator Command-Line Interface, version 5.0.2
       Copyright (c) 2014-2015, Appcelerator, Inc.  All Rights Reserved.
       TRACE  | __command__ search paths:
       [
         "/Users/bobr/.appcelerator/install/5.0.2/package",
         "/Users/bobr/.appcelerator/install/5.0.2/package/node_modules",
         "/Applications/Appcelerator Studio/AppceleratorStudio.app/Contents/MacOS/node_modules",
         "/Applications/Appcelerator Studio/AppceleratorStudio.app/Contents/node_modules",
         "/Applications/Appcelerator Studio/AppceleratorStudio.app/node_modules",
         "/Applications/Appcelerator Studio/node_modules",
         "/Applications/node_modules",
         "/node_modules",
         "/Users/bobr/.appcelerator/.npm/lib/node_modules"
       ]
       DEBUG  | [PLUGIN-LOAD] 1ms /Users/bobr/.appcelerator/install/5.0.2/package/appc.js
       DEBUG  | [PLUGIN-LOAD] 596ms /Users/bobr/.appcelerator/install/5.0.2/package/node_modules/appc-cli-titanium/appc.js
       DEBUG  | [PLUGIN-LOAD] 1ms /Users/bobr/.appcelerator/install/5.0.2/package/node_modules/arrow/appc.js
       log level set to "trace"
       executing command "run"
       set environment to {"registry":"https://software.appcelerator.com","security":"https://security.appcelerator.com","baseurl":"https://platform.appcelerator.com"}
       checking credentials for existing session
       Attempting to load session info from config file
       check if session is invalidated
       session expiry 1443696639778 false
       Arrow Cloud config file: /Users/bobr/.acs
       found Arrow Cloud login { mid: 'e769460f56a37af122ff56ceac7e1049a5b10d3c',
         publishPort: 443,
         publishHost: 'https://admin.cloudapp-enterprise.appcelerator.com',
         username: '<OMITTED>',
         cookie: [ 'connect.sid=s%3AwY5KJOy8a6oSxa1CDL6e1%2Btd.k02rzS6U5%2BbER0pLjwG2ttYj%2B%2BxKonUGPAwq8migzpk; Path=/; Expires=Thu, 01 Oct 2015 10:50:46 GMT; HttpOnly' ],
         defaultEP: 
          { publishHost: 'https://admin.cloudapp-enterprise.appcelerator.com',
            publishPort: 443 } } , checking nodeACSEndpoint= https://admin.cloudapp-enterprise.appcelerator.com
       Arrow Cloud cookie expiry [ 1443696646000 ]
       session already loaded in opts.session
       getCredentials() session:
       {
         "ipaddress": "<OMITTED>",
         "username": "<OMITTED>",
         "password": "<OMITTED>",
         "session": "<OMITTED>",
         "nonce": "<OMITTED>",
         "environment": {
           "name": "production",
           "isProduction": true,
           "acsBaseUrl": "https://api.cloud.appcelerator.com",
           "acsAuthBaseUrl": "https://secure-identity.cloud.appcelerator.com",
           "nodeACSEndpoint": "https://admin.cloudapp-enterprise.appcelerator.com"
         },
         "token": "<OMITTED>",
         "fingerprint": "e769460f56a37af122ff56ceac7e1049a5b10d3c",
         "fingerprint_description": "Mac OSX Serial Number: C02NP2DTG5RN",
         "org_id": 100029376,
         "expiry": 1443696639778
       }
       loading plugins for command "run"
       run search paths:
       [
         "/Users/bobr/.appcelerator/install/5.0.2/package",
         "/Users/bobr/.appcelerator/install/5.0.2/package/node_modules",
         "/Applications/Appcelerator Studio/AppceleratorStudio.app/Contents/MacOS/node_modules",
         "/Applications/Appcelerator Studio/AppceleratorStudio.app/Contents/node_modules",
         "/Applications/Appcelerator Studio/AppceleratorStudio.app/node_modules",
         "/Applications/Appcelerator Studio/node_modules",
         "/Applications/node_modules",
         "/node_modules",
         "/Users/bobr/.appcelerator/.npm/lib/node_modules"
       ]
       [PLUGIN-LOAD] 0ms /Users/bobr/.appcelerator/install/5.0.2/package/appc.js
       [PLUGIN-LOAD] 500ms /Users/bobr/.appcelerator/install/5.0.2/package/node_modules/appc-cli-titanium/appc.js
       run plugin: /Users/bobr/.appcelerator/install/5.0.2/package/node_modules/appc-cli-titanium
       [PLUGIN-LOAD] 0ms /Users/bobr/.appcelerator/install/5.0.2/package/node_modules/arrow/appc.js
       run plugin: /Users/bobr/.appcelerator/install/5.0.2/package/node_modules/arrow
       plugin "arrow" failed its "when" function check, skipping...
       loading plugin "titanium" for command "run" CLI options via function
       loading plugin "titanium" for command "run" CLI options via array
       Duplicate option "colors" for command "run", removing...
       executing command "run" with the following plugins:
       ["titanium"]
       TRACE  | Attempting to load session info from config file
       TRACE  | check if session is invalidated
       TRACE  | session expiry 1443696639778 false
       TRACE  | session already loaded in opts.session
       DEBUG  | Titanium Downloads Last Checked: 1443610250350
       TRACE  | "/usr/local/bin/node" "/Users/bobr/.appcelerator/install/5.0.2/package/node_modules/appc-cli-titanium/node_modules/titanium/bin/titanium" config -o json-object
       TRACE  | Forcing clean: last build was under Titanium SDK version 4.0.0 and we're compiling for version 5.0.1.GA
       TRACE  | "/usr/local/bin/node" "/Users/bobr/.appcelerator/install/5.0.2/package/node_modules/appc-cli-titanium/node_modules/titanium/bin/titanium" sdk -o json
       TRACE  | checking for titanium, result:
        { activeSDK: '5.0.1.GA',
         defaultInstallLocation: '/Users/bobr/Library/Application Support/Titanium',
         installLocations: 
          [ '/Users/bobr/Library/Application Support/Titanium',
            '/Library/Application Support/Titanium' ],
         installed: 
          { '5.0.1.GA': '/Users/bobr/Library/Application Support/Titanium/mobilesdk/osx/5.0.1.GA',
            '4.0.0.GA': '/Users/bobr/Library/Application Support/Titanium/mobilesdk/osx/4.0.0.GA' },
         sdks: 
          { '5.0.1.GA': 
             { name: '5.0.1.GA',
               manifest: [Object],
               path: '/Users/bobr/Library/Application Support/Titanium/mobilesdk/osx/5.0.1.GA' },
            '4.0.0.GA': 
             { name: '4.0.0.GA',
               manifest: [Object],
               path: '/Users/bobr/Library/Application Support/Titanium/mobilesdk/osx/4.0.0.GA' } } }
       TRACE  | /usr/local/bin/node [ '/Users/bobr/.appcelerator/install/5.0.2/package/node_modules/appc-cli-titanium/node_modules/titanium/bin/titanium',
         'build',
         '--platform',
         'ios',
         '--log-level',
         'trace',
         '--sdk',
         '4.0.0.GA',
         '--project-dir',
         '/Users/bobr/Documents/My/Work/cleverbug/repos/app',
         '--target',
         'simulator',
         '--ios-version',
         '8.4',
         '--device-family',
         'universal',
         '--deploy-type',
         'development',
         '--sim-type',
         'iphone',
         '--sim-version',
         '8.1',
         '--device-id',
         '57EE08EB-F764-4A54-9A3C-258E2B2021B1',
         '--skip-js-minify',
         '--no-colors',
         '--no-progress-bars',
         '--no-prompt',
         '--prompt-type',
         'socket-bundle',
         '--prompt-port',
         '57836',
         '--plugin-paths',
         '/Users/bobr/.appcelerator/install/5.0.2/package/node_modules',
         '--config-file',
         '/var/folders/1t/7hm5mg3x29zbkk5s63p48nm40000gn/T/build-1443611192780.json',
         '--no-banner' ]
       9/30/2015, 3:06:39 PM
       Operating System
         Name                        = Mac OS X
         Version                     = 10.10
         Architecture                = 64bit
         # CPUs                      = 4
         Memory                      = 8589934592
       Node.js
         Node.js Version             = 0.12.0
         npm Version                 = 2.12.1
       Titanium CLI
         CLI Version                 = 5.0.4
       Titanium SDK
         SDK Version                 = 4.0.0.GA
         SDK Path                    = /Users/bobr/Library/Application Support/Titanium/mobilesdk/osx/4.0.0.GA
         Target Platform             = iphone
       Command
         /usr/local/bin/node /Users/bobr/.appcelerator/install/5.0.2/package/node_modules/appc-cli-titanium/node_modules/titanium/bin/titanium build --platform ios --log-level trace --sdk 4.0.0.GA --project-dir /Users/bobr/Documents/My/Work/cleverbug/repos/app --target simulator --ios-version 8.4 --device-family universal --deploy-type development --sim-type iphone --sim-version 8.1 --device-id 57EE08EB-F764-4A54-9A3C-258E2B2021B1 --skip-js-minify --no-colors --no-progress-bars --no-prompt --prompt-type socket-bundle --prompt-port 57836 --plugin-paths /Users/bobr/.appcelerator/install/5.0.2/package/node_modules --config-file /var/folders/1t/7hm5mg3x29zbkk5s63p48nm40000gn/T/build-1443611192780.json --no-banner
       [INFO] :   Found Titanium module id=facebook version=3.21 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/facebook/3.21
       [INFO] :   Found better matching module id=facebook version=latest platform=ios,iphone deploy-type=development path=/Users/bobr/Library/Application Support/Titanium/modules/iphone/facebook/4.0.5
       [INFO] :   Found Titanium module id=ti.viewshadow version=0.5 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/ti.viewshadow/0.5
       [INFO] :   Found Titanium module id=ti.imagefactory version=1.2.0 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/ti.imagefactory/1.2.0
       [INFO] :   Found Titanium module id=analytics.google version=3.1.0 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/analytics.google/3.1.0
       [INFO] :   Found Titanium module id=bencoding.sms version=1.9.2 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/bencoding.sms/1.9.2
       [INFO] :   Found Titanium module id=com.newrelic version=1.0 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/com.newrelic/1.0
       [INFO] :   Found Titanium module id=bencoding.localnotify version=0.47 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/bencoding.localnotify/0.47
       [INFO] :   Found Titanium module id=com.appsee version=2.1.2 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/com.appsee/2.1.2
       [INFO] :   Found Titanium module id=ti.storekit version=3.1.2 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/ti.storekit/3.1.2
       [INFO] :   Found Titanium module id=com.tapstream.sdk version=2.3 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/com.tapstream.sdk/2.3
       [INFO] :   Found Titanium module id=com.cleverbug.utils version=1.0.0 platform=iphone deploy-type=development path=/Users/bobr/Documents/My/Work/cleverbug/repos/app/modules/iphone/com.cleverbug.utils/1.0.0
       [INFO] :   Deploy type: development
       [INFO] :   Building for target: simulator
       [INFO] :   Building using iOS SDK: 8.4
       [INFO] :   Building for iOS Simulator: iPhone 5s
       [INFO] :   Building for device family: universal
       [INFO] :   Minimum iOS version: 7.0
       [INFO] :   Debugging disabled
       [INFO] :   Profiler disabled
       [INFO] :   Forcing rebuild: /Users/bobr/Documents/My/Work/cleverbug/repos/app/build/iphone/build-manifest.json does not exist
       [INFO] :   Initiating prepare phase
       [INFO] :   Performing full rebuild
       [INFO] :   Copying Xcode iOS files
       [INFO] :   Creating Xcode project directory: /Users/bobr/Documents/My/Work/cleverbug/repos/app/build/iphone/CleverCards: Photo Birthday Greeting Cards and eCards for Facebook.xcodeproj
       [INFO] :   Writing Xcode project data file: Titanium.xcodeproj/project.pbxproj
       [INFO] :   Writing Xcode project configuration: project.xcconfig
       [INFO] :   Writing Xcode module configuration: module.xcconfig
       [INFO] :   Copying custom Info.plist from project directory
       [INFO] :   Checking for Splash Screen localization
       [INFO] :   Found custom entitlements: /Users/bobr/Documents/My/Work/cleverbug/repos/app/Entitlements.plist
       [INFO] :   Injecting native libraries into Xcode project file
       [INFO] :   Forcing rebuild: ApplicationDefaults.m has changed since last build
       [INFO] :   Writing application defaults: /Users/bobr/Documents/My/Work/cleverbug/repos/app/build/iphone/Classes/ApplicationDefaults.m
       [INFO] :   Initiating Xcode pre-compile phase
       [INFO] :   Processing JavaScript files
       [INFO] :   Processing Titanium namespace resources
       [INFO] :   Compiling localization files
       [INFO] :   Checking for Splash Screen localization
       [INFO] :   Invoking xcodebuild
       [INFO] :   Finished building the application in 44s 588ms
       [INFO] :   Launching iOS Simulator
       [INFO] :   Project built successfully in 52s 474ms
       -- Start simulator log -------------------------------------------------------
       
  4. Jebun Naher 2015-11-10

    Hello, We couldn't reproduce this issue as a bug in our environment. Running a project in iOS simulator does not force a rebuild. *Testing Environment:* Appcelerator Command-Line Interface, version 5.0.4 Appcelerator Studio, build: 4.3.3.201510212245 Ti SDK Version :5.0.2.GA Node.js Version :0.10.37 Mac OS X,Version :10.10.1 Jdk version : 1.7.0_80.jdk simulator : iPhone 5(8.2) *Console Log:*
       [INFO] :   Invoking xcodebuild
       [INFO] :   Finished building the application in 2m 47s 655ms
       [INFO] :   Launching iOS Simulator
       [INFO] :   Application started
       [INFO] :   jebunclassic/1.0 (5.0.2.92c2265)
       
    *Steps to test:* 1. Create new Alloy Project 2. Run Project on iOS Simulator 3. Allow project to build first time and run 4. Close the app and 'Run' on same iOS Simulator Thanks.

JSON Source