spigoter 0.2.0 → 0.2.2

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: 49b16dcbd14d8a17d43a7214a5c7f4eb5ae81e82
4
- data.tar.gz: c417cd01039dc46c9ba9b0b815dd88129d67db9e
3
+ metadata.gz: 79a9acc769a4ed28bb5ba1c034afe8b57264bbee
4
+ data.tar.gz: 6c13746dc68d3eb762a3282dede574252dda4488
5
5
  SHA512:
6
- metadata.gz: 0a1fe4db30c65152ee30bb84424efa407dcfe12c848c50ac40aded0a24c51cc7a52ccdf791f1eff0c860dc4729231da71478e71647a8daea913b7cda5aa36d8d
7
- data.tar.gz: 9398c549d12ccb1dd4f2f6e3eb5b11a1a6a392d61e36b409660378d90e112e0f073225f43843dba0854458e37a49f59b31aee7361eaaa521bbd0e6d82aeb4f59
6
+ metadata.gz: bc161d28544f41888d47aa367ee4cfbe08570bf0ed736c380bf15fb16e585bb96ef498cb5da6686c874e67f6518a3fdd106917bc809c6277daf116e778a7c796
7
+ data.tar.gz: e6d952eaace7b1af4a0c45edcea2ac3f835a901072dd13143329f12787063a5ea89ca66b61b7dcb8876fa1ba382cb67012fef041e21c4d6cbe303230cb965a8d
data/README.md CHANGED
@@ -11,17 +11,76 @@ Spigoter is a Ruby gem that gives you many tools make your server keepup easier.
11
11
  gem install spigoter
