         DEPLOY_TIME: Date.now()
 
         # Used in server/weinre tasks as an actual IP for the server.
-        HTTP_SERVER_IP: (GLOBALS) ->
+        HTTP_SERVER_IP: (->
           # Try to detect IP address in user's network.
           # If not, fallback to 127.0.0.1 .
           localIp = execSync.exec("(ifconfig wlan 2>/dev/null || ifconfig en0) | grep inet | grep -v inet6 | awk '{print $2}' | sed 's/addr://g'").stdout.trim()
           localIp = "127.0.0.1" unless parseInt(localIp) > 0
           localIp
+        )()
 
         # By default, application runs on :4400 port.
         HTTP_SERVER_PORT: 4400

          else
            "www"

        # However, you can set this flag to true, and we'll change it to a random directory.
        # Could be useful f.e. in unit/e2e tests
        TMP_BUILD_DIR: false


      # `gulp --BUNDLE_ID="com.different.bundleid"`
      @GLOBALS[k] = gulp.env[k] if gulp.env[k]? && @GLOBALS[k]?

      # Last but not least, if a @GLOBALS[k] is a function,
      # then let's define it as a dynamic getter
      #
      # More information: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
      if typeof @GLOBALS[k] == "function"
        getter = @GLOBALS[k]
        Object.defineProperty @GLOBALS, k, get: => getter(@GLOBALS)

    @filterPublicGlobals(@_PUBLIC_GLOBALS_KEYS)
    @filterShellGlobals(@_SHELL_GLOBALS_KEYS)
