sixarma 0.4.4 → 0.5.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.
- data/Rakefile +2 -2
- data/lib/sixarma.rb +21 -4
- data/lib/sixarma/config/pbotools.yaml +7 -0
- data/lib/sixarma/config/sign.yaml +2 -0
- data/lib/sixarma/pbotools.rb +9 -7
- data/lib/sixarma/sign.rb +13 -8
- metadata +5 -5
- data/lib/sixarma/config/pbotools.rb +0 -6
- data/lib/sixarma/config/sign.rb +0 -3
data/Rakefile
CHANGED
@@ -13,7 +13,7 @@ require 'rake/testtask'
|
|
13
13
|
spec = Gem::Specification.new do |s|
|
14
14
|
s.name = 'sixarma'
|
15
15
|
s.rubyforge_project = s.name
|
16
|
-
s.version = '0.
|
16
|
+
s.version = '0.5.0'
|
17
17
|
s.has_rdoc = true
|
18
18
|
s.extra_rdoc_files = ['README', 'LICENSE']
|
19
19
|
s.summary = 'Basic function library for the Armed Assault game by Bohemia Interactive Studios'
|
@@ -25,7 +25,7 @@ spec = Gem::Specification.new do |s|
|
|
25
25
|
s.files = %w(LICENSE README Rakefile) + Dir.glob("{bin,lib,spec}/**/*.rb") + Dir.glob("{bin,lib,spec}/**/*.yaml")
|
26
26
|
s.require_path = 'lib'
|
27
27
|
s.bindir = 'bin'
|
28
|
-
s.add_dependency('sixcore', '>= 0.
|
28
|
+
s.add_dependency('sixcore', '>= 0.4.0')
|
29
29
|
end
|
30
30
|
|
31
31
|
Rake::GemPackageTask.new(spec) do |p|
|
data/lib/sixarma.rb
CHANGED
@@ -3,8 +3,25 @@ gem 'sixcore'
|
|
3
3
|
require 'sixcore'
|
4
4
|
|
5
5
|
module SixArma
|
6
|
-
|
6
|
+
COMPONENT = 'SixArma'
|
7
|
+
TITLE = '6thSense.eu ArmA'
|
8
|
+
VERSION = '0.5.0'
|
9
|
+
@@log = Log4r::Logger.new('sixcore::sixarma')
|
10
|
+
|
11
|
+
module_function
|
12
|
+
def read_config(config, path)
|
13
|
+
obj = nil
|
14
|
+
if FileTest.exist?("config/#{config}.yaml")
|
15
|
+
File.open("config/#{config}.yaml") { |yf| obj = YAML::load( yf ) }
|
16
|
+
else
|
17
|
+
File.open("#{File.dirname(__FILE__)}/#{path}/#{config}.yaml") { |yf| obj = YAML::load( yf ) }
|
18
|
+
end
|
19
|
+
obj
|
20
|
+
end
|
7
21
|
|
8
|
-
|
9
|
-
|
10
|
-
|
22
|
+
def log
|
23
|
+
@@log
|
24
|
+
end
|
25
|
+
|
26
|
+
@@log.debug "#{TITLE} #{VERSION} loaded"
|
27
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
--- !ruby/struct:SixArma::ConfigPboTools
|
2
|
+
program: C:/Program Files (x86)/Bohemia Interactive/Tools/BinPBO Personal Edition/BINPbo.exe
|
3
|
+
temppath: H:/temp/binpbo
|
4
|
+
includefile: I:/ACE/trunk/build-scripts/_include.txt
|
5
|
+
binpbo_params_bin: -BINARIZE -CLEAR -DEBUG
|
6
|
+
binpbo_params_pbo: -CLEAR -DEBUG
|
7
|
+
prefix_file: $PBOPREFIX$
|
data/lib/sixarma/pbotools.rb
CHANGED
@@ -4,8 +4,10 @@
|
|
4
4
|
require 'sixcore'
|
5
5
|
require 'sixarma'
|
6
6
|
module SixArma
|
7
|
+
ConfigPboTools = Struct.new(:program, :temppath, :includefile, :binpbo_params_bin, :binpbo_params_pbo, :prefix_file)
|
8
|
+
|
7
9
|
module PboTools
|
8
|
-
|
10
|
+
@@config = SixArma::read_config('pbotools', 'sixarma/config')
|
9
11
|
|
10
12
|
module_function
|
11
13
|
# Checks prefix, returns read from file prefix, empty prefix, or given prefix
|
@@ -13,8 +15,8 @@ module SixArma
|
|
13
15
|
# prefix:: String: Empty, '__AUTO__' or specific prefix can be given
|
14
16
|
def check_prefix(source, prefix)
|
15
17
|
return prefix unless prefix == '__AUTO__'
|
16
|
-
if FileTest.exist?("#{source}
|
17
|
-
pf = File.open("#{source}
|
18
|
+
if FileTest.exist?("#{source}/#{@@config.prefix_file}")
|
19
|
+
pf = File.open("#{source}/#{@@config.prefix_file}") do |file|
|
18
20
|
file.readlines.map { |line| SixCore::clean(line) }
|
19
21
|
end
|
20
22
|
if pf[0].empty?
|
@@ -32,10 +34,10 @@ module SixArma
|
|
32
34
|
# destination:: destination folder without addon name
|
33
35
|
# prf:: Prefix, see check_prefix
|
34
36
|
def binarize(source, destination, prf = '')
|
35
|
-
params =
|
37
|
+
params = "#{@@config.binpbo_params_bin} -TEMP #{@@config.temppath} -INCLUDE #{@@config.includefile}"
|
36
38
|
prefix = check_prefix(source, prf)
|
37
39
|
params += " -PREFIX #{prefix}" unless prefix.empty?
|
38
|
-
SixCore::proc_cmd("#{
|
40
|
+
SixCore::proc_cmd("#{@@config.program} \"#{source}\" \"#{destination}\" #{params}".gsub('/', '\\'))
|
39
41
|
end
|
40
42
|
|
41
43
|
# Packs addon
|
@@ -43,10 +45,10 @@ module SixArma
|
|
43
45
|
# destination:: destination folder without addon name
|
44
46
|
# prf:: Prefix, see check_prefix
|
45
47
|
def pack(source, destination, prf = "")
|
46
|
-
params =
|
48
|
+
params = "#{@@config.binpbo_params_pbo} -TEMP #{@@config.temppath}"
|
47
49
|
prefix = check_prefix(source, prf)
|
48
50
|
params += " -PREFIX #{prefix}" unless prefix.empty?
|
49
|
-
SixCore::proc_cmd("#{BINPBO} \"#{source}\" \"#{destination}\" #{params}")
|
51
|
+
SixCore::proc_cmd("#{BINPBO} \"#{source}\" \"#{destination}\" #{params}".gsub('/', '\\'))
|
50
52
|
end
|
51
53
|
end
|
52
54
|
end
|
data/lib/sixarma/sign.rb
CHANGED
@@ -4,8 +4,11 @@
|
|
4
4
|
require 'sixarma'
|
5
5
|
|
6
6
|
module SixArma
|
7
|
+
ConfigSign = Struct.new(:path)
|
8
|
+
|
7
9
|
module Sign
|
8
|
-
|
10
|
+
@@log = SixArma::log
|
11
|
+
@@config = SixArma::read_config('sign', 'sixarma/config')
|
9
12
|
COMPONENT = 'SixArma::Sign'
|
10
13
|
|
11
14
|
module_function
|
@@ -13,29 +16,31 @@ module SixArma
|
|
13
16
|
# Returns created files
|
14
17
|
# name:: String name of key
|
15
18
|
def create(name)
|
16
|
-
SixCore::
|
19
|
+
@@log.debug SixCore::prep_msg('Creating Signature', :component => COMPONENT, :verbose => name, :format => 'title')
|
17
20
|
|
18
21
|
# create the key
|
19
22
|
signfile = "#{name}.biprivatekey"
|
20
23
|
signkey = "#{name}.bikey"
|
21
|
-
unless FileTest.exist?("#{
|
22
|
-
Dir.chdir(
|
23
|
-
SixCore::proc_cmd("
|
24
|
+
unless FileTest.exist?("#{@@config.path}/#{signfile}")
|
25
|
+
Dir.chdir(@@config.path)
|
26
|
+
SixCore::proc_cmd("dscreatekey #{name}")
|
24
27
|
Dir.chdir(SixCore::MAINDIR)
|
25
28
|
end
|
26
|
-
return [signfile, signkey,
|
29
|
+
return [signfile, signkey, @@config.path]
|
27
30
|
end
|
28
31
|
|
29
32
|
# Signs files in destination
|
30
33
|
# destination:: Destination folder
|
31
34
|
# signfile:: Signature file name
|
32
35
|
def sign(destination, signfile)
|
33
|
-
SixCore::
|
36
|
+
@@log.debug SixCore::prep_msg('Signing...', :component => COMPONENT, :verbose => [destination, signfile], :format => 'title')
|
34
37
|
if signfile.empty?
|
35
38
|
return 1
|
36
39
|
else
|
37
40
|
Dir.chdir(destination)
|
38
|
-
|
41
|
+
keyfile = "#{@@config.path}/#{signfile}"
|
42
|
+
keyfile.gsub!('/', '\\')
|
43
|
+
Dir['*.pbo'].each { |file| SixCore::proc_cmd "#{@@config.path}/dssignfile #{keyfile} #{file}" }
|
39
44
|
Dir.chdir(SixCore::MAINDIR)
|
40
45
|
return 0
|
41
46
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sixarma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sickboy
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-12-02 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.
|
23
|
+
version: 0.4.0
|
24
24
|
version:
|
25
25
|
description: Basic function library for the Armed Assault game by Bohemia Interactive Studios
|
26
26
|
email: sb@6thsense.eu
|
@@ -35,11 +35,11 @@ files:
|
|
35
35
|
- LICENSE
|
36
36
|
- README
|
37
37
|
- Rakefile
|
38
|
-
- lib/sixarma/config/pbotools.rb
|
39
|
-
- lib/sixarma/config/sign.rb
|
40
38
|
- lib/sixarma/pbotools.rb
|
41
39
|
- lib/sixarma/sign.rb
|
42
40
|
- lib/sixarma.rb
|
41
|
+
- lib/sixarma/config/pbotools.yaml
|
42
|
+
- lib/sixarma/config/sign.yaml
|
43
43
|
has_rdoc: true
|
44
44
|
homepage: http://6thsense.eu
|
45
45
|
post_install_message:
|
@@ -1,6 +0,0 @@
|
|
1
|
-
BINPBO = 'C:\\Program Files (x86)\\Bohemia Interactive\\Tools\\BinPBO Personal Edition\\BINPbo.exe'
|
2
|
-
TEMPPATH = 'H:\\temp\\binpbo'
|
3
|
-
INCLUDEFILE = 'I:\\ACE\\trunk\\build-scripts\\_include.txt'
|
4
|
-
BINPBOPARAMSBIN = "-BINARIZE -CLEAR -TEMP #{TEMPPATH} -DEBUG -INCLUDE #{INCLUDEFILE}"
|
5
|
-
BINPBOPARAMSPBO = "-CLEAR -TEMP #{TEMPPATH} -DEBUG"
|
6
|
-
PREFIX_FILE = '$PBOPREFIX$'
|
data/lib/sixarma/config/sign.rb
DELETED