12
12
  ```
13
13
 
14
- ## Usage
14
+ ## Features
15
15
 
16
16
  ### Run the server
17
- spigoter
17
+ spigoter [--javaparam="-Xms1024M -Xmx4096M ..."]
18
18
 
19
19
  ### Update plugins
20
20
  spigoter {-u|--update} {all|plugin1,plugin2,...}
21
21
 
22
- ### Compile spigot and set that version
22
+ ### Usage
23
+ You have to drop a `plugin.json` file in the server root directory. There will be saved some relevant information of plugins, as well as some customization.
24
+
25
+ Example:
26
+
27
+ ```json
28
+ [
29
+ {
30
+ "name": "Authme",
31
+ "url": "http://mods.curse.com/bukkit-plugins/minecraft/authme-reloaded",
32
+ "type": "curse",
33
+ "last_update": "31-3-2016 - 0:40"
34
+ },
35
+ {
36
+ "name": "BossShop",
37
+ "url": "http://mods.curse.com/bukkit-plugins/minecraft/bossshop",
38
+ "type": "curse",
39
+ "last_update": "31-3-2016 - 0:40"
40
+ },
41
+ {
42
+ "name": "ChestShop",
43
+ "url": "https://www.spigotmc.org/resources/1-9-chestshop.19511/",
44
+ "type": "spigotmc",
45
+ "last_update": "31-3-2016 - 0:40"
46
+ },
47
+ {
48
+ "name": "ChopTree",
49
+ "url": "https://www.spigotmc.org/resources/choptree.2046/",
50
+ "type": "spigotmc",
51
+ "last_update": "31-3-2016 - 0:40"
52
+ },
53
+ {
54
+ "name": "ClickSort",
55
+ "url": "http://mods.curse.com/bukkit-plugins/minecraft/clicksort",
56
+ "type": "curse",
57
+ "last_update": "31-3-2016 - 0:40"
58
+ },
59
+ {
60
+ "name": "Dynmap",
61
+ "url": "http://dev.bukkit.org/media/files/911/888/dynmap-2.3-alpha-1.jar",
62
+ "type": "direct",
63
+ "keep_eye_on": "http://dev.bukkit.org/bukkit-plugins/dynmap/files/",
64
+ "last_update": "31-3-2016 - 0:40"
65
+ }
66
+ ]
67
+ ```
68
+
69
+ I'm trying to switch to YAML.
70
+ #### Currently suported plugin hosted sites
71
+ * [Curse](http://mods.curse.com/bukkit-plugins/minecraft)
72
+ * [BukkitDev](http://dev.bukkit.org/)
73
+
74
+ #### Planned
75
+ * [Spigot](https://www.spigotmc.org/)
76
+ * Direct download
77
+ * Custom download via piping (first download, second unrar, then extract X file, ...)
78
+
79
+ ### Compile Spigot and set version
23
80
  spigoter {-c|--compile} [lastest|1.9|1.8|...]
24
81
 
82
+ This command excecute the `buildtools .jar` in a `build`directory in the root server folder. Then, it'll replace the old version with the new one.
83
+
25
84
  ## Development
26
85
 
27
86
  After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -36,4 +95,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/Daniel
36
95
  ## License
37
96
 
38
97
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
39
-
data/exe/spigoter CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  require 'spigoter'
4
4
  require 'trollop'
5
- require 'json'
6
5
 
7
6
 
8
7
  opts = Trollop::options do
8
+ version "Spigoter v#{Spigoter::VERSION}"
9
9
  banner <<-EOS
10
10
  Spigoter, a command line utity for minecraft servers.
11
11
 
@@ -16,7 +16,9 @@ EOS
16
16
  opt :javaparm, 'Sets the java parameters', :default => '-Xms1024M -Xmx4096M -jar spigot.jar' #TODO: Poner esto aqui
17
17
  opt :compile, "Compiles spigot and sets the new version"
18
18
  opt :update, "Set permissons plugin"
19
+ opt :version, "Get spigoter version"
19
20
  end
20
21
 
22
+ puts "Estas son las opciones: #{opts}"
21
23
 
22
24
  Spigoter::CLI.main(opts)
@@ -10,6 +10,12 @@ module Spigoter
10
10
  Spigoter::CLI.compile(opts)
11
11
  return
12
12
  end
13
+ if(opts[:version])
14
+ puts "Hola!"
15
+ puts Spigoter::VERSION
16
+ puts Spigoter::VERSION.class
17
+ return
18
+ end
13
19
  Spigoter::CLI.start(opts)
14
20
  end
15
21
  end
@@ -1,10 +1,9 @@
1
1
  module Spigoter
2
2
  module CLI
3
3
  def self.update(opts)
4
- puts opts
5
4
  Log.info "Updating!"
6
- unless File.exists?('plugins.json')
7
- Log.error "plugins.json doesn't exists, please, create one"
5
+ unless File.exists?('plugins.yml')
6
+ Log.error "plugins.yml doesn't exists, please, create one"
8
7
  exit(1)
9
8
  end
10
9
  unless Dir.exists?('plugins')
@@ -12,17 +11,17 @@ module Spigoter
12
11
  exit(1)
13
12
  end
14
13
 
15
- file = File.read("plugins.json")
16
- plugins = JSON.parse(file)
17
- plugins.each do |plugin_data|
18
- Log.info "Getting plugin #{plugin_data['name']}"
14
+ file = File.read('plugins.yml')
15
+ plugins = YAML.load(file)
16
+ plugins.each do |name, data|
19
17
  begin
20
- hash = Plugins.get_plugin(plugin_data)
21
- plugin_file = File.open("plugins/#{hash[:name]}", 'wb')
18
+ Log.info "Starting to download #{name}"
19
+ hash = Plugins.get_plugin(name, data)
20
+ plugin_file = File.open("plugins/#{name}.jar", 'wb')
22
21
  plugin_file.write(hash[:file])
23
- Log.info "#{plugin_data['name']} was downloaded correctly"
22
+ Log.info "#{name} was downloaded correctly"
24
23
  rescue Exception => e
25
- Log.error "Unkown source #{plugin_data['type']}"
24
+ Log.error "Unkown source #{data['type']}"
26
25
  end
27
26
  end
28
27
  end
@@ -1,14 +1,14 @@
1
1
  module Spigoter
2
2
  module Plugins
3
- def self.get_plugin(data)
3
+ def self.get_plugin(name, data)
4
4
  case data['type']
5
5
  when 'curse'
6
6
  f = Spigoter::PluginCurse.new(data['url']).download
7
- hash = {:name => "#{data['name']}.jar", :file => f}
7
+ hash = {:name => "#{name}.jar", :file => f}
8
8
  return hash
9
9
  when 'devbukkit'
10
10
  f = Spigoter::PluginBukkit.new(data['url']).download
11
- hash = {:name => "#{data['name']}.jar", :file => f}
11
+ hash = {:name => "#{name}.jar", :file => f}
12
12
  return hash
13
13
  else
14
14
  raise "Unkown source"
@@ -1,3 +1,3 @@
1
1
  module Spigoter
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -14,7 +14,6 @@ module Spigoter
14
14
  end
15
15
  def main_page
16
16
  return @main_page unless @main_page.nil?
17
- Log.info "Downloading main page"
18
17
  begin
19
18
  @main_page = open(@url).read
20
19
  rescue
@@ -24,7 +23,6 @@ module Spigoter
24
23
  end
25
24
  def download_page
26
25
  return @download_page unless @download_page.nil?
27
- Log.info "Downloading download page"
28
26
  begin
29
27
  @download_page = open(@url+'/download').read
30
28
  rescue
@@ -35,23 +33,19 @@ module Spigoter
35
33
  def download_url
36
34
  return @download_url unless @download_url.nil?
37
35
  download_page
38
- Log.info "Parsing download url"
39
36
  @download_url = /(?<download_url>http:\/\/addons.curse.cursecdn.com.+\.jar)/.match(@download_page)[:download_url]
40
37
  end
41
38
  def version
42
39
  return @version unless @version.nil?
43
40
  main_page
44
- Log.info "Getting version"
45
41
  @version = /Newest File: (?<version>.+)</.match(@main_page)[:version]
46
42
  end
47
43
  def name
48
44
  return @name unless @name.nil?
49
- Log.info "Getting name"
50
45
  @name = /minecraft\/(?<name>.+)/.match(@url)[:name]
51
46
  end
52
47
  def download
53
48
  download_url
54
- Log.info "Downloading"
55
49
  begin
56
50
  file = open(@download_url).read
57
51
  rescue
@@ -14,7 +14,6 @@ module Spigoter
14
14
  end
15
15
  def main_page
16
16
  return @main_page unless @main_page.nil?
17
- Log.info "Downloading main page"
18
17
  begin
19
18
  @main_page = open(@url).read
20
19
  rescue
@@ -25,35 +24,27 @@ module Spigoter
25
24
  def download_page
26
25
  return @download_page unless @download_page.nil?
27
26
  main_page
28
- Log.info "Downloading download page"
29
27
  url_download_page = @main_page.match(/<a href="(?<download_page_url>.+)">Download/)[:download_page_url]
30
- begin
31
- @download_page = open("http://dev.bukkit.org/#{url_download_page}").read
32
- rescue
33
- raise "404 Error, that plugin URL doesn't exists"
34
- end
28
+ @download_page = open("http://dev.bukkit.org/#{url_download_page}").read
29
+ # Don't need to begin-rescue, it's done by main_page
35
30
  return @download_page
36
31
  end
37
32
  def download_url
38
33
  return @download_url unless @download_url.nil?
39
34
  download_page
40
- Log.info "Parsing download url"
41
35
  @download_url = /href="(?<download_url>.+)">Download/.match(@download_page)[:download_url]
42
36
  end
43
37
  def version
44
38
  return @version unless @version.nil?
45
39
  download_page
46
- Log.info "Getting version"
47
40
  @version = /3">\s*<h1>\s+(?<version>.+)\s+<\/h1>/.match(@download_page)[:version]
48
41
  end
49
42
  def name
50
43
  return @name unless @name.nil?
51
- Log.info "Getting name"
52
44
  @name = /ins\/(?<name>[a-z\-]+)\/?/.match(@url)[:name]
53
45
  end
54
46
  def download
55
47
  download_url
56
- Log.info "Downloading"
57
48
  begin
58
49
  file = open(@download_url).read
59
50
  rescue
data/spigoter.gemspec CHANGED
@@ -37,6 +37,5 @@ Gem::Specification.new do |spec|
37
37
  spec.add_development_dependency "yard", "~> 0.8"
38
38
  spec.add_development_dependency "trollop", "~> 2.1"
39
39
 
40
- spec.add_runtime_dependency "json", "~> 1.8"
41
40
  spec.add_runtime_dependency "logging", "~> 2.1"
42
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spigoter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Ramos
@@ -136,20 +136,6 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '2.1'
139
- - !ruby/object:Gem::Dependency
140
- name: json
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '1.8'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '1.8'
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: logging
155
141
  requirement: !ruby/object:Gem::Requirement