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
|
|
|
|