Regiandruby 1.0.1
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.
- checksums.yaml +7 -0
- data/lib/Regiandruby.rb +436 -0
- data/lib/Regiandruby/BaseClassRegi.rb +374 -0
- data/lib/Regiandruby/RegiAssignPackage.rb +39 -0
- data/lib/Regiandruby/RegiCheckoutPackages.rb +29 -0
- data/lib/Regiandruby/RegiClean.rb +89 -0
- data/lib/Regiandruby/RegiCommitPackage.rb +87 -0
- data/lib/Regiandruby/RegiCreateDeliveryUnit.rb +101 -0
- data/lib/Regiandruby/RegiCreatePackage.rb +64 -0
- data/lib/Regiandruby/RegiDeleteDeliveryUnit.rb +43 -0
- data/lib/Regiandruby/RegiDeleteDeliveryUnitWithUnassign.rb +58 -0
- data/lib/Regiandruby/RegiDeletePackage.rb +47 -0
- data/lib/Regiandruby/RegiExportDeliveryUnit.rb +82 -0
- data/lib/Regiandruby/RegiGeneric.rb +47 -0
- data/lib/Regiandruby/RegiImportDeliveryUnit.rb +135 -0
- data/lib/Regiandruby/RegiInitWorkspace.rb +27 -0
- data/lib/Regiandruby/RegiUnassignPackage.rb +48 -0
- data/lib/Regiandruby/RegiUndeployDeliveryUnit.rb +68 -0
- data/spec/lib/Regiandruby_spec.rb +73 -0
- metadata +123 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'Regiandruby/BaseClassRegi'
|
2
|
+
class RegiAssignPackage < BaseClassRegi
|
3
|
+
|
4
|
+
public
|
5
|
+
|
6
|
+
def doExecute (workspaceName)
|
7
|
+
|
8
|
+
self.ensureNotNull("hdbUserstoreKey",self.gethdbUserstoreKey())
|
9
|
+
|
10
|
+
self.initCommandLine()
|
11
|
+
self.setKeystoreIfPresent()
|
12
|
+
self.ensureWorkspaceIsSelected(workspaceName)
|
13
|
+
|
14
|
+
@assignmentType = 'package'
|
15
|
+
|
16
|
+
if !self.IsSubPackagesConsidered().nil?
|
17
|
+
@assignmentType = 'packages'
|
18
|
+
end
|
19
|
+
|
20
|
+
if Dir.exists?(workspaceName)
|
21
|
+
Dir.chdir(workspaceName) do
|
22
|
+
if !self.getPackageName().nil?
|
23
|
+
executeRegiCommandLine (['assign',@assignmentType,self.getPackageName(),self.getDeliveryUnit()])
|
24
|
+
end
|
25
|
+
|
26
|
+
if !self.getPackageNames().nil? && self.getPackageNames().length>0
|
27
|
+
count = 0
|
28
|
+
@mPackageNames = self.getPackageNames()
|
29
|
+
|
30
|
+
while count<@mPackageNames.length do
|
31
|
+
executeRegiCommandLine(['assign',@assignmentType,@mPackageNames[count],self.getDeliveryUnit()])
|
32
|
+
count = count + 1
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
return true
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'Regiandruby/BaseClassRegi'
|
2
|
+
class RegiCheckoutPackages < BaseClassRegi
|
3
|
+
|
4
|
+
public
|
5
|
+
|
6
|
+
def doExecute (workspaceName)
|
7
|
+
|
8
|
+
self.ensureNotNull("hdbUserstoreKey",self.gethdbUserstoreKey())
|
9
|
+
self.ensureNotNull("packageName",self.getPackageName())
|
10
|
+
|
11
|
+
self.initCommandLine()
|
12
|
+
self.setKeystoreIfPresent()
|
13
|
+
self.ensureWorkspaceIsSelected(workspaceName)
|
14
|
+
|
15
|
+
if Dir.exists?(workspaceName)
|
16
|
+
Dir.chdir(workspaceName) do
|
17
|
+
@output = executeRegiCommandLine(['checkout','packages','--force',self.getPackageName()])
|
18
|
+
|
19
|
+
if @output
|
20
|
+
return true
|
21
|
+
else
|
22
|
+
return false
|
23
|
+
end
|
24
|
+
end
|
25
|
+
else
|
26
|
+
return false
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'Regiandruby/BaseClassRegi'
|
2
|
+
class RegiClean < BaseClassRegi
|
3
|
+
|
4
|
+
@cleanDeliveryUnit = nil
|
5
|
+
|
6
|
+
def setCleanDeliveryUnit
|
7
|
+
@cleanDeliveryUnit = true
|
8
|
+
end
|
9
|
+
|
10
|
+
public :setCleanDeliveryUnit
|
11
|
+
|
12
|
+
def doExecute (workspaceName)
|
13
|
+
|
14
|
+
self.ensureNotNull('hdbUserstoreKey',self.gethdbUserstoreKey())
|
15
|
+
|
16
|
+
self.initCommandLine()
|
17
|
+
self.setKeystoreIfPresent()
|
18
|
+
|
19
|
+
stdout = ''
|
20
|
+
|
21
|
+
if Dir.exists?(workspaceName)
|
22
|
+
require 'fileutils'
|
23
|
+
FileUtils.rm_rf(workspaceName)
|
24
|
+
end
|
25
|
+
|
26
|
+
self.ensureWorkspaceIsSelected(workspaceName)
|
27
|
+
|
28
|
+
if Dir.exists?(workspaceName)
|
29
|
+
Dir.chdir(workspaceName) do
|
30
|
+
self.revert()
|
31
|
+
self.commit()
|
32
|
+
self.activate()
|
33
|
+
|
34
|
+
if !self.getDeliveryUnit().nil?
|
35
|
+
|
36
|
+
stdout = self.executeRegiCommandLineWithOutput(['list','deliveryUnit',deliveryUnit,'--vendor=' + self.getDeliveryUnitVendor()])
|
37
|
+
|
38
|
+
if stdout!=''
|
39
|
+
packages = stdout.split(/\r?\n\t/)
|
40
|
+
|
41
|
+
count = 0
|
42
|
+
while count<packages.length do
|
43
|
+
deletePackage(packages[count],self.gethdbUserstoreKey())
|
44
|
+
count = count + 1
|
45
|
+
end
|
46
|
+
|
47
|
+
if !@cleanDeliveryUnit.nil?
|
48
|
+
deleteDeliveryUnit(self.getDeliveryUnit(),self.gethdbUserstoreKey())
|
49
|
+
end
|
50
|
+
else
|
51
|
+
if !@cleanDeliveryUnit.nil?
|
52
|
+
deleteDeliveryUnit(self.getDeliveryUnit(),self.gethdbUserstoreKey())
|
53
|
+
end
|
54
|
+
end
|
55
|
+
else
|
56
|
+
if !self.getPackageName().nil?
|
57
|
+
deletePackage(self.getPackageName(),self.gethdbUserstoreKey())
|
58
|
+
end
|
59
|
+
|
60
|
+
mPackageNames = self.getPackageNames()
|
61
|
+
|
62
|
+
if !mPackageNames.nil? && mPackageNames.length>0
|
63
|
+
count = 0
|
64
|
+
while count<mPackageNames.length do
|
65
|
+
subPackageName = mPackageNames[count]
|
66
|
+
deletePackage(subPackageName,self.gethdbUserstoreKey())
|
67
|
+
count = count + 1
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
return true
|
74
|
+
end
|
75
|
+
|
76
|
+
public :doExecute
|
77
|
+
|
78
|
+
def deletePackage (packageName,hdbUserstoreKey)
|
79
|
+
self.executeRegiCommandLine(['delete','packages',packageName,'--key=' + hdbUserstoreKey,'--force'])
|
80
|
+
end
|
81
|
+
|
82
|
+
protected :deletePackage
|
83
|
+
|
84
|
+
def deleteDeliveryUnit (deliveryUnit,hdbUserstoreKey)
|
85
|
+
self.executeRegiCommandLine(['delete','deliveryUnit',deliveryUnit,'--vendor=' + self.getDeliveryUnitVendor(),'--key=' + hdbUserstoreKey,'--force'])
|
86
|
+
end
|
87
|
+
|
88
|
+
protected :deleteDeliveryUnit
|
89
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'Regiandruby/BaseClassRegi'
|
2
|
+
class RegiCommitPackage < BaseClassRegi
|
3
|
+
|
4
|
+
@revertPackages = nil
|
5
|
+
@assignSubPackages = nil
|
6
|
+
|
7
|
+
public
|
8
|
+
|
9
|
+
def doRevertPackages
|
10
|
+
@revertPackages = true
|
11
|
+
end
|
12
|
+
|
13
|
+
def doassignSubPackages
|
14
|
+
@assignSubPackages = true
|
15
|
+
end
|
16
|
+
|
17
|
+
def doExecute (workspaceName)
|
18
|
+
|
19
|
+
self.ensureNotNull("hdbUserstoreKey",self.gethdbUserstoreKey())
|
20
|
+
|
21
|
+
self.initCommandLine()
|
22
|
+
self.setKeystoreIfPresent()
|
23
|
+
self.ensureWorkspaceIsSelected(workspaceName)
|
24
|
+
|
25
|
+
if Dir.exists?(workspaceName)
|
26
|
+
Dir.chdir(workspaceName) do
|
27
|
+
|
28
|
+
if !@revertPackages.nil?
|
29
|
+
self.revert()
|
30
|
+
end
|
31
|
+
|
32
|
+
packageName = self.getPackageName()
|
33
|
+
|
34
|
+
if !packageName.nil?
|
35
|
+
executeSub(packageName)
|
36
|
+
end
|
37
|
+
|
38
|
+
mPackageNames = self.getPackageNames()
|
39
|
+
|
40
|
+
if !mPackageNames.nil? && mPackageNames.length>0
|
41
|
+
count = 0
|
42
|
+
while count<mPackageNames.length do
|
43
|
+
subPackageName = mPackageNames[count]
|
44
|
+
executeSub(subPackageName)
|
45
|
+
count = count + 1
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
return true
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def executeSub (packageName)
|
55
|
+
|
56
|
+
if self.executeRegiCommandLine(['track',packageName])!=true
|
57
|
+
return false
|
58
|
+
end
|
59
|
+
|
60
|
+
self.commit()
|
61
|
+
self.activate()
|
62
|
+
|
63
|
+
deliveryUnit = self.getDeliveryUnit()
|
64
|
+
deliveryUnitVendor = self.getDeliveryUnitVendor()
|
65
|
+
|
66
|
+
if !deliveryUnit.nil?
|
67
|
+
deliveryUnit = deliveryUnit.upcase
|
68
|
+
|
69
|
+
command = 'package'
|
70
|
+
if !@assignSubPackages.nil?
|
71
|
+
command = 'packages'
|
72
|
+
end
|
73
|
+
|
74
|
+
if self.executeRegiCommandLine(['assign',command,packageName,'--deliveryUnit=' + deliveryUnit,'--vendor=' + deliveryUnitVendor,'--force'])!=true
|
75
|
+
return false
|
76
|
+
end
|
77
|
+
|
78
|
+
if self.executeRegiCommandLine(['assign',packageName,deliveryUnit,'--vendor=' + deliveryUnitVendor])!=true
|
79
|
+
return false
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
self.executeRegiCommandLine(['untrack',packageName])
|
84
|
+
|
85
|
+
return true
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
require 'Regiandruby/BaseClassRegi'
|
2
|
+
class RegiCreateDeliveryUnit < BaseClassRegi
|
3
|
+
|
4
|
+
@deliveryUnitResponsible = nil
|
5
|
+
|
6
|
+
@deliveryUnitACH =nil
|
7
|
+
@deliveryUnitCaption = nil
|
8
|
+
@deliveryUnitPPMSId = nil
|
9
|
+
@deliveryUnitSpPPMSId = nil
|
10
|
+
|
11
|
+
|
12
|
+
public
|
13
|
+
|
14
|
+
def setDeliveryUnitResponsible (deliveryUnitResponsible)
|
15
|
+
@deliveryUnitResponsible = deliveryUnitResponsible
|
16
|
+
end
|
17
|
+
|
18
|
+
def setDeliveryUnitACH (deliveryUnitACH)
|
19
|
+
@deliveryUnitACH = deliveryUnitACH
|
20
|
+
end
|
21
|
+
|
22
|
+
def setDeliveryUnitCaption (deliveryUnitCaption)
|
23
|
+
@deliveryUnitCaption = deliveryUnitCaption
|
24
|
+
end
|
25
|
+
|
26
|
+
def setDeliveryUnitPPMSId (deliveryUnitPPMSId)
|
27
|
+
@deliveryUnitPPMSId = deliveryUnitPPMSId
|
28
|
+
end
|
29
|
+
|
30
|
+
def setDeliveryUnitSpPPMSId (deliveryUnitSpPPMSId)
|
31
|
+
@deliveryUnitSpPPMSId = deliveryUnitSpPPMSId
|
32
|
+
end
|
33
|
+
|
34
|
+
def doExecute (workspaceName)
|
35
|
+
|
36
|
+
self.ensureNotNull("hdbUserstoreKey",self.gethdbUserstoreKey())
|
37
|
+
op = self.ensureNotNull("deliveryUnit",self.getDeliveryUnit())
|
38
|
+
|
39
|
+
@deliveryUnitVersion = self.getDeliveryUnitVersion()
|
40
|
+
@deliveryUnitVersionSP = self.getDeliveryUnitVersionSP()
|
41
|
+
@deliveryUnitVersionPatch = self.getDeliveryUnitVersionPatch()
|
42
|
+
|
43
|
+
if op!='Value not specified for deliveryUnit'
|
44
|
+
deliveryUnit = self.getDeliveryUnit().upcase
|
45
|
+
else
|
46
|
+
return false
|
47
|
+
end
|
48
|
+
|
49
|
+
self.initCommandLine()
|
50
|
+
self.setKeystoreIfPresent()
|
51
|
+
self.ensureWorkspaceIsSelected(workspaceName)
|
52
|
+
|
53
|
+
if Dir.exists?(workspaceName)
|
54
|
+
Dir.chdir(workspaceName) do
|
55
|
+
deliveryUnitstr = self.executeRegiCommandLineWithOutput(['list','deliveryUnits'])
|
56
|
+
|
57
|
+
if deliveryUnitstr!=''
|
58
|
+
deliveryUnits = deliveryUnitstr.split(/\r?\n\t/)
|
59
|
+
else
|
60
|
+
return false
|
61
|
+
end
|
62
|
+
|
63
|
+
if !deliveryUnits.include?(deliveryUnit)
|
64
|
+
if !@deliveryUnitVersion.nil?
|
65
|
+
self.ensureNotNullOrEmpty("deliveryUnitResponsible",@deliveryUnitResponsible)
|
66
|
+
self.ensureNotNullOrEmpty("deliveryUnitVersion",@deliveryUnitVersion)
|
67
|
+
self.ensureNotNullOrEmpty("deliveryUnitVersionSP",@deliveryUnitVersionSP)
|
68
|
+
self.ensureNotNullOrEmpty("deliveryUnitVersionPatch",@deliveryUnitVersionPatch)
|
69
|
+
|
70
|
+
commandArray = ['create','deliveryUnit',deliveryUnit,'--responsible=' + @deliveryUnitResponsible,'--version=' + @deliveryUnitVersion,'--versionSP='+ @deliveryUnitVersionSP,'--versionPatch=' + @deliveryUnitVersionPatch,'--vendor=' + self.getDeliveryUnitVendor()]
|
71
|
+
|
72
|
+
if !@deliveryUnitACH.nil?
|
73
|
+
commandArray.push('--ach='+ @deliveryUnitACH)
|
74
|
+
end
|
75
|
+
if !@deliveryUnitCaption.nil?
|
76
|
+
commandArray.push('--caption='+ @deliveryUnitCaption)
|
77
|
+
end
|
78
|
+
if !@deliveryUnitPPMSId.nil?
|
79
|
+
commandArray.push('--ppmsID='+ @deliveryUnitPPMSId)
|
80
|
+
end
|
81
|
+
if !@deliveryUnitSpPPMSId.nil?
|
82
|
+
commandArray.push('--spPPMSID='+ @deliveryUnitSpPPMSId)
|
83
|
+
end
|
84
|
+
|
85
|
+
if self.executeRegiCommandLine(commandArray)!=true
|
86
|
+
return false
|
87
|
+
else
|
88
|
+
return true
|
89
|
+
end
|
90
|
+
else
|
91
|
+
if self.executeRegiCommandLine(['create','deliveryUnit',deliveryUnit])!=true
|
92
|
+
return false
|
93
|
+
else
|
94
|
+
return true
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'Regiandruby/BaseClassRegi'
|
2
|
+
class RegiCreatePackage < BaseClassRegi
|
3
|
+
|
4
|
+
public
|
5
|
+
|
6
|
+
def doExecute (workspaceName)
|
7
|
+
|
8
|
+
self.ensureNotNull("hdbUserstoreKey",self.gethdbUserstoreKey())
|
9
|
+
self.ensureNotNull("package",self.getPackageName())
|
10
|
+
|
11
|
+
self.initCommandLine()
|
12
|
+
self.setKeystoreIfPresent()
|
13
|
+
self.ensureWorkspaceIsSelected(workspaceName)
|
14
|
+
|
15
|
+
|
16
|
+
if Dir.exists?(workspaceName)
|
17
|
+
Dir.chdir(workspaceName) do
|
18
|
+
packageName = self.getPackageName()
|
19
|
+
|
20
|
+
if !packageName.nil?
|
21
|
+
executeSub(packageName)
|
22
|
+
end
|
23
|
+
|
24
|
+
mPackageNames = self.getPackageNames()
|
25
|
+
|
26
|
+
if !mPackageNames.nil? && mPackageNames.length>0
|
27
|
+
count = 0
|
28
|
+
while count<mPackageNames.length do
|
29
|
+
subPackageName = mPackageNames[count]
|
30
|
+
executeSub(subPackageName)
|
31
|
+
count = count + 1
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
return true
|
38
|
+
end
|
39
|
+
|
40
|
+
def executeSub (packageName)
|
41
|
+
|
42
|
+
regiOutput = self.executeRegiCommandLineWithOutput(['list','packages','--package=' + packageName])
|
43
|
+
|
44
|
+
if regiOutput==''
|
45
|
+
if self.executeRegiCommandLine(['create','package',packageName,'--force'])!=true
|
46
|
+
return false
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
deliveryUnit = self.getDeliveryUnit()
|
51
|
+
deliveryUnitVendor = self.getDeliveryUnitVendor()
|
52
|
+
|
53
|
+
if !deliveryUnit.nil?
|
54
|
+
deliveryUnit = deliveryUnit.upcase
|
55
|
+
|
56
|
+
if self.executeRegiCommandLine(['assign','package',packageName,deliveryUnit,'--vendor=' + deliveryUnitVendor])!=true
|
57
|
+
return false
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
self.executeRegiCommandLine(['untrack',packageName])
|
62
|
+
return true
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'Regiandruby/BaseClassRegi'
|
2
|
+
class RegiDeleteDeliveryUnit < BaseClassRegi
|
3
|
+
|
4
|
+
public
|
5
|
+
|
6
|
+
def doExecute (workspaceName)
|
7
|
+
|
8
|
+
self.ensureNotNull('hdbUserstoreKey',self.gethdbUserstoreKey())
|
9
|
+
op = self.ensureNotNull('deliveryUnit',self.getDeliveryUnit())
|
10
|
+
|
11
|
+
if op!='Value not specified for deliveryUnit'
|
12
|
+
deliveryUnit = self.getDeliveryUnit().upcase
|
13
|
+
else
|
14
|
+
return false
|
15
|
+
end
|
16
|
+
|
17
|
+
self.initCommandLine()
|
18
|
+
self.setKeystoreIfPresent()
|
19
|
+
self.ensureWorkspaceIsSelected(workspaceName)
|
20
|
+
|
21
|
+
if Dir.exists?(workspaceName)
|
22
|
+
Dir.chdir(workspaceName) do
|
23
|
+
deliveryUnitstr = self.executeRegiCommandLineWithOutput(['list','deliveryUnits'])
|
24
|
+
|
25
|
+
if deliveryUnitstr!=''
|
26
|
+
deliveryUnits = deliveryUnitstr.split(/\r?\n\t/)
|
27
|
+
else
|
28
|
+
return false
|
29
|
+
end
|
30
|
+
|
31
|
+
if deliveryUnits.include?(deliveryUnit)
|
32
|
+
if self.executeRegiCommandLine(['delete','deliveryUnit',deliveryUnit,'--vendor=' + self.getDeliveryUnitVendor()])!=true
|
33
|
+
return false
|
34
|
+
end
|
35
|
+
else
|
36
|
+
return false
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
return true
|
42
|
+
end
|
43
|
+
end
|