andparcel 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.
Files changed (41) hide show
  1. data/.document +5 -0
  2. data/.gitignore +23 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +7 -0
  5. data/Rakefile +60 -0
  6. data/TODO +92 -0
  7. data/VERSION +1 -0
  8. data/andparcel.gemspec +103 -0
  9. data/bin/parcel +161 -0
  10. data/lib/andparcel/base.rb +22 -0
  11. data/lib/andparcel/catalog.rb +75 -0
  12. data/lib/andparcel/fileref.rb +21 -0
  13. data/lib/andparcel/parcel.rb +533 -0
  14. data/lib/andparcel.rb +3 -0
  15. data/test/ParcelReceiver/AndroidManifest.xml +15 -0
  16. data/test/ParcelReceiver/build.properties +17 -0
  17. data/test/ParcelReceiver/build.xml +67 -0
  18. data/test/ParcelReceiver/default.properties +11 -0
  19. data/test/ParcelReceiver/local.properties +10 -0
  20. data/test/ParcelReceiver/res/layout/main.xml +13 -0
  21. data/test/ParcelReceiver/res/values/strings.xml +4 -0
  22. data/test/ParcelReceiver/src/com/commonsware/android/pr/ParcelReceiver.java +15 -0
  23. data/test/ParcelToPackage/AndroidManifest.xml +15 -0
  24. data/test/ParcelToPackage/build.properties +17 -0
  25. data/test/ParcelToPackage/build.xml +67 -0
  26. data/test/ParcelToPackage/default.properties +11 -0
  27. data/test/ParcelToPackage/docs/README +1 -0
  28. data/test/ParcelToPackage/docs/SomeOtherFile +0 -0
  29. data/test/ParcelToPackage/libs/one.jar +0 -0
  30. data/test/ParcelToPackage/libs/two.jar +0 -0
  31. data/test/ParcelToPackage/local.properties +10 -0
  32. data/test/ParcelToPackage/parcel.json +17 -0
  33. data/test/ParcelToPackage/res/layout/andParcel_test_row.xml +13 -0
  34. data/test/ParcelToPackage/res/values/strings.xml +4 -0
  35. data/test/ParcelToPackage/src/com/commonsware/android/p2pkg/ParcelToPackage.java +15 -0
  36. data/test/ParcelToPackage/tmp/andParcel-test_0.1.0.zip +0 -0
  37. data/test/test_init.rb +42 -0
  38. data/test/test_install.rb +170 -0
  39. data/test/test_package.rb +218 -0
  40. data/test/test_remove.rb +86 -0
  41. metadata +158 -0
