motion-sparkle 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NmE2ODFmNmQxYjdmMTgwZjQ5M2JhNzI5NTFlNTE5MGU0MGRkNDI2Yw==
4
+ MmIwNjFhMTJjNmNlNTYyZGQwNzNhMjNmZmNiNjA1MTM1Y2EzNzI1Mw==
5
5
  data.tar.gz: !binary |-
6
- NDNiMzA3MWVlNTEzMDJlMTA3NTg1MWIwZjNmYjcxMjYwNTAxNWFlZg==
6
+ YzVjY2U3YmNjNzNiMjkyOTJkMDU3ZDEzNjRlN2QxNTMxMTkyZjBhZg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OGQ5YjMyZDBhMDUwN2I3NjIxZjZmNGI3NzVhZTllNGIzZmIyMGZlMjgxNGYx
10
- NDE2ZmFjYTA3OGQxMTI0NmU4YzRhOTVhM2FlYzJkMzgxNmIxZWZkNTIzMTlm
11
- NjA3NGZlMDlhOGRjOTgxMGIxMjRhOTY4OGZjNGZlYWUyYjdhODY=
9
+ MTFhMTIwMzkwMmIxODI2MzAzMTAyZDUzNTRkMDU5MWFhM2ZkNmE1YjE4OTgx
10
+ YTc1NjRhZGFiMjdkOWU3MzYwYWM3ZWRhM2I2NGEwNWI3NjI0YTJkZDQwMWY5
11
+ ZTRjN2JhYjI3Njc4NzZkNDA2NzE3MTgwZDRlZTRkMjM1OTRkYmE=
12
12
  data.tar.gz: !binary |-
13
- YTgxZWI5MjQ5NGQzOWM0YjEyZDg5ZTQyNTQzYmY4MTQxMTdmNGVlODk0ZGUz
14
- MzEyNTZmZWE3MjdjNmZhYzhlYzJiMzI1NTE4N2UzZGE1YTkyZjYyNTE4YzYw
15
- OGQ4ZmVlMjNjNWJmMjhiNzA1NDkwYTdjYmQ1ZmM2ZTM3ODk4ZGU=
13
+ M2MxYTNiYWQ5ZmFhNjA1ODI0OThkZWI4MGZmN2JlNDljNzY3ZmIyODc0ZGM5
14
+ NTY0NTZlNzhmOWE5ZjBhYzRjMWFjMDNkNzhkOWM0M2Y3MDI1MjlmOGI0NWI0
15
+ ZjcxYzM5MTE1M2E2NTJhNWMwOTlkMTM0MjBkYWM0Nzc1MzhmMzI=
data/README.md CHANGED
@@ -1,14 +1,38 @@
1
- # Using motion-sparkle to add Sparkle to your Rubymotion project
1
+ # motion-sparkle
2
+
3
+ Easily package and release updates of your RubyMotion app with Sparkle.
2
4
 
3
5
  *NB: Sparkle only works for OS X projects*
4
6
 
