hotchpotch-chrome-extension-starter 0.0.2 → 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 (4) hide show
  1. data/README.rdoc +4 -5
  2. data/Rakefile +1 -1
  3. data/templates/Rakefile +39 -4
  4. metadata +2 -2
@@ -1,15 +1,12 @@
1
1
 
2
2
  = chrome-extension-starter
3
3
 
4
+ Google Chrome extension templates and Rakefile generator.
4
5
 
5
6
  == Description
6
7
 
7
8
  == Installation
8
9
 
9
- === Archive Installation
10
-
11
- rake install
12
-
13
10
  === Gem Installation
14
11
 
15
12
  gem sources -a http://gems.github.com
@@ -23,7 +20,9 @@
23
20
 
24
21
  chrome-extension-starter myextension
25
22
  cd myextension
26
- rake
23
+ rake # manifest.json validate
24
+ rake update_xml
25
+ rake package
27
26
 
28
27
  == Copyright
29
28
 
data/Rakefile CHANGED
@@ -17,7 +17,7 @@ DESCRIPTION = ""
17
17
  RUBYFORGE_PROJECT = "chromeextensionstarter"
18
18
  HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
19
19
  BIN_FILES = %w( chrome-extension-starter )
20
- VERS = "0.0.2"
20
+ VERS = "0.1.0"
21
21
 
22
22
  REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
23
23
  CLEAN.include ['**/.*.sw?', '*.gem', '.config']
@@ -2,7 +2,16 @@
2
2
  require 'rubygems'
3
3
  require 'json/pure'
4
4
  require 'rake'
5
+ require 'rake/clean'
5
6
  require 'pathname'
7
+ begin
8
+ require 'crxmake'
9
+ rescue LoadError
10
+ warn "require jsonschema"
11
+ warn "gem sources -a http://gems.github.com"
12
+ warn "gem install Constellation-crxmake"
13
+ exit 1
14
+ end
6
15
  require 'crxmake'
7
16
  require 'open-uri'
8
17
 
@@ -19,13 +28,22 @@ update_path = src_path.join('update.xml')
19
28
  output_path = root_path.join('bin')
20
29
  pem_file = ENV['PEM'] || root_path.join(project_name + '.pem')
21
30
 
22
- task :release => [:update_xml, :package]
23
- task :default => [:release]
31
+ task :release => [:clean, :update_xml, :package]
32
+ task :default => ['manifest:validate']
33
+
34
+ CLEAN.include ['**/.*.sw?', '.*.sw?']
24
35
 
25
36
  namespace :manifest do
26
37
  desc "json schema check"
27
- task :check do
28
- require 'jsonschema'
38
+ task :validate do
39
+ begin
40
+ require 'jsonschema'
41
+ rescue LoadError
42
+ warn "require jsonschema"
43
+ warn "gem sources -a http://gems.github.com"
44
+ warn "gem install Constellation-jsonschema"
45
+ exit 1
46
+ end
29
47
  data = JSON.parse manifest_path.read
30
48
  schema = JSON.parse open('http://gist.github.com/179669.txt').read # manifest.json schema by os0x
31
49
  puts "JSON schema check."
@@ -39,6 +57,22 @@ namespace :manifest do
39
57
  end
40
58
  end
41
59
 
60
+ task :update_xml do
61
+ puts "update xml: #{update_path}"
62
+ manifest = JSON.parse manifest_path.read
63
+ raise 'require id & version' unless manifest['id'] && manifest['version']
64
+ template = <<-EOF
65
+ <gupdate xmlns="http://www.google.com/update2/response" protocol="2.0">
66
+ <app appid="#{manifest['id']}">
67
+ <updatecheck codebase="#{extension_url}" version="#{manifest['version']}" />
68
+ </app>
69
+ </gupdate>
70
+ EOF
71
+ update_path.open('w') do |f|
72
+ f.puts template
73
+ end
74
+ end
75
+
42
76
  task :package do
43
77
  output_path.mkpath unless output_path.directory?
44
78
  crx = output_path.join("#{project_name}.crx").to_s
@@ -59,3 +93,4 @@ task :package do
59
93
  puts "generated pkem(.pem): #{options[:pkey_output]}" if options[:pkey_output]
60
94
  end
61
95
 
96
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hotchpotch-chrome-extension-starter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - hotchpotch
@@ -9,7 +9,7 @@ autorequire: ""
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-24 00:00:00 -07:00
12
+ date: 2009-09-25 00:00:00 -07:00
13
13
  default_executable: chrome-extension-starter
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency