rake-xpi 0.0.8 → 0.0.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af6dbe09c0e5cbce8cadee2b9e730b528c2d6c6c
4
- data.tar.gz: 3fa822b452e4ddb279fbad08b4df2392ac6cb992
3
+ metadata.gz: 1b6aa79b6cb97154aef73f48d45498559935b6e3
4
+ data.tar.gz: 7d10367b9b0efa17fcef2fa410c2a8df13e2bf7d
5
5
  SHA512:
6
- metadata.gz: 41ce5f88ae69b0b635cdabad365f74491ec43034ea91f2383d1d95860f9e0ada3cabe69c3aa453dcb497e7c94628f810c30c97f66d5c4f9691c82db91482478e
7
- data.tar.gz: b1fae3e25498d67eae626a10910dfbfbe607b087646b0f3bba675963f85ca19accb40044138b39dd4400fbeb38adaae6e2052372896ca2f260acdbc7dd222871
6
+ metadata.gz: 405ed492deed46dc74c2f20c5ffb12d4c2e1a2a0070f7b02a76611754b2440c51e359d5b3f29495b5f1306f6dc98014994c851603855955abc1176dd77e9acfc
7
+ data.tar.gz: 8fbfb211c95a3a92f164ddc57fd5c2c3dc23fa5ffc87344f1f36e7e6e0b0e691fd6c9b0c44ee04f60268d3bde82c6faf2afee93a742a971de09e555cf4759ed8
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake-xpi (0.0.8)
4
+ rake-xpi (0.0.9)
5
5
  aws-sdk
6
6
  github_api
7
7
  jwt
@@ -17,12 +17,12 @@ GEM
17
17
  remote: https://rubygems.org/
18
18
  specs:
19
19
  addressable (2.4.0)
20
- aws-sdk (2.2.30)
21
- aws-sdk-resources (= 2.2.30)
22
- aws-sdk-core (2.2.30)
20
+ aws-sdk (2.2.31)
21
+ aws-sdk-resources (= 2.2.31)
22
+ aws-sdk-core (2.2.31)
23
23
  jmespath (~> 1.0)
24
- aws-sdk-resources (2.2.30)
25
- aws-sdk-core (= 2.2.30)
24
+ aws-sdk-resources (2.2.31)
25
+ aws-sdk-core (= 2.2.31)
26
26
  descendants_tracker (0.0.4)
27
27
  thread_safe (~> 0.3, >= 0.3.1)
28
28
  domain_name (0.5.20160310)
@@ -76,6 +76,3 @@ PLATFORMS
76
76
  DEPENDENCIES
77
77
  bundler (~> 1.3)
78
78
  rake-xpi!
79
-
80
- BUNDLED WITH
81
- 1.11.2
@@ -19,17 +19,39 @@ module Rake
19
19
  module XPI
20
20
  class Config
21
21
  @@builds = 'builds'
22
- def get_stable_release(tag, prerelease)
23
- release = @releases.list(@config.github.user, @config.github.repo).detect{|rel| rel.tag_name == tag }
24
- return release if release
25
22
 
26
- sha = `git rev-list --max-parents=0 HEAD`.split(/\n/).collect{|sha| sha.strip}.first
27
- release = @releases.create(@config.github.user, @config.github.repo, {
28
- tag_name: tag,
29
- target_commitish: sha,
30
- name: tag,
31
- body: tag,
32
- prerelease: prerelease
23
+ def client
24
+ if @client.nil?
25
+ raise "Github publishing not configured" unless @config.github && @config.github.user && @config.github.token
26
+ token = ENV[@config.github.token]
27
+ raise "Github publishing not configured" unless token
28
+ @client = Github.new({oauth_token: token})
29
+ end
30
+ return @client
31
+ end
32
+
33
+ def add_asset(tag, is_prerelease, asset_name, content, content_type)
34
+ release = client.repos.releases.list(@config.github.user, @config.github.repo).detect{|rel| rel.tag_name == tag }
35
+ if release
36
+ raise "Release #{tag}: requested #{is_prerelease ? 'pre' : ''}release, found #{is_prerelease ? 'pre' : ''}release" if is_prerelease ^ release.prerelease
37
+ else
38
+ sha = `git rev-list --max-parents=0 HEAD`.split(/\n/).collect{|sha| sha.strip}.first
39
+ release = client.repos.releases.create(@config.github.user, @config.github.repo, {
40
+ tag_name: tag,
41
+ target_commitish: sha,
42
+ name: tag,
43
+ body: tag,
44
+ prerelease: !!is_prerelease
45
+ })
46
+ end
47
+
48
+ client.repos.releases.assets.list(@config.github.user, @config.github.repo, release.id){ |asset|
49
+ next unless asset.name == asset_name
50
+ client.repos.releases.assets.delete(@config.github.user, @config.github.repo, asset.id)
51
+ }
52
+ client.repos.releases.assets.upload(@config.github.user, @config.github.repo, release.id, content, {
53
+ name: asset_name,
54
+ content_type: content_type
33
55
  })
34
56
  end
35
57
 
@@ -45,40 +67,8 @@ module Rake
45
67
  token = ENV[@config.github.token]
46
68
  raise "Github publishing not configured" unless token
47
69
 
48
- @github = Github.new({oauth_token: token})
49
- @releases = @github.repos.releases
50
-
51
- release = nil
52
- if release_build?
53
- # create release and upload assets
54
- release = @releases.create(@config.github.user, @config.github.repo, {
55
- tag_name: self.release,
56
- name: self.release,
57
- body: self.release
58
- })
59
- else
60
- release = get_stable_release(@@builds, true)
61
- end
62
-
63
- @releases.assets.upload(@config.github.user, @config.github.repo, release.id, self.xpi, {
64
- name: self.versioned_xpi,
65
- content_type: 'application/x-xpinstall'
66
- })
67
-
68
- if release_build?
69
- release = get_stable_release('update.rdf', false)
70
- # Remove any existing assets
71
- @github.repos.releases.assets.list(@config.github.user, @config.github.repo, release.id){ |asset|
72
- @github.repos.releases.assets.delete(@config.github.user, @config.github.repo, asset.id)
73
- }
74
-
75
- update_rdf{|update|
76
- @releases.assets.upload(@config.github.user, @config.github.repo, release.id, update, {
77
- name: 'update.rdf',
78
- content_type: 'application/rdf+xml'
79
- })
80
- }
81
- end
70
+ add_asset(release_build? ? self.release : @@builds, !release_build?, self.versioned_xpi, self.xpi, 'application/x-xpinstall')
71
+ update_rdf{|update| add_asset('update.rdf', false, 'update.rdf', update, 'application/rdf+xml') } if release_build?
82
72
  end
83
73
  end
84
74
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "rake-xpi"
7
- spec.version = '0.0.8'
7
+ spec.version = '0.0.9'
8
8
  spec.authors = ["Emiliano Heyns"]
9
9
  spec.email = ["Emiliano.Heyns@iris-advies.com"]
10
10
  spec.description = %q{rake helper to build XPI files}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-xpi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emiliano Heyns
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-29 00:00:00.000000000 Z
11
+ date: 2016-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler