Alloy
Alloy is an MVC application framework by TiDev for the Titanium SDK.
Getting Started
Installation
from npm:
[sudo] npm install -g alloy
[sudo] npm install -g alloy@1.4.1
[sudo] npm install -g git://github.com/tidev/alloy.git
Running Sample Test Apps
Alloy includes many sample and test apps in the sample/apps folder (see above). For example, basics/simple. You can run these in a few different ways:
A) With a regular Alloy installation
Beginning with Alloy 1.6, you can do the following:
titanium create --name yourAppName
cd yourAppName
alloy new . --testapp basics/simple
B) By cloning the repo and using the Jake test runner
git clone https://github.com/tidev/alloy.git
cd alloy
[sudo] npm install -g jake
[sudo] npm install -g .
npm install
jake app:run dir=basics/simple
Additional Notes on Jake
- See the jake readme for information on using
jake
including the arguments and flags it accepts. - on OSX or Linux
- Try using
sudo
with the jake
command if you run into permission errors.
- on Windows
- Don't run
jake
from within a user folder (i.e. C:\Users\tony\alloy
), as you can get all kinds of non-obvious permissions failures from the child processing Alloy does. Your safest bet is to just git clone
right to C:\alloy
. - Node.js has an issue piping output between node processes on Windows. I've tried to workaround as best I can. You may still see errors pop up, so it's suggested that if you run the automated testing via
jake test:all
or npm test
, you do so on a non-Windows OS to ensure there's no red herring failures until the aforementioned node.js issue is resolved. - If you decide to ignore my advice and run the tests anyway on Windows, make sure that if you imported the Harness into TiStudio that you don't have TiStudio running. Windows creates locks on key files in that project that are necessary for the testing process. It will make tests fail erroneously.
- If you're still that stubborn, are running the test suite on Windows, and you're getting those intermittent, erroneous errors, try running them one spec at a time. Instead of doing
jake test:all
, do jake test:spec[SPEC_NAME]
, where SPEC_NAME
is JS file in the test specs folder.
Contributing
Interested in contributing? There are several ways you can help contribute to this project.
New Features, Improvements, Bug Fixes, & Documentation
Source code contributions are always welcome! Before we can accept your pull request, you must sign a Contributor License Agreement (CLA). Please visit https://tidev.io/contribute for more information.
Donations
Please consider supporting this project by making a charitable donation. The money you donate goes to compensate the skilled engineeers and maintainers that keep this project going.
Code of Conduct
TiDev wants to provide a safe and welcoming community for everyone to participate. Please see our Code of Conduct that applies to all contributors.
Security
If you find a security related issue, please send an email to security@tidev.io instead of publicly creating a ticket.
Stay Connected
For the latest information, please find us on Twitter: Titanium SDK and TiDev.
Join our growing Slack community by visiting https://slack.tidev.io
Legal
Titanium is a registered trademark of TiDev Inc. All Titanium trademark and patent rights were transferred and assigned to TiDev Inc. on 4/7/2022. Please see the LEGAL information about using our trademarks, privacy policy, terms of usage and other legal information at https://tidev.io/legal.