Class: Souyuz::JavaSignCommandGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/souyuz/generators/java_sign_command_generator.rb

Overview

Responsible for building the jarsigner command

Class Method Summary collapse

Class Method Details

.detect_jarsigner_executableObject



24
25
26
27
28
# File 'lib/souyuz/generators/java_sign_command_generator.rb', line 24

def detect_jarsigner_executable
  jarsigner = ENV['JAVA_HOME'] ? File.join(ENV['JAVA_HOME'], 'bin', 'jarsigner') : 'jarsigner'

  jarsigner
end

.generateObject



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/souyuz/generators/java_sign_command_generator.rb', line 6

def generate
  build_apk_path = Souyuz.cache[:build_apk_path]
  Souyuz.cache[:signed_apk_path] = "#{build_apk_path}-unaligned"

  parts = prefix
  parts << detect_jarsigner_executable
  parts += options
  parts << build_apk_path
  parts << Souyuz.config[:keystore_alias]
  parts += pipe

  parts
end

.optionsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/souyuz/generators/java_sign_command_generator.rb', line 30

def options
  config = Souyuz.config

  options = []
  options << "-verbose" if $verbose
  options << "-sigalg MD5withRSA"
  options << "-digestalg SHA1"
  options << "-storepass \"#{config[:keystore_password]}\""
  options << "-keystore \"#{config[:keystore_path]}\""
  options << "-tsa #{config[:keystore_tsa]}"
  options << "-signedjar \"#{Souyuz.cache[:signed_apk_path]}\""

  options
end

.pipeObject



45
46
47
48
49
# File 'lib/souyuz/generators/java_sign_command_generator.rb', line 45

def pipe
  pipe = []

  pipe
end

.prefixObject



20
21
22
# File 'lib/souyuz/generators/java_sign_command_generator.rb', line 20

def prefix
  ["set -o pipefail &&"]
end