5
- ## Overview
7
+ **Table of Contents**
8
+
9
+ - [Overview](#overview)
10
+ - [Installation](#installation)
11
+ - [Settings configuration](#settings-configuration)
12
+ - [Certificate configuration](#certificate-configuration)
13
+ - [Generate new certificates](#generate-new-certificates)
14
+ - [Use your existing certificates](#use-your-existing-certificates)
15
+ - [Notes about the public certificate](#notes-about-the-public-certificate)
16
+ - [Notes about the private certificate](#notes-about-the-private-certificate)
17
+ - [Warning regarding your private certificate](#warning-regarding-your-private-certificate)
18
+ - [Run rake sparkle:setup at any moment to make sure your config is OK](#run-rake-sparklesetup-at-any-moment-to-make-sure-your-config-is-ok)
19
+ - [Adding "Check for updates..." to the menu](#adding-check-for-updates-to-the-menu)
20
+ - [First publication](#first-publication)
21
+ - [Releasing updates](#releasing-updates)
22
+ - [1. Bump the version](#1-bump-the-version)
23
+ - [2. Build your app for release](#2-build-your-app-for-release)
24
+ - [3. Update your Release Notes](#3-update-your-release-notes)
25
+ - [4. Package the release](#4-package-the-release)
26
+ - [5. Upload](#5-upload)
27
+ - [Help, Limitations, Troubleshooting and Testing](#help-limitations-troubleshooting-and-testing)
28
+ - [Contributing](#contributing)
29
+ - [Credits](#credits)
6
30
 
7
- [Sparkle](http://sparkle.andymatuschak.org/) is a free auto-updater library for Cocoa apps. It powers countless Mac application's "Check for updates" feature, as it takes care of all the process automatically, is very easy to integrate and is secure.
31
+ ## Overview
8
32
 
9
- In a nutshell, when users click "Check for updates..." in an app, Sparkle checks for updates against an XML file that you post somewhere on the web. That XML file contains information about your new release, such as the version number, the URL of the package and its digital signature. If there's a newer version available than the one that is currently running, it'll ask for permission to retrieve the package and replace the current app with the new release.
33
+ [Sparkle](http://sparkle.andymatuschak.org/) powers countless Mac applications' "Check for updates" feature. In a nutshell, when users click "Check for updates..." in an app, Sparkle checks for updates against an XML file that you post somewhere on the web. That XML file contains information about your new release, such as the version number, the URL of the package and its digital signature. If there's a newer version available than the one that is currently running, it'll ask for permission to retrieve the package and replace the current app with the new release.
10
34
 
11
- While it's easy to use Sparkle with RubyMotion without motion-sparkle, using it makes it even easier. The gem takes care of the Sparkle framework integration, simplifies its configuration and then automates the preparation of a release, creating the ZIP file, XML and release notes for you.
35
+ While it's easy to use Sparkle with RubyMotion without motion-sparkle, it's even easier if you use it. The gem takes care of the Sparkle framework integration, simplifies its configuration and then automates the preparation of a release, creating a ZIP file, XML and release notes for you.
12
36
 
13
37
  After building your app for release and running `rake sparkle:package`, all you need to do is upload 3 files to an URL you specified in the Rakefile and your users will be able to get the new release.
14
38
 
@@ -16,9 +40,11 @@ After building your app for release and running `rake sparkle:package`, all you
16
40
 
17
41
  In your project's Gemfile, add:
18
42
 
19
- `gem motion-sparkle`
43
+ gem 'motion-sparkle'
20
44
 
21
- and then run `$ bundle install`
45
+ and then run
46
+
47
+ $ bundle install
22
48
 
23
49
  ## Settings configuration
24
50
 
@@ -52,11 +78,11 @@ If everything is OK, you should be informed that it's time to generate or config
52
78
 
53
79
  ## Certificate configuration
54
80
 
55
- For security, Sparkle allows you to sign your releases with a private certificate before distribution. In a few words: when the user tries to install an update, Sparkle will check the package using the signature provided in the XML file and the public certificate contained in the running application.
81
+ For security, Sparkle allows you to sign your releases with a private certificate before distribution: when the user tries to install an update, Sparkle will check the package using the signature provided in the XML file and the public certificate contained in the running application.
56
82
 
57
- motion-sparkle makes it very easy to handle this. In fact, after the first setup, it becomes completely transparent to you and is all handled when you run `rake sparkle:package`.
83
+ motion-sparkle makes it very easy to handle this. In fact, after the first setup, it becomes completely transparent to you as all is handled when you run `rake sparkle:package`.
58
84
 
59
- You have two options: have Sparkle generate the certificates for you, or follow the instructions.
85
+ You have two options: have Sparkle generate the certificates for you, or follow the instructions to use your existing ones.
60
86
 
61
87
  ### Generate new certificates
62
88
 
@@ -85,10 +111,10 @@ The private certificate cannot be renamed nor placed elsewhere. If you have an e
85
111
  Be careful when handling the private certificate: you should never lose it nor share it. If you do, you'd lose the ability to sign your packages and users wouldn't be able to update your app. If someone takes it, they could sign the packages in your name and have your users install who knows what.
86
112
 
87
113
  Tips:
88
- * add it go your .gitignore or equivalent
114
+ * add it go your `.gitignore` or equivalent
89
115
  * make a backup of it
90
116
 
91
- ### Run `rake:setup` at any moment to make sure your config is OK
117
+ ### Run `rake sparkle:setup` at any moment to make sure your config is OK
92
118
 
93
119
  When all is good, move forward. If you need help, you can always open an issue on Github.
94
120
 
@@ -96,11 +122,11 @@ When all is good, move forward. If you need help, you can always open an issue o
96
122
 
97
123
  Sparkle makes it incredibly easy to add a "Check for updates" feature to your app.
98
124
 
99
- The `SUUpdater` class has a shared updater instance that you can use as a `target` for the different actions Sparkle provides. To launch the typical Sparkle flow, you need only to call the `checkForUpdates:` action.
125
+ Sparkle's `SUUpdater` class has a shared updater instance that can serve as a `target` for Sparkle actions. To launch the typical Sparkle flow, call the `checkForUpdates:` action.
100
126
 
101
- So, running `SUUpdater.new.checkForUpdates` will launch the "Check for updates" flow.
127
+ So, to launch the "Check for updates" flow, you can call `SUUpdater.new.checkForUpdates`.
102
128
 
103
- Here's an example based on the Rubymotion default OS X app example, "Hello".
129
+ Here's an example based on the RubyMotion default OS X app example, "Hello". You can check out Sparkle's documentation for more details and further ways to customize the experience.
104
130
 
105
131
  This will add the classic "Check for updates..." entry on the menu; when the user clicks it, the nice default of experience of Sparkle will begin.
106
132
 
@@ -110,19 +136,19 @@ In `menu.rb`, right below the line that adds the "Preferences" item:
110
136
  sparkle.setTarget SUUpdater.new
111
137
  sparkle.setAction 'checkForUpdates:'
112
138
 
113
- Once you build your application, you should be able to see a "Check for updates..." item in the Application menu. It should work but would still produce an error at this point. Keep going to make it all work.
114
-
115
- Check out Sparkle's documentation for more details and further ways to customize the experience.
139
+ Once you build your application, you should be able to see a "Check for updates..." item in the Application menu. Using it will work but will quickly produce an error. Keep going to make it work.
116
140
 
117
141
  ## First publication
118
142
 
119
- Before you build, make sure you've set your `:base_url` to a destination where you can upload/download your files. Note that packaging with motion-sparkle only works with the `:release` target at the moment, so make sure your build with be compatible with `rake build:release`.
143
+ Before you build, make sure you've set your `:base_url` to a destination where you can upload/download your files.
144
+
145
+ Note that packaging with motion-sparkle only works with the `:release` target at the moment, so make sure your build with be compatible with `rake build:release`.
120
146
 
121
- Run the setup command
147
+ Run the setup command again to make sure it's all good:
122
148
 
123
149
  $ rake sparkle:setup
124
150
 
125
- If you're ready to go, you should probably add
151
+ If you're ready to go, run the `sparkle:package` task:
126
152
 
127
153
  $ rake sparkle:package
128
154
 
@@ -146,7 +172,7 @@ To do so, follow the same steps every time:
146
172
 
147
173
  ### 2. Build your app for release
148
174
 
149
- `$ rake build:release`
175
+ $ rake build:release
150
176
 
151
177
  ### 3. Update your Release Notes
152
178
 
@@ -185,22 +211,31 @@ Test coverage currently only extends to configuration and certificate generation
185
211
 
186
212
  ## Contributing
187
213
 
214
+ Please do help with comments, issues and pull requests!
215
+
216
+ I've made a list of features that I look forward to having. You can attack those or suprise me :)
217
+
188
218
  Wanted features:
189
219
 
190
- - [ ] Copy the Sparkle.framework in a more sensible way, ideally through Cocoapods (it's currently copied multiple times because rubygems won't handle symlinks)
191
- - [ ] Configurable build targets (only :release supported currently)
192
- - [ ] Have more than ZIP as a packaging option, with DMG a priority (see choctop gem)
193
- - [ ] Automatic upload to S3 and via rsync/scp/sftp/ftp (see choctop gem)
194
- - [ ] Textile / Markdown for release note templates
220
+ - [ ] [Issue #1](https://github.com/webcracy/motion-sparkle/issues/1) - Copy the Sparkle.framework in a more sensible way, ideally through Cocoapods (it's currently copied multiple times because rubygems won't handle symlinks)
221
+ - [ ] [Issue #2](https://github.com/webcracy/motion-sparkle/issues/2) - Configurable build targets (only :release supported currently)
222
+ - [ ] [Issue #3](https://github.com/webcracy/motion-sparkle/issues/3) - Have more than ZIP as a packaging option, with DMG a priority (see choctop gem)
223
+ - [ ] [Issue #4](https://github.com/webcracy/motion-sparkle/issues/4) - Automatic upload to S3 and via rsync/scp/sftp/ftp (see choctop gem)
224
+ - [ ] Textile / Markdown for release note templates if possible
195
225
  - [ ] Ruby 1.8.7, Ruby 1.9.2, Ruby 2.0 compatibility
196
226
  - [ ] Better test coverage
197
227
 
228
+ Thanks!
229
+
198
230
  ## Credits
199
231
 
200
232
  Author: Alexandre L. Solleiro
201
233
 
202
- * Follow me on Twitter - http://twitter.com/als,
203
- * Fork my code on Github - http://github.com/webcracy,
204
- * More info on my website - http://webcracy.org
234
+ * Twitter - http://twitter.com/als
235
+ * Github - http://github.com/webcracy
236
+ * Website - http://webcracy.org
237
+
238
+ Thanks to the authors and contributors of [HipByte/motion-cocoapods](https://github.com/HipByte/motion-cocoapods) and [drnic/choctop](https://github.com/drnic/choctop) gems, as I have looked for inspiration in their code.
239
+
240
+ And a low bow to [andymatuschak/Sparkle](https://github.com/andymatuschak/Sparkle)!
205
241
 
206
- Thanks: Authors and contributors of HipByte/motion-cocoapods, drnic/choctop gems and of course andymatuschak/Sparkle. Their code has made this easier.
@@ -24,7 +24,7 @@ module Motion::Project
24
24
  App.fail "Release already exists at ./#{sparkle_release_path}/#{zip_file} (remove it manually with `rake sparkle:clean`)"
25
25
  end
26
26
  FileUtils.cd(app_release_path) do
27
- `zip -r #{zip_file} "#{app_file}"`
27
+ `zip -r "#{zip_file}" "#{app_file}"`
28
28
  end
29
29
  FileUtils.mv "#{app_release_path}/#{zip_file}", "./#{sparkle_release_path}/"
30
30
  App.info "Create", "./#{sparkle_release_path}/#{zip_file}"
@@ -1,5 +1,5 @@
1
1
  module Motion::Project
2
2
  class Sparkle
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motion-sparkle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre L. Solleiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-29 00:00:00.000000000 Z
11
+ date: 2013-10-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: motion-sparkle makes it easy to use Sparkle with your RubyMotion projects
14
14
  email: alex@webcracy.org