Alloy includes a simple jake app-runner script that you can use to test the sample apps (the test apps included with Alloy). You must run the jake app:run
command from your Alloy repo directory. It requires one additional argument -- dir
-- which points to the app's folder within test/apps.
In general form:
# general form
jake app:run dir=folder/appname
# for example
jake app:run dir=ui/tableview
You can pass any command-line argument supported by the ti build
command (see the docs) with these caveats:
- Do not include the single or double-dashes specified by the
ti build
command docs. - You must separate the argument and values with an equals sign, not a space.
- The
p
orplatform
argument defaults toiphone
for OS X users andandroid
for Windows or Linux users. So, you can omit that argument if the default is suitable. - If the
ti build
option expects no value (such as its--tall
flag), you must specify atrue
value when using it with thejake
command. - You can use either the
sdk
ortiversion
argument to specify the CLI version to use with the build command. See note below.
Starting with SDK 3.4.0 and Xcode 6, you must target a desired simulator by its UUID.
# to get a list of UUIDs
ti info -t ios
# then build to a specific one
# this UUID corresponds to an iPad2 sim on my system
jake app:run dir=basics/simple C=A3B8061E-3F77-45B3-A697-509C46213B5F
As with iOS simulators, you can target specific Android emulators; you do so by device name.
# to get a list of device names
ti info -t android
# then build to a specific one
# make sure to use quotes if the name has spaces
jake app:run dir=basics/simple platform=android C="Google Galaxy Nexus - 4.3 - API 18 - 720x1280"
In your repo clone, you will find many test apps that correspond to Alloy Jira tickets. We use these when functionally testing Alloy changes. Because we run them so often, there's a shortcut syntax:
# for the Jira apps, the dir= part is optional
jake app:run dir=ALOY-1000
The sdk
argument to ti build
specifies the version of the CLI that will be used to parse the tiapp.xml file. It does not override the sdk-version value specified in the tiapp.xml.
However, for the Alloy testing apps only, that argument will specify the sdk-version. That's because those testing apps do not have an <sdk-version> tag in their tiapp.xml file (see projects/HarnessTemplate/tiapp.xml).
For the Alloy test apps, the SDK version used to build your apps is determined by either the command-line argument you supply to the jake
command or the value you have set with the ti sdk select
command.