bukkit 2.4.2 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8392883d62a6c2662cec7e4a1c7608cd0bcc2142
4
- data.tar.gz: 8ac7005c32031430547b6200e4d61e79d1890b2c
3
+ metadata.gz: 37f90dcf1aed8d821415a5e3792ea842e4f59414
4
+ data.tar.gz: 8a4e6856aea9312bcfc39d772d42e335634e73e6
5
5
  SHA512:
6
- metadata.gz: db6b1eb3801d451f20112e70c381b5ecd5c11ebf4300305c65790d5bf012b79431c91c0ce80a220f2b2cc95058d509cde143448b796a154cc3443a9e1c0523f1
7
- data.tar.gz: 66f15f6200d65a77636f11a3e34b5600026445814b32b45351f3b00dd58f82ee228f51d751677a78f2749dad1911adc6fa2c48513d59bc742557194c3c15ef52
6
+ metadata.gz: 6ede28aee1ed80ee7c31cee2740cc8880ad4522a1a5a283ffe3c70b6eeb73d9aa9b3582672d7115f7ecf1f1452dc88883269dea62c310d99e4fcab2ab4165e33
7
+ data.tar.gz: 52ffe9755c423038aa55defb72020266bcab8aacf65b0f635bfe62d74236d4d2454d65c37a1a8bd3e2a13f53ec5c1eaeb83a5cd9419f2c0b7f55685cdeae2795
data/.gitignore CHANGED
@@ -3,6 +3,8 @@
3
3
  *~
4
4
  *.gem
5
5
  .bundle/
6
+ tmp/
7
+ pkg/
6
8
  gem/
7
9
  my-awesome-server/
8
10
  Gemfile.lock
@@ -1 +1 @@
1
- 2.0.0-p353
1
+ 2.1.0
@@ -0,0 +1,5 @@
1
+ guard 'cucumber' do
2
+ watch(%r{^features/.+\.feature$})
3
+ watch(%r{^features/support/.+$}) { 'features' }
4
+ watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
5
+ end
data/README.md CHANGED
@@ -43,7 +43,7 @@ __To View Command Options run:__ `bukkit [command] [options: -[-h]elp]`
43
43
  ###Prerequisites:
44
44
 
