protoform 0.1.0
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/Gemfile +7 -0
- data/Gemfile.lock +24 -0
- data/LICENSE.txt +20 -0
- data/README.md +51 -0
- data/Rakefile +51 -0
- data/VERSION +1 -0
- data/bin/protoform +18 -0
- data/lib/generators/android/USAGE +7 -0
- data/lib/generators/android/android_generator.rb +83 -0
- data/lib/generators/android/templates/AndroidManifest.xml +15 -0
- data/lib/generators/android/templates/README.md +8 -0
- data/lib/generators/android/templates/application.mirah +14 -0
- data/lib/generators/android/templates/build.properties +17 -0
- data/lib/generators/android/templates/build.xml +77 -0
- data/lib/generators/android/templates/default.properties +12 -0
- data/lib/generators/android/templates/local.properties +10 -0
- data/lib/generators/android/templates/res/drawable-hdpi/icon.png +0 -0
- data/lib/generators/android/templates/res/drawable-ldpi/icon.png +0 -0
- data/lib/generators/android/templates/res/drawable-mdpi/icon.png +0 -0
- data/lib/generators/android/templates/res/layout/main.xml +13 -0
- data/lib/generators/android/templates/res/values/strings.xml +4 -0
- data/lib/protoform.rb +3 -0
- data/test/helper.rb +18 -0
- data/test/protoform.rb +7 -0
- metadata +166 -0
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
activesupport (2.3.10)
|
5
|
+
git (1.2.5)
|
6
|
+
jeweler (1.5.1)
|
7
|
+
bundler (~> 1.0.0)
|
8
|
+
git (>= 1.2.5)
|
9
|
+
rake
|
10
|
+
rake (0.8.7)
|
11
|
+
rcov (0.9.9-java)
|
12
|
+
rubigen (1.5.5)
|
13
|
+
activesupport (~> 2.3.5)
|
14
|
+
shoulda (2.11.3)
|
15
|
+
|
16
|
+
PLATFORMS
|
17
|
+
java
|
18
|
+
|
19
|
+
DEPENDENCIES
|
20
|
+
bundler (~> 1.0.0)
|
21
|
+
jeweler (~> 1.5.1)
|
22
|
+
rcov
|
23
|
+
rubigen (> 1.5.2)
|
24
|
+
shoulda
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2010 Nick Plante
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# protoform
|
2
|
+
|
3
|
+
A protoform is a building block, a start point for building droidy things.
|
4
|
+
This little gem generates an application skeleton for a Mirah Android
|
5
|
+
application. Because Android is exciting, but Java is still kinda painful.
|
6
|
+
|
7
|
+
## Installation Prereqs
|
8
|
+
|
9
|
+
If you don't already have the Android SDK, download it from
|
10
|
+
http://developer.android.com/sdk/index.html and follow the quick-start
|
11
|
+
instructions. You'll need to create an Android Virtual Device (AVD) using the
|
12
|
+
Android Manager (`android`) found in the SDK.
|
13
|
+
|
14
|
+
You'll also want to have Mirah installed of course. You can get it from
|
15
|
+
GitHub: https://github.com/mirah/mirah
|
16
|
+
|
17
|
+
Make sure that mirah and mirahc are in your PATH as well as the Android SDK
|
18
|
+
tools directory.
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
Install the gem and run the generator, specifying the package name you want to
|
23
|
+
use and the Android SDK location:
|
24
|
+
|
25
|
+
gem install protoform
|
26
|
+
protoform -S ~/android/sdk -T "Hello Android" -P org.zerosum.android HelloWorld
|
27
|
+
|
28
|
+
This should generate an app skeleton in the directory `HelloWorld`. Change to
|
29
|
+
that directory and run the ant debug task:
|
30
|
+
|
31
|
+
ant debug
|
32
|
+
|
33
|
+
Assuming that your prerequisites are all set and the task succeeds, you should
|
34
|
+
now have a .apk file in your bin/ directory. Fire up the Android AVD Manager
|
35
|
+
(`android`) to launch the emulator, and install the APK using the adb tool:
|
36
|
+
|
37
|
+
adb install bin/HelloWorld-debug.apk
|
38
|
+
|
39
|
+
You should now be able to navigate to the applications list in the emulator
|
40
|
+
and launch your application.
|
41
|
+
|
42
|
+
## Thanks
|
43
|
+
|
44
|
+
This work is based on / inspired by Technomancy's Android/Mirah experiments.
|
45
|
+
|
46
|
+
If you'd like to help out, contributions are definitely welcome. Mirah is
|
47
|
+
very slick, and with a little work we can make it a great alternative to
|
48
|
+
Java for Android development. Transform and roll out!
|
49
|
+
|
50
|
+
Copyright (c) 2010 Nick Plante. See LICENSE.txt for further details.
|
51
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'rake'
|
11
|
+
|
12
|
+
require 'jeweler'
|
13
|
+
Jeweler::Tasks.new do |gem|
|
14
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
|
+
gem.name = "protoform"
|
16
|
+
gem.homepage = "http://github.com/zapnap/protoform"
|
17
|
+
gem.license = "MIT"
|
18
|
+
gem.summary = %Q{Generates a basic skeleton for a Mirah Android application}
|
19
|
+
gem.description = gem.summary
|
20
|
+
gem.executables = ["protoform"]
|
21
|
+
gem.email = "nap@zerosum.org"
|
22
|
+
gem.authors = ["Nick Plante"]
|
23
|
+
gem.add_runtime_dependency 'rubigen', '>= 1.5.5'
|
24
|
+
end
|
25
|
+
Jeweler::RubygemsDotOrgTasks.new
|
26
|
+
|
27
|
+
require 'rake/testtask'
|
28
|
+
Rake::TestTask.new(:test) do |test|
|
29
|
+
test.libs << 'lib' << 'test'
|
30
|
+
test.pattern = 'test/**/test_*.rb'
|
31
|
+
test.verbose = true
|
32
|
+
end
|
33
|
+
|
34
|
+
require 'rcov/rcovtask'
|
35
|
+
Rcov::RcovTask.new do |test|
|
36
|
+
test.libs << 'test'
|
37
|
+
test.pattern = 'test/**/test_*.rb'
|
38
|
+
test.verbose = true
|
39
|
+
end
|
40
|
+
|
41
|
+
task :default => :test
|
42
|
+
|
43
|
+
require 'rake/rdoctask'
|
44
|
+
Rake::RDocTask.new do |rdoc|
|
45
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
46
|
+
|
47
|
+
rdoc.rdoc_dir = 'rdoc'
|
48
|
+
rdoc.title = "protoform #{version}"
|
49
|
+
rdoc.rdoc_files.include('README*')
|
50
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
51
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
data/bin/protoform
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rubigen'
|
5
|
+
|
6
|
+
if %w(-v --version).include? ARGV.first
|
7
|
+
require File.join(File.dirname(__FILE__), '..', 'lib', 'protoform')
|
8
|
+
puts "#{File.basename($0)} #{Miradrogen::VERSION}"
|
9
|
+
exit(0)
|
10
|
+
end
|
11
|
+
|
12
|
+
require 'rubigen/scripts/generate'
|
13
|
+
|
14
|
+
RubiGen::Base.prepend_sources(*[
|
15
|
+
RubiGen::PathSource.new(:android, File.join(File.dirname(__FILE__), "..", "lib", "generators"))
|
16
|
+
])
|
17
|
+
|
18
|
+
RubiGen::Scripts::Generate.new.run(ARGV, :generator => "android")
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require 'rbconfig'
|
2
|
+
|
3
|
+
class AndroidGenerator < RubiGen::Base
|
4
|
+
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
5
|
+
Config::CONFIG['ruby_install_name'])
|
6
|
+
DEFAULT_PACKAGE = "org.zerosum.android"
|
7
|
+
|
8
|
+
attr_accessor :app_name, :package, :title, :author, :sdk_path
|
9
|
+
|
10
|
+
default_options :author => "Your Name",
|
11
|
+
:sdk_path => "~/android/sdk"
|
12
|
+
|
13
|
+
def initialize(runtime_args, runtime_options = {})
|
14
|
+
super
|
15
|
+
usage if args.empty?
|
16
|
+
|
17
|
+
@destination_root = args.shift
|
18
|
+
@app_name = File.basename(File.expand_path(@destination_root)).underscore.camelize
|
19
|
+
|
20
|
+
extract_options
|
21
|
+
end
|
22
|
+
|
23
|
+
def manifest
|
24
|
+
record do |m|
|
25
|
+
m.directory ""
|
26
|
+
BASEDIRS.each { |dir| m.directory dir }
|
27
|
+
|
28
|
+
m.directory "src/#{package.gsub('.', '/')}"
|
29
|
+
m.template "application.mirah", "src/#{package.gsub('.', '/')}/#{app_name}.mirah"
|
30
|
+
|
31
|
+
m.template "AndroidManifest.xml", "AndroidManifest.xml"
|
32
|
+
m.template "build.xml", "build.xml"
|
33
|
+
|
34
|
+
m.template "README.md", "README.md"
|
35
|
+
|
36
|
+
m.template "build.properties", "build.properties"
|
37
|
+
m.template "default.properties", "default.properties"
|
38
|
+
m.template "local.properties", "local.properties"
|
39
|
+
|
40
|
+
m.directory "res/layout"
|
41
|
+
m.directory "res/values"
|
42
|
+
m.template "res/layout/main.xml", "res/layout/main.xml"
|
43
|
+
m.template "res/values/strings.xml", "res/values/strings.xml"
|
44
|
+
|
45
|
+
m.directory "res/drawable-hdpi"
|
46
|
+
m.template "res/drawable-hdpi/icon.png", "res/drawable-hdpi/icon.png"
|
47
|
+
m.directory "res/drawable-ldpi"
|
48
|
+
m.template "res/drawable-ldpi/icon.png", "res/drawable-ldpi/icon.png"
|
49
|
+
m.directory "res/drawable-mdpi"
|
50
|
+
m.template "res/drawable-mdpi/icon.png", "res/drawable-mdpi/icon.png"
|
51
|
+
|
52
|
+
# TODO: add tests, yo
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
protected
|
57
|
+
|
58
|
+
def banner
|
59
|
+
"Usage: #{$0} [options] app-name"
|
60
|
+
end
|
61
|
+
|
62
|
+
def extract_options
|
63
|
+
self.package = (options[:package] ||= DEFAULT_PACKAGE)
|
64
|
+
self.title = (options[:title] ||= app_name.humanize)
|
65
|
+
self.sdk_path = (options[:sdk_path] ||= sdk_path)
|
66
|
+
self.author = (options[:author] ||= author)
|
67
|
+
end
|
68
|
+
|
69
|
+
def add_options!(opts)
|
70
|
+
opts.separator ''
|
71
|
+
opts.separator 'Options:'
|
72
|
+
opts.on("-P", "--package org.zerosum.android", String,
|
73
|
+
"Package name for the application you're creating.",
|
74
|
+
"Default: org.zerosum.android") { |opt| options[:package] = opt }
|
75
|
+
opts.on("-S", "--sdkpath /path/to/android/sdk", String,
|
76
|
+
"Path to the Android SDK installed on your system.",
|
77
|
+
"Default: ~/android/sdk") { |opt| options[:sdk_path] = opt }
|
78
|
+
opts.on("-T", "--title \"Hello World\"", String,
|
79
|
+
"Title (display name) for the application.") { |opt| options[:title] = opt }
|
80
|
+
end
|
81
|
+
|
82
|
+
BASEDIRS = %w(res src)
|
83
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
package="<%= package %>"
|
4
|
+
android:versionCode="1"
|
5
|
+
android:versionName="1.0">
|
6
|
+
<application android:label="@string/title" android:icon="@drawable/icon">
|
7
|
+
<activity android:name="<%= app_name %>"
|
8
|
+
android:label="@string/title">
|
9
|
+
<intent-filter>
|
10
|
+
<action android:name="android.intent.action.MAIN" />
|
11
|
+
<category android:name="android.intent.category.LAUNCHER" />
|
12
|
+
</intent-filter>
|
13
|
+
</activity>
|
14
|
+
</application>
|
15
|
+
</manifest>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import "android.app.Activity"
|
2
|
+
import "android.os.Bundle"
|
3
|
+
import "android.widget.TextView"
|
4
|
+
import "android.content.Context"
|
5
|
+
|
6
|
+
class <%= app_name %> < Activity
|
7
|
+
def onCreate(savedInstanceState:Bundle)
|
8
|
+
super(savedInstanceState)
|
9
|
+
# cast to Context should be unnecessary
|
10
|
+
tv = TextView.new(Context(self))
|
11
|
+
tv.setText("Hello World!")
|
12
|
+
setContentView(tv)
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file is used to override default values used by the Ant build system.
|
2
|
+
#
|
3
|
+
# This file must be checked in Version Control Systems, as it is
|
4
|
+
# integral to the build system of your project.
|
5
|
+
|
6
|
+
# This file is only used by the Ant script.
|
7
|
+
|
8
|
+
# You can use this to override default values such as
|
9
|
+
# 'source.dir' for the location of your java source folder and
|
10
|
+
# 'out.dir' for the location of your output folder.
|
11
|
+
|
12
|
+
# You can also use it define how the release builds are signed by declaring
|
13
|
+
# the following properties:
|
14
|
+
# 'key.store' for the location of your keystore and
|
15
|
+
# 'key.alias' for the name of the key to use.
|
16
|
+
# The password will be asked during the build when you use the 'release' target.
|
17
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project name="<%= app_name %>" default="help">
|
3
|
+
|
4
|
+
<!-- The local.properties file is created and updated by the 'android' tool.
|
5
|
+
It contains the path to the SDK. It should *NOT* be checked in in Version
|
6
|
+
Control Systems. -->
|
7
|
+
<property file="local.properties" />
|
8
|
+
|
9
|
+
<!-- The build.properties file can be created by you and is never touched
|
10
|
+
by the 'android' tool. This is the place to change some of the default property values
|
11
|
+
used by the Ant rules.
|
12
|
+
Here are some properties you may want to change/update:
|
13
|
+
|
14
|
+
application.package
|
15
|
+
the name of your application package as defined in the manifest. Used by the
|
16
|
+
'uninstall' rule.
|
17
|
+
source.dir
|
18
|
+
the name of the source directory. Default is 'src'.
|
19
|
+
out.dir
|
20
|
+
the name of the output directory. Default is 'bin'.
|
21
|
+
|
22
|
+
Properties related to the SDK location or the project target should be updated
|
23
|
+
using the 'android' tool with the 'update' action.
|
24
|
+
|
25
|
+
This file is an integral part of the build system for your application and
|
26
|
+
should be checked in in Version Control Systems.
|
27
|
+
|
28
|
+
-->
|
29
|
+
<property file="build.properties" />
|
30
|
+
|
31
|
+
<!-- The default.properties file is created and updated by the 'android' tool, as well
|
32
|
+
as ADT.
|
33
|
+
This file is an integral part of the build system for your application and
|
34
|
+
should be checked in in Version Control Systems. -->
|
35
|
+
<property file="default.properties" />
|
36
|
+
|
37
|
+
<!-- Custom Android task to deal with the project target, and import the proper rules.
|
38
|
+
This requires ant 1.6.0 or above. -->
|
39
|
+
<path id="android.antlibs">
|
40
|
+
<pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
|
41
|
+
<pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
|
42
|
+
<pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
|
43
|
+
<pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
|
44
|
+
<pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
|
45
|
+
</path>
|
46
|
+
|
47
|
+
<taskdef name="setup"
|
48
|
+
classname="com.android.ant.SetupTask"
|
49
|
+
classpathref="android.antlibs" />
|
50
|
+
|
51
|
+
<!-- Execute the Android Setup task that will setup some properties specific to the target,
|
52
|
+
and import the build rules files.
|
53
|
+
|
54
|
+
The rules file is imported from
|
55
|
+
<SDK>/platforms/<target_platform>/templates/android_rules.xml
|
56
|
+
|
57
|
+
To customize some build steps for your project:
|
58
|
+
- copy the content of the main node <project> from android_rules.xml
|
59
|
+
- paste it in this build.xml below the <setup /> task.
|
60
|
+
- disable the import by changing the setup task below to <setup import="false" />
|
61
|
+
|
62
|
+
This will ensure that the properties are setup correctly but that your customized
|
63
|
+
build steps are used.
|
64
|
+
-->
|
65
|
+
<setup />
|
66
|
+
|
67
|
+
<target name="compile" depends="-resource-src, -aidl"
|
68
|
+
description="Compiles project's .mirah files into .class files">
|
69
|
+
<exec executable="mirahc" dir="src">
|
70
|
+
<env key="CLASSPATH" file="${android.jar}" />
|
71
|
+
<arg value="-d" />
|
72
|
+
<arg value="../bin/classes/" />
|
73
|
+
<arg value="." />
|
74
|
+
</exec>
|
75
|
+
</target>
|
76
|
+
|
77
|
+
</project>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# This file is automatically generated by Android Tools.
|
2
|
+
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
3
|
+
#
|
4
|
+
# This file must be checked in Version Control Systems.
|
5
|
+
#
|
6
|
+
# To customize properties used by the Ant build system use,
|
7
|
+
# "build.properties", and override values to adapt the script to your
|
8
|
+
# project structure.
|
9
|
+
|
10
|
+
# Project target.
|
11
|
+
target=android-8
|
12
|
+
target-version=android-2.2
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# This file is automatically generated by Android Tools.
|
2
|
+
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
3
|
+
#
|
4
|
+
# This file must *NOT* be checked in Version Control Systems,
|
5
|
+
# as it contains information specific to your local configuration.
|
6
|
+
|
7
|
+
# location of the SDK. This is only used by Ant
|
8
|
+
# For customization when using a Version Control System, please read the
|
9
|
+
# header note.
|
10
|
+
sdk.dir=<%= sdk_path %>
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
android:orientation="vertical"
|
4
|
+
android:layout_width="fill_parent"
|
5
|
+
android:layout_height="fill_parent"
|
6
|
+
>
|
7
|
+
<TextView
|
8
|
+
android:layout_width="fill_parent"
|
9
|
+
android:layout_height="wrap_content"
|
10
|
+
android:text="Hello World!"
|
11
|
+
/>
|
12
|
+
</LinearLayout>
|
13
|
+
|
data/lib/protoform.rb
ADDED
data/test/helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'protoform'
|
16
|
+
|
17
|
+
class Test::Unit::TestCase
|
18
|
+
end
|
data/test/protoform.rb
ADDED
metadata
ADDED
@@ -0,0 +1,166 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: protoform
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Nick Plante
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-11-28 00:00:00 -05:00
|
18
|
+
default_executable: protoform
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rubigen
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
segments:
|
27
|
+
- 1
|
28
|
+
- 5
|
29
|
+
- 2
|
30
|
+
version: 1.5.2
|
31
|
+
requirement: *id001
|
32
|
+
prerelease: false
|
33
|
+
type: :runtime
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: shoulda
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
segments:
|
41
|
+
- 0
|
42
|
+
version: "0"
|
43
|
+
requirement: *id002
|
44
|
+
prerelease: false
|
45
|
+
type: :runtime
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: bundler
|
48
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ~>
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
segments:
|
53
|
+
- 1
|
54
|
+
- 0
|
55
|
+
- 0
|
56
|
+
version: 1.0.0
|
57
|
+
requirement: *id003
|
58
|
+
prerelease: false
|
59
|
+
type: :runtime
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: jeweler
|
62
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ~>
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
segments:
|
67
|
+
- 1
|
68
|
+
- 5
|
69
|
+
- 1
|
70
|
+
version: 1.5.1
|
71
|
+
requirement: *id004
|
72
|
+
prerelease: false
|
73
|
+
type: :runtime
|
74
|
+
- !ruby/object:Gem::Dependency
|
75
|
+
name: rcov
|
76
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
segments:
|
81
|
+
- 0
|
82
|
+
version: "0"
|
83
|
+
requirement: *id005
|
84
|
+
prerelease: false
|
85
|
+
type: :runtime
|
86
|
+
- !ruby/object:Gem::Dependency
|
87
|
+
name: rubigen
|
88
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
segments:
|
93
|
+
- 1
|
94
|
+
- 5
|
95
|
+
- 5
|
96
|
+
version: 1.5.5
|
97
|
+
requirement: *id006
|
98
|
+
prerelease: false
|
99
|
+
type: :runtime
|
100
|
+
description: Generates a basic skeleton for a Mirah Android application
|
101
|
+
email: nap@zerosum.org
|
102
|
+
executables:
|
103
|
+
- protoform
|
104
|
+
extensions: []
|
105
|
+
|
106
|
+
extra_rdoc_files:
|
107
|
+
- LICENSE.txt
|
108
|
+
- README.md
|
109
|
+
files:
|
110
|
+
- Gemfile
|
111
|
+
- Gemfile.lock
|
112
|
+
- LICENSE.txt
|
113
|
+
- README.md
|
114
|
+
- Rakefile
|
115
|
+
- VERSION
|
116
|
+
- bin/protoform
|
117
|
+
- lib/generators/android/USAGE
|
118
|
+
- lib/generators/android/android_generator.rb
|
119
|
+
- lib/generators/android/templates/AndroidManifest.xml
|
120
|
+
- lib/generators/android/templates/README.md
|
121
|
+
- lib/generators/android/templates/application.mirah
|
122
|
+
- lib/generators/android/templates/build.properties
|
123
|
+
- lib/generators/android/templates/build.xml
|
124
|
+
- lib/generators/android/templates/default.properties
|
125
|
+
- lib/generators/android/templates/local.properties
|
126
|
+
- lib/generators/android/templates/res/drawable-hdpi/icon.png
|
127
|
+
- lib/generators/android/templates/res/drawable-ldpi/icon.png
|
128
|
+
- lib/generators/android/templates/res/drawable-mdpi/icon.png
|
129
|
+
- lib/generators/android/templates/res/layout/main.xml
|
130
|
+
- lib/generators/android/templates/res/values/strings.xml
|
131
|
+
- lib/protoform.rb
|
132
|
+
- test/helper.rb
|
133
|
+
- test/protoform.rb
|
134
|
+
has_rdoc: true
|
135
|
+
homepage: http://github.com/zapnap/protoform
|
136
|
+
licenses:
|
137
|
+
- MIT
|
138
|
+
post_install_message:
|
139
|
+
rdoc_options: []
|
140
|
+
|
141
|
+
require_paths:
|
142
|
+
- lib
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
segments:
|
148
|
+
- 0
|
149
|
+
version: "0"
|
150
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
segments:
|
155
|
+
- 0
|
156
|
+
version: "0"
|
157
|
+
requirements: []
|
158
|
+
|
159
|
+
rubyforge_project:
|
160
|
+
rubygems_version: 1.3.6
|
161
|
+
signing_key:
|
162
|
+
specification_version: 3
|
163
|
+
summary: Generates a basic skeleton for a Mirah Android application
|
164
|
+
test_files:
|
165
|
+
- test/helper.rb
|
166
|
+
- test/protoform.rb
|