titanium_cli 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.markdown ADDED
@@ -0,0 +1,37 @@
1
+ # Titanium CLI
2
+
3
+ This gem allows you to create and run Titanium Mobile projects via the
4
+ command line.
5
+
6
+
7
+ ## Usage
8
+
9
+ Creating projects:
10
+ Create iPhone project:
11
+ titanium create --platform=iphone --name=FooMobile --id=com.foo.mobile
12
+
13
+ Create Android project
14
+ titanium create --platform=android --name=FooMobile \
15
+ --id=com.foo.mobile --android=/opt/android-sdk
16
+
17
+ Create iPhone and Android project
18
+ titanium create --platform=iphone,android --name=FooMobile \
19
+ --id=com.foo.mobile --android=/opt/android-sdk
20
+
21
+ Running projects:
22
+ Run iPhone project:
23
+ titanium run --platform=iphone
24
+
25
+ Run iPhone project:
26
+ titanium run --platform=android
27
+
28
+
29
+
30
+ ## TODO
31
+
32
+ * Linux/Windows Support
33
+
34
+
35
+ ## License
36
+
37
+ MIT License. See LICENSE in this repo.
data/Rakefile ADDED
@@ -0,0 +1,22 @@
1
+ $:.unshift 'lib'
2
+
3
+ desc "Open an irb session preloaded with this library"
4
+ task :console do
5
+ sh "irb -rubygems -r ./lib/titanium_cli.rb -I ./lib"
6
+ end
7
+
8
+ require 'sdoc_helpers'
9
+ desc "Push a new version to Gemcutter"
10
+ task :publish do
11
+ require 'titanium_cli/version'
12
+
13
+ ver = TitaniumCli::Version
14
+
15
+ sh "gem build titanium_cli.gemspec"
16
+ sh "gem push titanium_cli-#{ver}.gem"
17
+ sh "git tag -a -m 'TitaniumCLI v#{ver}' v#{ver}"
18
+ sh "git push origin v#{ver}"
19
+ sh "git push origin master"
20
+ sh "git clean -fd"
21
+ sh "rake pages"
22
+ end
data/bin/titanium ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'titanium_cli/base'
5
+ rescue LoadError
6
+ $:.unshift File.expand_path(File.join(File.dirname(__FILE__), '/../lib'))
7
+ begin
8
+ require 'titanium_cli/base'
9
+ rescue LoadError
10
+ warn "Can't find titanium_cli/base"
11
+ exit -1
12
+ end
13
+ end
14
+
15
+ TitaniumCLI::Base.run(ARGV)
@@ -0,0 +1,102 @@
1
+ module TitaniumCLI
2
+ module Base
3
+ extend self
4
+
5
+ attr_accessor :log, :sdk_root, :sdk_version
6
+
7
+ # Copy Titanium logs to this file
8
+ def log
9
+ @log ||= ENV['LOG'] || 'log/development.log'
10
+ end
11
+
12
+ # Titanium SDK version
13
+ def sdk_version
14
+ @sdk_version ||= ENV['SDK_VERSION'] || '1.4.2'
15
+ end
16
+
17
+ # Titanium SDK root
18
+ def sdk_root
19
+ return @sdk_root if @sdk_root
20
+ case RUBY_PLATFORM
21
+ when /darwin/
22
+ system_root = "/Library/Application Support/Titanium/mobilesdk/osx/#{sdk_version}"
23
+ local_root = "#{ENV['HOME']}#{system_root}"
24
+
25
+ if File.exists?(local_root)
26
+ @sdk_root = local_root
27
+ elsif File.exists?(system_root)
28
+ @sdk_root = system_root
29
+ end
30
+ end
31
+
32
+ unless @sdk_root
33
+ raise "Can't find Titanium SDK root"
34
+ end
35
+ @sdk_root
36
+ end
37
+
38
+ # Run titanium.py command
39
+ def run(argv)
40
+ if action = argv.shift
41
+ case action.to_sym
42
+ when :create
43
+ create_project(argv) and return
44
+ when :run
45
+ run_project(argv) and return
46
+ else
47
+ raise "Invalid action #{action}" and return
48
+ end
49
+ end
50
+ puts usage.gsub(/^ /, '')
51
+ end
52
+
53
+ # Print usage for this script
54
+ def usage; <<-USAGE
55
+ Creating projects:
56
+ Create iPhone project:
57
+ titanium create --platform=iphone --name=FooMobile --id=com.foo.mobile
58
+
59
+ Create Android project
60
+ titanium create --platform=android --name=FooMobile \\
61
+ --id=com.foo.mobile --android=/opt/android-sdk
62
+
63
+ Create iPhone and Android project
64
+ titanium create --platform=iphone,android --name=FooMobile \\
65
+ --id=com.foo.mobile --android=/opt/android-sdk
66
+
67
+ Running projects:
68
+ Run iPhone project:
69
+ titanium run --platform=iphone
70
+
71
+ Run iPhone project:
72
+ titanium run --platform=android
73
+
74
+ USAGE
75
+ end
76
+
77
+ # Create project
78
+ # (directory optional)
79
+ #
80
+ # python /Library/Application\ Support/Titanium/mobilesdk/osx/1.4.2/titanium.py create --platform=iphone --name=FooBar --id=com.foobar.baz --directory=.
81
+ # python /Library/Application\ Support/Titanium/mobilesdk/osx/1.4.2/titanium.py create --platform=iphone,android --name=FooBar --id=com.foobar.baz --android=/opt/android-sdk
82
+ def create_project(args)
83
+ bin "create #{args.join(' ')}"
84
+ end
85
+
86
+ # Run project
87
+ #
88
+ # python /Library/Application\ Support/Titanium/mobilesdk/osx/1.4.2/titanium.py run --platform=iphone
89
+ # python /Library/Application\ Support/Titanium/mobilesdk/osx/1.4.2/titanium.py run --platform=android
90
+ def run_project(args)
91
+ bin "run #{args.join(' ')} 2>&1 | tee -a #{log}"
92
+ end
93
+
94
+ private
95
+
96
+ # Runs the titanium.py command
97
+ def bin(command)
98
+ system %{"#{sdk_root}/titanium.py" #{command}}
99
+ end
100
+
101
+ end
102
+ end
@@ -0,0 +1,3 @@
1
+ module TitaniumCLI
2
+ VERSION = Version = '0.0.1'
3
+ end
@@ -0,0 +1,4 @@
1
+ module TitaniumCLI
2
+ autoload :Version, "titanium_cli/version"
3
+ autoload :Base, "titanium_cli/base"
4
+ end
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: titanium_cli
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Joshua Priddle
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-12-29 00:00:00 -05:00
18
+ default_executable:
19
+ dependencies: []
20
+
21
+ description: " Titanium CLI: Create/run Titanium Mobile projects from the command line\n"
22
+ email: jpriddle@nevercraft.net
23
+ executables:
24
+ - titanium
25
+ extensions: []
26
+
27
+ extra_rdoc_files:
28
+ - README.markdown
29
+ files:
30
+ - Rakefile
31
+ - README.markdown
32
+ - bin/titanium
33
+ - lib/titanium_cli/base.rb
34
+ - lib/titanium_cli/version.rb
35
+ - lib/titanium_cli.rb
36
+ has_rdoc: true
37
+ homepage: http://github.com/itspriddle/titanium_cli
38
+ licenses: []
39
+
40
+ post_install_message:
41
+ rdoc_options:
42
+ - --charset=UTF-8
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ segments:
50
+ - 0
51
+ version: "0"
52
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ requirements: []
60
+
61
+ rubyforge_project:
62
+ rubygems_version: 1.3.6
63
+ signing_key:
64
+ specification_version: 3
65
+ summary: "Titanium CLI: Create/run Titanium Mobile projects from the command line"
66
+ test_files: []
67
+