kosmos 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/kosmos.rb +3 -2
- data/lib/kosmos/git_adapter.rb +10 -1
- data/lib/kosmos/package_attrs.rb +6 -1
- data/lib/kosmos/packages/hyperedit.rb +8 -0
- data/lib/kosmos/packages/precise_node.rb +9 -0
- data/lib/kosmos/packages/rcs_build_aid.rb +8 -0
- data/lib/kosmos/packages/science_alert.rb +9 -0
- data/lib/kosmos/packages/toolbar.rb +2 -2
- data/lib/kosmos/user_interface.rb +24 -2
- data/lib/kosmos/version.rb +1 -1
- data/spec/package_spec.rb +1 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae8445d64c92137ad5e572bb01df23be7c6c4621
|
4
|
+
data.tar.gz: 731a35373487e9728a6ab6a6657ce1a77646230f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed293a7d070692f17afa4ff63257756413287a7da90548c69a3679afacf2bff79c3276200cb510e0e1cecb8a6c0ad4db043a84e50803102700f720f96f3e4a73
|
7
|
+
data.tar.gz: 65de6301fd1c3ef9f98419023ebca5b512eb52bf595b9c5dc7b3582980dec3ce75d15d448e7772a5906cc812efd952edc53d3dd027d3d11921232be61a40819b
|
data/README.md
CHANGED
@@ -114,7 +114,7 @@ Almost all of the mods Scott Manley uses in Interstellar Quest are available
|
|
114
114
|
through Kosmos. You can install them all by running:
|
115
115
|
|
116
116
|
```
|
117
|
-
kosmos install active-texture-management b9
|
117
|
+
kosmos install active-texture-management b9 kerbal-alarm-clock kw-rocketry ksp-interstellar ferram deadly-reentry kethane infernal-robotics distant-object-enhancement better-atmospheres remote-tech-2 tac-life-support enhanced-navball kerbal-joint-reinforcement docking-port-alignment-indicator safe-chute kerbal-attachment-system real-chute tac-fuel-balancer
|
118
118
|
```
|
119
119
|
|
120
120
|
[mac-git]: http://sourceforge.net/projects/git-osx-installer/
|
data/lib/kosmos.rb
CHANGED
@@ -39,8 +39,9 @@ module Kosmos
|
|
39
39
|
def write_config(opts)
|
40
40
|
FileUtils.touch(config_path)
|
41
41
|
|
42
|
-
|
43
|
-
|
42
|
+
config_to_write = JSON.pretty_generate(read_config.merge(opts))
|
43
|
+
File.open(config_path, "w") do |file|
|
44
|
+
file.write config_to_write
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
data/lib/kosmos/git_adapter.rb
CHANGED
@@ -6,6 +6,8 @@ module Kosmos
|
|
6
6
|
def init_repo(path)
|
7
7
|
Dir.chdir(path) do
|
8
8
|
`git init`
|
9
|
+
`git config user.name Kosmos`
|
10
|
+
`git config user.email kosmos@kosmos.kosmos`
|
9
11
|
|
10
12
|
File.open('.gitignore', 'w') do |file|
|
11
13
|
file.write "!*\n"
|
@@ -22,7 +24,14 @@ module Kosmos
|
|
22
24
|
|
23
25
|
def revert_commit(repo_path, commit)
|
24
26
|
Dir.chdir(repo_path) do
|
25
|
-
|
27
|
+
# Favor "ours" (which is always HEAD for our purposes) when git-revert
|
28
|
+
# can handle that on its own.
|
29
|
+
`git revert --no-commit --strategy=merge --strategy-option=ours #{commit.sha}`
|
30
|
+
|
31
|
+
# When files are being created or deleted, git will not do anything.
|
32
|
+
# In this case, keep all files alive; better to accidentally pollute
|
33
|
+
# than accidentally delete something important.
|
34
|
+
`git add *`
|
26
35
|
end
|
27
36
|
end
|
28
37
|
|
data/lib/kosmos/package_attrs.rb
CHANGED
@@ -4,7 +4,12 @@ module Kosmos
|
|
4
4
|
|
5
5
|
def self.included(base)
|
6
6
|
base.extend(Methods)
|
7
|
-
|
7
|
+
|
8
|
+
Methods.public_instance_methods.each do |method_name|
|
9
|
+
base.send(:define_method, method_name, Proc.new do |*args|
|
10
|
+
self.class.send(method_name, *args)
|
11
|
+
end)
|
12
|
+
end
|
8
13
|
end
|
9
14
|
|
10
15
|
module Methods
|
@@ -1,9 +1,9 @@
|
|
1
1
|
class Toolbar < Kosmos::Package
|
2
2
|
title 'Toolbar Plugin'
|
3
3
|
aliases 'toolbar'
|
4
|
-
url 'http://blizzy.de/toolbar/Toolbar-1.7.
|
4
|
+
url 'http://blizzy.de/toolbar/Toolbar-1.7.3.zip'
|
5
5
|
|
6
6
|
def install
|
7
|
-
merge_directory 'Toolbar-1.7.
|
7
|
+
merge_directory 'Toolbar-1.7.3/GameData'
|
8
8
|
end
|
9
9
|
end
|
@@ -25,6 +25,8 @@ module Kosmos
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def install(args)
|
28
|
+
return unless check_initialized!
|
29
|
+
|
28
30
|
ksp_path = Kosmos.load_ksp_path
|
29
31
|
|
30
32
|
packages = load_packages(args)
|
@@ -43,6 +45,8 @@ module Kosmos
|
|
43
45
|
end
|
44
46
|
|
45
47
|
def uninstall(args)
|
48
|
+
return unless check_initialized!
|
49
|
+
|
46
50
|
ksp_path = Kosmos.load_ksp_path
|
47
51
|
|
48
52
|
package_name = args.shift
|
@@ -67,6 +71,8 @@ module Kosmos
|
|
67
71
|
end
|
68
72
|
|
69
73
|
def list(args)
|
74
|
+
return unless check_initialized!
|
75
|
+
|
70
76
|
ksp_path = Kosmos.load_ksp_path
|
71
77
|
|
72
78
|
packages = Kosmos::Versioner.installed_packages(ksp_path)
|
@@ -80,6 +86,22 @@ module Kosmos
|
|
80
86
|
|
81
87
|
private
|
82
88
|
|
89
|
+
def check_initialized!
|
90
|
+
if Kosmos.load_ksp_path
|
91
|
+
true
|
92
|
+
else
|
93
|
+
Util.log <<-EOS.undent
|
94
|
+
Error: You have not yet initialized Kosmos.
|
95
|
+
|
96
|
+
Before doing anything else, please execute the command:
|
97
|
+
|
98
|
+
kosmos init ksp-folder
|
99
|
+
|
100
|
+
Where "ksp-folder" is the name of the folder where you keep KSP.
|
101
|
+
EOS
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
83
105
|
def pretty_print_list(list)
|
84
106
|
list.each { |value| Util.log " * #{value}" }
|
85
107
|
end
|
@@ -115,9 +137,9 @@ module Kosmos
|
|
115
137
|
if installed_packages.any?
|
116
138
|
Util.log "Error: You have already installed the following packages using Kosmos:"
|
117
139
|
pretty_print_list(installed_packages.map(&:title))
|
118
|
-
|
119
|
-
return false
|
120
140
|
end
|
141
|
+
|
142
|
+
installed_packages.empty?
|
121
143
|
end
|
122
144
|
end
|
123
145
|
end
|
data/lib/kosmos/version.rb
CHANGED
data/spec/package_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kosmos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ulysse Carion
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -179,6 +179,7 @@ files:
|
|
179
179
|
- lib/kosmos/packages/hooligan_labs.rb
|
180
180
|
- lib/kosmos/packages/hot_rockets.rb
|
181
181
|
- lib/kosmos/packages/hullcam_vds.rb
|
182
|
+
- lib/kosmos/packages/hyperedit.rb
|
182
183
|
- lib/kosmos/packages/infernal_robotics.rb
|
183
184
|
- lib/kosmos/packages/kerbal_alarm_clock.rb
|
184
185
|
- lib/kosmos/packages/kerbal_attachment_system.rb
|
@@ -191,11 +192,14 @@ files:
|
|
191
192
|
- lib/kosmos/packages/mechjeb.rb
|
192
193
|
- lib/kosmos/packages/mk2_cockpit_interior.rb
|
193
194
|
- lib/kosmos/packages/nova_punch.rb
|
195
|
+
- lib/kosmos/packages/precise_node.rb
|
194
196
|
- lib/kosmos/packages/procedural_fairings.rb
|
197
|
+
- lib/kosmos/packages/rcs_build_aid.rb
|
195
198
|
- lib/kosmos/packages/real_chute.rb
|
196
199
|
- lib/kosmos/packages/remote_tech.rb
|
197
200
|
- lib/kosmos/packages/safe_chute.rb
|
198
201
|
- lib/kosmos/packages/scansat.rb
|
202
|
+
- lib/kosmos/packages/science_alert.rb
|
199
203
|
- lib/kosmos/packages/spaceplane_plus.rb
|
200
204
|
- lib/kosmos/packages/tac_fuel_balancer.rb
|
201
205
|
- lib/kosmos/packages/tac_life_support.rb
|