45
45
  * [Ruby](https://www.ruby-lang.org/en/downloads/) ([RVM](http://rvm.io/) - for Linux/Mac and [RubyInstaller](http://rubyinstaller.org/) - Windows)
46
- * `2.0.0` (recommended!)
46
+ * `2.1.0` or `2.0.0` (recommended!)
47
47
  * `1.9.3` (go right ahead)
48
48
  * `other versions` (may or may not work, if you find a bug though [report it!](https://github.com/JesseHerrick/bukkit/issues/new))
49
49
  * [Java](http://java.com/en/download/manual.jsp)
@@ -58,3 +58,4 @@ To file a feature request just create an issue [here.](https://github.com/JesseH
58
58
  To contribute to this awesome project just [fork it](https://github.com/JesseHerrick/Bukkit-CLI/fork) and send a [pull request](https://github.com/JesseHerrick/Bukkit-CLI/pulls).
59
59
 
60
60
  Please follow the [Ruby Styleguide](https://github.com/styleguide/ruby). If you have any questions please feel free to [email me.](mailto:school@jessegrant.net)
61
+
data/Rakefile CHANGED
@@ -8,42 +8,10 @@
8
8
  require "rubygems"
9
9
  require "rake"
10
10
  require "colorize"
11
- require 'cucumber'
12
- require 'cucumber/rake/task'
11
+ require "cucumber"
12
+ require "cucumber/rake/task"
13
+ require "bundler/gem_tasks"
13
14
 
14
- Cucumber::Rake::Task.new(:features) do |t|
15
+ Cucumber::Rake::Task.new(:default) do |t|
15
16
  t.cucumber_opts = "features --format pretty"
16
17
  end
17
-
18
- # Helpers
19
- def test(filename)
20
- puts `ruby -I . test/test_#{filename}.rb`
21
- end
22
-
23
- # Tasks
24
- desc "Default task."
25
- task :default do
26
- puts `rake test`
27
- puts "Gem seems to be in tip top shape!".green
28
- puts "Run: ".yellow + "`bukkit --help` to list all commands."
29
- end
30
-
31
- desc "Build gem."
32
- task :build do
33
- puts "Starting gem build...".yellow
34
- puts " Building...".yellow
35
- `gem build bukkit.gemspec`
36
-
37
- puts "bukkit successfully built!".green
38
- puts "Gems in this directory: ".yellow
39
- Dir.glob("*.gem").each { |gem| puts "=> " + gem.yellow }
40
- end
41
-
42
- desc "Install the gem."
43
- task :install do
44
- gem = Dir.glob("*.gem").last
45
- puts "Installing gem...".yellow
46
- puts "From: ".yellow + gem
47
- `gem install #{gem}`
48
- puts "Gem successfully installed!".green
49
- end
@@ -30,4 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency('rake')
31
31
  spec.add_development_dependency('cucumber')
32
32
  spec.add_development_dependency('aruba')
33
+ spec.add_development_dependency('guard')
34
+ spec.add_development_dependency('guard-cucumber')
35
+ spec.add_development_dependency('libnotify')
33
36
  end
@@ -4,5 +4,10 @@ Feature: Create Server
4
4
  I want to be able to create a new server easily.
5
5
 
6
6
  Scenario: Create a new server
7
- When I run "bukkit new MC" with the options "--rb --no-start"
8
- Then the file "MC/craftbukkit.jar" should exist
7
+ When I run `bukkit new MC --rb --nostart`
8
+ Then the file "MC/craftbukkit.jar" should exist
9
+ And the exit code should be 0
10
+
11
+ Scenario: Create a new server with no name
12
+ When I run `bukkit new`
13
+ Then the exit code should be 1
@@ -0,0 +1,14 @@
1
+ Feature: Install
2
+ In order to easily install plugins.
3
+ As a server admin.
4
+ I want to install a new plugin.
5
+
6
+ Scenario: Install WorldEdit
7
+ Given a simulated server "MC"
8
+ When I run `bukkit install WorldEdit`
9
+ Then the file "MC/plugins/WorldEdit.jar" should exist
10
+
11
+ Scenario: Install an unknown plugin
12
+ Given a simulated server "MC"
13
+ When I run `bukkit install jesse`
14
+ Then the exit code should be 1
@@ -1,7 +1,31 @@
1
- When(/^I run "(.*?)" with the options "(.*?)"$/) do |command, options|
2
- @output = `#{command} #{options}`
1
+ Before do
2
+ @aruba_timeout_seconds = 85
3
3
  end
4
4
 
5
- Then(/^the exit status should be (\d+)$/) do |exit_status|
6
- @last_exit_status.should == exit_status.to_i
5
+ Then(/^the exit code should be (\d+)$/) do |exit_status|
6
+ @last_exit_status.should == exit_status.to_i
7
7
  end
8
+
9
+ Then(/^the file "(.*?)" should exist$/) do |file|
10
+ File.exists?(file)
11
+ end
12
+
13
+ Given(/^a simulated server "(.*?)"$/) do |name|
14
+ Dir.mkdir("tmp") unless Dir.exists? "tmp"
15
+ Dir.chdir("tmp")
16
+ Dir.mkdir("MC") unless Dir.exists? "MC"
17
+ Dir.chdir("MC")
18
+ Dir.mkdir("plugins") unless Dir.exists? "plugins"
19
+
20
+ file = File.new("craftbukkit.jar", "w")
21
+ file.write("This is just a simulated jarfile.")
22
+ file.close
23
+ end
24
+
25
+ Then(/^the plugin "(.*?)" should not exist$/) do |name|
26
+ File.exists?("plugins/#{name}") == false
27
+ end
28
+
29
+ Then(/^the output should equal "(.*?)"$/) do |output|
30
+ @output == output
31
+ end
@@ -0,0 +1 @@
1
+ require 'aruba/cucumber'
@@ -0,0 +1,19 @@
1
+ Feature: Uninstall
2
+ In order to groom my plugins.
3
+ As a server admin.
4
+ I want to uninstall a plugin.
5
+
6
+ Scenario: Uninstall WorldEdit
7
+ Given a simulated server "MC"
8
+ And I run `bukkit install WorldEdit`
9
+ When I run `bukkit uninstall WorldEdit`
10
+ Then the plugin "WorldEdit.jar" should not exist
11
+
12
+ Scenario: Uninstall nothing
13
+ When I run `bukkit uninstall`
14
+ Then the exit code should be 1
15
+
16
+ Scenario: Uninstall a nonexistant plugin
17
+ Given a simulated server "MC"
18
+ When I run `bukkit uninstall WorldEdit`
19
+ Then the exit code should be 1
@@ -0,0 +1,9 @@
1
+ Feature: Website
2
+ In order to get more info about a plugin.
3
+ As a server admin who likes verbosity.
4
+ I want to get the website of a plugin.
5
+
6
+ Scenario: Get WorldEdit's plugin website
7
+ When I run `bukkit website WorldEdit --url`
8
+ Then the exit code should be 0
9
+ And the output should equal "Website: http://dev.bukkit.org/bukkit-plugins/worldedit"
@@ -23,6 +23,12 @@ module Bukkit
23
23
  puts " Create: ".green + "#{@name}/"
24
24
  Dir.chdir(@name)
25
25
 
26
+ # Fail gracefully on control + C (SIGINT)
27
+ trap("SIGINT") {
28
+ FileUtils.rm_rf(@name)
29
+ puts "#{@name} not created.".red
30
+ }
31
+
26
32
  # Download build.
27
33
  Bukkit::Server.download("http://dl.bukkit.org/latest-#{options[:build].to_s}/craftbukkit.jar")
28
34
 
@@ -1,4 +1,5 @@
1
1
  require 'rest-client'
2
+ require 'fileutils'
2
3
 
3
4
  module Bukkit
4
5
  class Server
@@ -11,6 +12,13 @@ module Bukkit
11
12
  filename = uri.split("\/").last
12
13
  end
13
14
 
15
+ # Catch SIGINT if needed.
16
+ trap("SIGINT") {
17
+ puts "\nDownload failed.".red
18
+ FileUtils.rm(filename) if File.exists? filename
19
+ exit
20
+ }
21
+
14
22
  # Give some friendly output.
15
23
  puts "Downloading: ".yellow + filename
16
24
  puts " From: ".yellow + uri
@@ -23,7 +31,7 @@ module Bukkit
23
31
  end
24
32
  # => filename.ext
25
33
 
26
- puts filename.light_green + " successfully downloaded!".green
34
+ puts filename.light_green + " successfully downloaded.".green
27
35
  end
28
36
  end
29
37
  end
@@ -23,7 +23,7 @@ module Bukkit
23
23
 
24
24
  # Delete each matching file.
25
25
  if delete.empty?
26
- puts "No plugins found matching '#{name}'".yellow
26
+ abort "No plugins found matching '#{name}'".yellow
27
27
  else
28
28
  delete.each do |file|
29
29
  if File.ftype(file) == "directory"
@@ -1,4 +1,4 @@
1
1
  module Bukkit
2
- VERSION = "2.4.2"
2
+ VERSION = "2.5.0"
3
3
  VERSION_FULL = "Bukkit-CLI v#{VERSION}"
4
4
  end
metadata CHANGED
@@ -1,153 +1,195 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bukkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.2
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesse Herrick
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-06 00:00:00.000000000 Z
11
+ date: 2014-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: archive-zip
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: commander
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: multi_json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: launchy
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rest-client
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: cucumber
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: aruba
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: guard-cucumber
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: libnotify
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
151
193
  - !ruby/object:Gem::Version
152
194
  version: '0'
153
195
  description: A command line wrapper for CraftBukkit.
@@ -158,18 +200,22 @@ executables:
158
200
  extensions: []
159
201
  extra_rdoc_files: []
160
202
  files:
161
- - .gitignore
162
- - .ruby-version
163
- - .travis.yml
203
+ - ".gitignore"
204
+ - ".ruby-version"
205
+ - ".travis.yml"
164
206
  - Gemfile
165
- - Gemfile.lock
207
+ - Guardfile
166
208
  - LICENSE
167
209
  - README.md
168
210
  - Rakefile
169
211
  - bin/bukkit
170
212
  - bukkit.gemspec
171
213
  - features/create.feature
214
+ - features/install.feature
172
215
  - features/step_definitions/bukkit_steps.rb
216
+ - features/support/env.rb
217
+ - features/uninstall.feature
218
+ - features/website.feature
173
219
  - lib/bukkit.rb
174
220
  - lib/bukkit/create.rb
175
221
  - lib/bukkit/download.rb
@@ -179,11 +225,6 @@ files:
179
225
  - lib/bukkit/update.rb
180
226
  - lib/bukkit/version.rb
181
227
  - lib/bukkit/website.rb
182
- - test/test_create.rb
183
- - test/test_download.rb
184
- - test/test_install.rb
185
- - test/test_update.rb
186
- - test/test_website.rb
187
228
  homepage: https://github.com/JesseHerrick/Bukkit-CLI
188
229
  licenses:
189
230
  - MIT
@@ -194,25 +235,24 @@ require_paths:
194
235
  - lib
195
236
  required_ruby_version: !ruby/object:Gem::Requirement
196
237
  requirements:
197
- - - '>='
238
+ - - ">="
198
239
  - !ruby/object:Gem::Version
199
240
  version: '0'
200
241
  required_rubygems_version: !ruby/object:Gem::Requirement
201
242
  requirements:
202
- - - '>='
243
+ - - ">="
203
244
  - !ruby/object:Gem::Version
204
245
  version: '0'
205
246
  requirements: []
206
247
  rubyforge_project:
207
- rubygems_version: 2.0.14
248
+ rubygems_version: 2.2.0
208
249
  signing_key:
209
250
  specification_version: 4
210
251
  summary: A command line wrapper for CraftBukkit. Manage your server easier.
211
252
  test_files:
212
253
  - features/create.feature
254
+ - features/install.feature
213
255
  - features/step_definitions/bukkit_steps.rb
214
- - test/test_create.rb
215
- - test/test_download.rb
216
- - test/test_install.rb
217
- - test/test_update.rb
218
- - test/test_website.rb
256
+ - features/support/env.rb
257
+ - features/uninstall.feature
258
+ - features/website.feature
@@ -1,20 +0,0 @@
1
- require 'test/unit'
2
- require 'bukkit'
3
-
4
- class TestCreate < Test::Unit::TestCase
5
- def test_create_rb
6
- server = Bukkit::Server.new("my-awesome-server")
7
- options = { :build => :rb, :force => true }
8
- server.create(options)
9
-
10
- def check_for_server
11
- Dir.chdir("my-awesome-server/") if Dir.exists?("my-awesome-server")
12
- true if File.exists?("craftbukkit.jar")
13
- end
14
-
15
- assert_equal(check_for_server, true)
16
-
17
- Dir.pwd.red
18
- Dir.chdir("../")
19
- end
20
- end
@@ -1,10 +0,0 @@
1
- require 'test/unit'
2
- require 'bukkit'
3
-
4
- class TestDownload < Test::Unit::TestCase
5
- def test_download
6
- Bukkit::Server.download("http://www.jessegrant.net/humans.txt")
7
- assert_equal(true, File.exists?("humans.txt"))
8
- FileUtils.rm("humans.txt")
9
- end
10
- end
@@ -1,22 +0,0 @@
1
- require 'test/unit'
2
- require 'bukkit'
3
-
4
- class TestInstall < Test::Unit::TestCase
5
- def test_install
6
- plugin = Bukkit::Plugin.new("WorldEdit")
7
-
8
- # Go into server's dir.
9
- Dir.chdir("my-awesome-server")
10
- # Create plugins dir because it isn't generated by tests.
11
- Dir.mkdir("plugins") unless Dir.exists?("plugins")
12
- plugin.install
13
-
14
- expected = File.exists?("WorldEdit.jar")
15
- assert_equal(expected, true)
16
- Dir.chdir("../")
17
-
18
- # Then delete it again and cd back out.
19
- FileUtils.rm_rf("plugins")
20
- Dir.chdir("../")
21
- end
22
- end
@@ -1,11 +0,0 @@
1
- require 'test/unit'
2
- require 'bukkit'
3
-
4
- class TestUpdate < Test::Unit::TestCase
5
- def test_update_rb
6
- Bukkit::Server.update(:build => :rb)
7
- expected = File.exists?("craftbukkit.jar")
8
- assert_equal(expected, true)
9
- # FileUtils.rm("craftbukkit.jar")
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- require 'test/unit'
2
- require 'bukkit'
3
-
4
- class TestWebsite < Test::Unit::TestCase
5
- def test_website
6
- plugin = Bukkit::Plugin.new("WorldEdit")
7
- expected = plugin.website
8
- assert_equal(expected, "http://dev.bukkit.org/bukkit-plugins/worldedit")
9
- end
10
- end