|
1
|
|
|
# @author Sascha Manns |
|
2
|
|
|
# @abstract Class RevisionCreator for PublicanCreator |
|
3
|
|
|
# |
|
4
|
|
|
# Copyright (C) 2015-2017 Sascha Manns <[email protected]> |
|
5
|
|
|
# License: MIT |
|
6
|
|
|
# |
|
7
|
|
|
# Dependencies |
|
8
|
|
|
require 'fileutils' |
|
9
|
|
|
require 'rainbow/ext/string' |
|
10
|
|
|
require File.expand_path(File.join(File.dirname(__FILE__), 'change.rb')) |
|
11
|
|
|
require File.expand_path(File.join(File.dirname(__FILE__), 'get.rb')) |
|
12
|
|
|
|
|
13
|
|
|
# A class for creating a revison to a publican project |
|
14
|
|
|
class RevisionCreator |
|
15
|
|
|
# @note Ask for the revision information |
|
16
|
|
|
null, directory, member1, member2, member3, member4, member5, |
|
17
|
|
|
revnumber = PublicanCreatorsGet.revision |
|
18
|
|
|
language = PublicanCreatorsGet.config_revision |
|
19
|
|
|
|
|
20
|
|
|
revision, edition = revnumber.split('-') |
|
21
|
|
|
|
|
22
|
|
|
puts "Directory: #{directory}" |
|
23
|
|
|
puts "Member1: #{member1}" |
|
24
|
|
|
puts "Member2: #{member2}" |
|
25
|
|
|
puts "Member3: #{member3}" |
|
26
|
|
|
puts "Member4: #{member4}" |
|
27
|
|
|
puts "Member5: #{member5}" |
|
28
|
|
|
puts "Language: #{language}" |
|
29
|
|
|
puts "Revnumber: #{revnumber}" |
|
30
|
|
|
puts "Revision: #{revision}" |
|
31
|
|
|
puts "Edition: #{edition}" |
|
32
|
|
|
puts null |
|
33
|
|
|
|
|
34
|
|
|
# This method prepares the string for adding a new revision |
|
35
|
|
|
# @param [String] member1 is the first string into revdescription |
|
36
|
|
|
# @param [String] member2 is the second string into revdescription |
|
37
|
|
|
# @param [String] member3 is the third string into revdescription |
|
38
|
|
|
# @param [String] member4 is the fourth string into revdescription |
|
39
|
|
|
# @param [String] member5 is the fifth string into revdescription |
|
40
|
|
|
# @param [String] revnumber is the revision number |
|
41
|
|
|
# @param [String] language is the language. Comes from config file. |
|
42
|
|
|
# @return [String] string is that string for creating the commit |
|
43
|
|
|
def self.prepare_revision(member1, member2, member3, member4, member5, |
|
44
|
|
|
revnumber, language) |
|
45
|
|
|
string = "--member \"#{member1}\"" |
|
46
|
|
|
string << " --member \"#{member2}\"" if member2 != '' |
|
47
|
|
|
string << " --member \"#{member3}\"" if member3 != '' |
|
48
|
|
|
string << " --member \"#{member4}\"" if member4 != '' |
|
49
|
|
|
string << " --member \"#{member5}\"" if member5 != '' |
|
50
|
|
|
string << " --revnumber \"#{revnumber}\"" |
|
51
|
|
|
string << " --lang \"#{language}\"" |
|
52
|
|
|
end |
|
53
|
|
|
|
|
54
|
|
|
# This method changes to the target directory |
|
55
|
|
|
FileUtils.cd(directory) do |
|
56
|
|
|
string = prepare_revision(member1, member2, member3, member4, member5, |
|
57
|
|
|
revnumber, language) |
|
58
|
|
|
PublicanCreatorsChange.replace_productnumber(revision, edition, language) |
|
59
|
|
|
system("publican add_revision #{string}") |
|
60
|
|
|
end |
|
61
|
|
|
end |
|
62
|
|
|
|