@@ -0,0 +1,86 @@
1
+ require 'fileutils'
2
+ require 'rubygems'
3
+ require "protest"
4
+ require "lib/andparcel"
5
+
6
+ Protest.context("The parcel engine") do
7
+ def clone_receiver
8
+ FileUtils.cp_r 'test/ParcelReceiver', 'tmp2'
9
+ end
10
+
11
+ def remove_test(files=[], opts={})
12
+ begin
13
+ opts[:dir]='tmp'
14
+ clone_receiver
15
+ FileUtils.mkdir 'tmp'
16
+ target=AndParcel::Parcel.package('test/ParcelToPackage/parcel.json',
17
+ opts)
18
+ assert target=='tmp/andParcel-test_0.1.0.zip'
19
+ AndParcel::Parcel.install('tmp/andParcel-test_0.1.0.zip',
20
+ :dir=>'tmp2')
21
+ assert File.exists?('tmp2/parcels')
22
+ assert File.exists?('tmp2/parcels/andParcel-test/andParcel-test_0.1.0.zip')
23
+
24
+ files.each do |f|
25
+ assert File.exists?(f)
26
+ end
27
+
28
+ AndParcel::Parcel.remove('andParcel-test', :dir=>'tmp2')
29
+ assert File.exists?('tmp2/parcels')
30
+ assert !File.exists?('tmp2/parcels/andParcel-test/andParcel-test_0.1.0.zip')
31
+ assert !File.exists?('tmp2/parcels/andParcel-test')
32
+
33
+ files.each do |f|
34
+ assert !File.exists?(f)
35
+ end
36
+ ensure
37
+ FileUtils.rm_rf 'tmp'
38
+ FileUtils.rm_rf 'tmp2'
39
+ end
40
+ end
41
+
42
+ context("when removing a parcel from a project") do
43
+ test "should support a parcel with no meaningful content" do
44
+ remove_test
45
+ end
46
+
47
+ test "should support a parcel with JARs" do
48
+ remove_test(['tmp2/libs/one.jar',
49
+ 'tmp2/libs/two.jar'],
50
+ :jars=>'libs')
51
+ end
52
+
53
+ test "should support a parcel with documentation" do
54
+ remove_test([],
55
+ :docs=>'docs')
56
+ end
57
+
58
+ test "should support a parcel with resources" do
59
+ remove_test(['tmp2/res/layout/andParcel_test_row.xml',
60
+ 'tmp2/res/values/strings.xml'],
61
+ :res=>'res')
62
+ end
63
+
64
+ test "should support a parcel with all sorts of stuff" do
65
+ remove_test(['tmp2/libs/one.jar',
66
+ 'tmp2/libs/two.jar',
67
+ 'tmp2/res/layout/andParcel_test_row.xml',
68
+ 'tmp2/res/values/strings.xml'],
69
+ :docs=>'docs',
70
+ :jars=>'libs',
71
+ :res=>'res')
72
+ end
73
+
74
+ test "should fail to remove a parcel that is not installed" do
75
+ begin
76
+ clone_receiver
77
+ AndParcel::Parcel.remove('andParcel-test', :dir=>'tmp2')
78
+ assert false
79
+ rescue
80
+ # Who-hoo!
81
+ ensure
82
+ FileUtils.rm_rf 'tmp2'
83
+ end
84
+ end
85
+ end
86
+ end
metadata ADDED
@@ -0,0 +1,158 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: andparcel
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Mark Murphy
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-05-09 00:00:00 -04:00
13
+ default_executable: parcel
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: protest
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rubyzip
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.4
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: json
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.2.3
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: nokogiri
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.4.1
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rio
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 0.4.2
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: trollop
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "1.15"
74
+ version:
75
+ description: Supplies the parcel command for packaging, installing, and removing parcels from an Android project
76
+ email: mmurphy@commonsware.com
77
+ executables:
78
+ - parcel
79
+ extensions: []
80
+
81
+ extra_rdoc_files:
82
+ - LICENSE
83
+ - README.rdoc
84
+ - TODO
85
+ files:
86
+ - .document
87
+ - .gitignore
88
+ - LICENSE
89
+ - README.rdoc
90
+ - Rakefile
91
+ - VERSION
92
+ - andparcel.gemspec
93
+ - bin/parcel
94
+ - lib/andparcel.rb
95
+ - lib/andparcel/base.rb
96
+ - lib/andparcel/catalog.rb
97
+ - lib/andparcel/fileref.rb
98
+ - lib/andparcel/parcel.rb
99
+ - test/ParcelReceiver/AndroidManifest.xml
100
+ - test/ParcelReceiver/build.properties
101
+ - test/ParcelReceiver/build.xml
102
+ - test/ParcelReceiver/default.properties
103
+ - test/ParcelReceiver/local.properties
104
+ - test/ParcelReceiver/res/layout/main.xml
105
+ - test/ParcelReceiver/res/values/strings.xml
106
+ - test/ParcelReceiver/src/com/commonsware/android/pr/ParcelReceiver.java
107
+ - test/ParcelToPackage/AndroidManifest.xml
108
+ - test/ParcelToPackage/build.properties
109
+ - test/ParcelToPackage/build.xml
110
+ - test/ParcelToPackage/default.properties
111
+ - test/ParcelToPackage/docs/README
112
+ - test/ParcelToPackage/docs/SomeOtherFile
113
+ - test/ParcelToPackage/libs/one.jar
114
+ - test/ParcelToPackage/libs/two.jar
115
+ - test/ParcelToPackage/local.properties
116
+ - test/ParcelToPackage/parcel.json
117
+ - test/ParcelToPackage/res/layout/andParcel_test_row.xml
118
+ - test/ParcelToPackage/res/values/strings.xml
119
+ - test/ParcelToPackage/src/com/commonsware/android/p2pkg/ParcelToPackage.java
120
+ - test/ParcelToPackage/tmp/andParcel-test_0.1.0.zip
121
+ - test/test_init.rb
122
+ - test/test_install.rb
123
+ - test/test_package.rb
124
+ - test/test_remove.rb
125
+ - TODO
126
+ has_rdoc: true
127
+ homepage: http://github.com/commonsguy/andparcel
128
+ licenses: []
129
+
130
+ post_install_message:
131
+ rdoc_options:
132
+ - --charset=UTF-8
133
+ require_paths:
134
+ - lib
135
+ required_ruby_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: "0"
140
+ version:
141
+ required_rubygems_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: "0"
146
+ version:
147
+ requirements: []
148
+
149
+ rubyforge_project:
150
+ rubygems_version: 1.3.5
151
+ signing_key:
152
+ specification_version: 3
153
+ summary: Support for Android Parcel packaging system
154
+ test_files:
155
+ - test/test_remove.rb
156
+ - test/test_package.rb
157
+ - test/test_init.rb
158
+ - test/test_install.rb