Regiandruby 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,58 @@
1
+ require 'Regiandruby/BaseClassRegi'
2
+ class RegiDeleteDeliveryUnitWithUnassign < 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
+
33
+ outputPackagesstr = self.executeRegiCommandLineWithOutput(['list','deliveryUnit',deliveryUnit,'--key=' + self.gethdbUserstoreKey()])
34
+
35
+ if outputPackagesstr!=''
36
+ outputPackages = outputPackagesstr.split(/\r?\n\t/)
37
+ else
38
+ return false
39
+ end
40
+
41
+ count = 0
42
+ while count<outputPackages.length do
43
+ self.executeRegiCommandLine(['unassign','packages',outputPackages[count],deliveryUnit,'--key='+self.gethdbUserstoreKey(),'--force'])
44
+ count = count + 1
45
+ end
46
+
47
+ if self.executeRegiCommandLine(['delete','deliveryUnit',deliveryUnit,'--vendor=' + self.getDeliveryUnitVendor()])!=true
48
+ return false
49
+ end
50
+ else
51
+ return false
52
+ end
53
+ end
54
+ end
55
+
56
+ return true
57
+ end
58
+ end
@@ -0,0 +1,47 @@
1
+ require 'Regiandruby/BaseClassRegi'
2
+ class RegiDeletePackage < 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
+ if Dir.exists?(workspaceName)
15
+ Dir.chdir(workspaceName) do
16
+ packageName = self.getPackageName()
17
+
18
+ if !packageName.nil?
19
+ executeSub(packageName)
20
+ end
21
+
22
+ mPackageNames = self.getPackageNames()
23
+
24
+ if !mPackageNames.nil? && mPackageNames.length>0
25
+ count = 0
26
+ while count<mPackageNames.length do
27
+ subPackageName = mPackageNames[count]
28
+ executeSub(subPackageName)
29
+ count = count + 1
30
+ end
31
+ end
32
+ end
33
+ end
34
+ return true
35
+ end
36
+
37
+ def executeSub(packageName)
38
+
39
+ self.executeRegiCommandLine(['delete','packages',packageName,'--key=' + self.gethdbUserstoreKey(),'--force'])
40
+
41
+ if self.executeRegiCommandLine(['untrack',packageName,'--key=' + self.gethdbUserstoreKey(),'--force'])!=true
42
+ return false
43
+ end
44
+
45
+ return true
46
+ end
47
+ end
@@ -0,0 +1,82 @@
1
+ require 'Regiandruby/BaseClassRegi'
2
+ class RegiExportDeliveryUnit < BaseClassRegi
3
+
4
+ @deliveryUnitFileName = nil
5
+ @nameVersionSeparator = nil
6
+ @alias = nil
7
+
8
+ @targetFolder = nil
9
+
10
+ public
11
+
12
+ def setDeliveryUnitFileName (deliveryUnitFileName)
13
+ @deliveryUnitFileName = deliveryUnitFileName
14
+ end
15
+
16
+ def setNameVersionSeparator (nameVersionSeparator)
17
+ @nameVersionSeparator = nameVersionSeparator
18
+ end
19
+
20
+ def setAlias (aliasname)
21
+ @alias = aliasname
22
+ end
23
+
24
+ def setTargetFolderName (foldername)
25
+ @targetFolder = foldername
26
+ end
27
+
28
+ def doExecute (workspaceName)
29
+
30
+ @deliveryUnitVersion = self.getDeliveryUnitVersion()
31
+ @deliveryUnitVersionSP = self.getDeliveryUnitVersionSP()
32
+ @deliveryUnitVersionPatch = self.getDeliveryUnitVersionPatch()
33
+
34
+
35
+ self.ensureNotNull("hdbUserstoreKey",self.gethdbUserstoreKey())
36
+ op = self.ensureNotNull("deliveryUnit",self.getDeliveryUnit())
37
+ self.ensureNotNull("deliveryUnitVersion",@deliveryUnitVersion)
38
+ self.ensureNotNull("deliveryUnitVendor",self.getDeliveryUnitVendor())
39
+
40
+ if @nameVersionSeparator.nil?
41
+ @nameVersionSeparator = '_'
42
+ end
43
+
44
+ if op!='Value not specified for deliveryUnit'
45
+ deliveryUnit = self.getDeliveryUnit()
46
+ deliveryUnit = deliveryUnit.upcase
47
+ else
48
+ return false
49
+ end
50
+
51
+ self.initCommandLine()
52
+ self.setKeystoreIfPresent()
53
+ self.ensureWorkspaceIsSelected(workspaceName)
54
+
55
+ if Dir.exists?(workspaceName)
56
+ Dir.chdir(workspaceName) do
57
+ deliveryUnitName = ''
58
+
59
+ if @deliveryUnitFileName.nil? && !@nameVersionSeparator.nil? && !@deliveryUnitVersion.nil? && !@deliveryUnitVersionSP.nil? && !@deliveryUnitVersionPatch.nil?
60
+ deliveryUnitName = deliveryUnitName + deliveryUnit + @nameVersionSeparator + @deliveryUnitVersion + "." + @deliveryUnitVersionSP + "." + @deliveryUnitVersionPatch
61
+ deliveryUnitName = deliveryUnitName + ".tgz"
62
+ else
63
+ deliveryUnitName = @deliveryUnitFileName
64
+ end
65
+
66
+ if !@targetFolder.nil?
67
+ #because Ruby uses /..mentioned in http://stackoverflow.com/questions/597488/how-to-do-a-safe-join-pathname-in-ruby
68
+ if !@alias.nil?
69
+ if self.executeRegiCommandLine(['export',deliveryUnit,self.getDeliveryUnitVendor(),@targetFolder + '/' + deliveryUnitName,'--alias='+ @alias])!=true
70
+ return false
71
+ end
72
+ else
73
+ if self.executeRegiCommandLine(['export',deliveryUnit,self.getDeliveryUnitVendor(),@targetFolder + '/' + deliveryUnitName])!=true
74
+ return false
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ return true
81
+ end
82
+ end
@@ -0,0 +1,47 @@
1
+ require 'Regiandruby/BaseClassRegi'
2
+ class RegiGeneric < BaseClassRegi
3
+
4
+ @regiAction = nil
5
+ @verbose = nil
6
+ @regiArgs = nil
7
+
8
+ public
9
+
10
+ def setRegiAction (argument)
11
+ @regiAction = argument
12
+ end
13
+
14
+ def setVerbose
15
+ @verbose = true
16
+ end
17
+
18
+ def setRegiArgs (arguments)
19
+ @regiArgs = arguments
20
+ end
21
+
22
+ def doExecute (workspaceName)
23
+
24
+ self.ensureNotNull("hdbUserstoreKey",self.gethdbUserstoreKey())
25
+ @regiAction = self.ensureNotNullOrEmpty("regiAction",@regiAction)
26
+
27
+ self.initCommandLine()
28
+ self.setKeystoreIfPresent()
29
+ self.ensureWorkspaceIsSelected(workspaceName)
30
+
31
+ args = [@regiAction]
32
+
33
+ if !@verbose.nil?
34
+ args.push('--verbose')
35
+ end
36
+
37
+ if !@regiArgs.nil? && @regiArgs.length>0
38
+ count = 0
39
+ while count<@regiArgs.length do
40
+ args.push(@regiArgs[count])
41
+ count = count + 1
42
+ end
43
+ end
44
+
45
+ return self.executeRegiCommandLineWithOutput(args)
46
+ end
47
+ end
@@ -0,0 +1,135 @@
1
+ require 'Regiandruby/BaseClassRegi'
2
+ class RegiImportDeliveryUnit < BaseClassRegi
3
+
4
+ @update = nil
5
+ @nameVersionSeparator = nil
6
+ @deliveryUnitFileName = nil
7
+ @useSnapshot = nil
8
+ @verbose = nil
9
+ @log = nil
10
+ @forceRemove = nil
11
+ @autoActivate = nil
12
+
13
+ public
14
+
15
+ def setUpdate
16
+ @update = true
17
+ end
18
+
19
+ def setDeliveryUnitFileName (filename)
20
+ @deliveryUnitFileName = filename
21
+ end
22
+
23
+ def setNameVersionSeparator (nameVersionSeparator)
24
+ @nameVersionSeparator = nameVersionSeparator
25
+ end
26
+
27
+ def setUseSnapshot
28
+ @useSnapshot = true
29
+ end
30
+
31
+ def setVerbose
32
+ @verbose = true
33
+ end
34
+
35
+ def setLog
36
+ @log = true
37
+ end
38
+
39
+ def setForceRemove
40
+ @forceRemove = true
41
+ end
42
+
43
+ def setAutoActivate
44
+ @autoActivate = true
45
+ end
46
+
47
+ def doExecute (workspaceName)
48
+
49
+ @deliveryUnitVersion = self.getDeliveryUnitVersion()
50
+ @deliveryUnitVersionSP = self.getDeliveryUnitVersionSP()
51
+ @deliveryUnitVersionPatch = self.getDeliveryUnitVersionPatch()
52
+
53
+ self.ensureNotNull('hdbUserstoreKey',self.gethdbUserstoreKey())
54
+ op = self.ensureNotNull('deliveryUnit',self.getDeliveryUnit())
55
+ self.ensureNotNull('deliveryUnitVersion',self.getDeliveryUnitVersion())
56
+
57
+ if op!='Value not specified for deliveryUnit'
58
+ deliveryUnit = self.getDeliveryUnit().upcase
59
+ end
60
+
61
+ self.initCommandLine()
62
+ self.setKeystoreIfPresent()
63
+ self.ensureWorkspaceIsSelected(workspaceName)
64
+
65
+ if Dir.exists?(workspaceName)
66
+ Dir.chdir(workspaceName) do
67
+
68
+ deliveryUnitstr = self.executeRegiCommandLineWithOutput(['list','deliveryUnits','--key=' + self.gethdbUserstoreKey()])
69
+
70
+ install = true
71
+
72
+ if deliveryUnitstr!=''
73
+ deliveryUnits = deliveryUnitstr.split(/\r?\n\t/)
74
+
75
+ if !deliveryUnits.include?(deliveryUnit)
76
+ install = true
77
+ else
78
+ if @update.nil?
79
+ install = true
80
+ else
81
+ install = false
82
+ end
83
+ end
84
+ end
85
+
86
+ if install==true
87
+
88
+ args = Array.new
89
+ args.push('import')
90
+
91
+ deliveryUnitName = ''
92
+
93
+ if @deliveryUnitFileName.nil? && !@nameVersionSeparator.nil? && !@deliveryUnitVersion.nil? && !@deliveryUnitVersionSP.nil? && !@deliveryUnitVersionPatch.nil?
94
+ deliveryUnitName = deliveryUnitName + @nameVersionSeparator + @deliveryUnitVersion + "." + @deliveryUnitVersionSP + "." + @deliveryUnitVersionPatch
95
+ if !@useSnapshot.nil?
96
+ deliveryUnitName = deliveryUnitName + '-SNAPSHOT'
97
+ end
98
+ deliveryUnitName = deliveryUnitName + '.tgz'
99
+ elsif !@deliveryUnitFileName.nil?
100
+ deliveryUnitName = @deliveryUnitFileName
101
+ end
102
+
103
+ args.push(deliveryUnitName)
104
+
105
+ if !@verbose.nil?
106
+ args.push('--verbose')
107
+ end
108
+
109
+ if !@log.nil?
110
+ args.push('--log')
111
+ end
112
+
113
+ if !@forceRemove.nil?
114
+ args.push('--forceRemove=1')
115
+ else
116
+ args.push('--forceRemove=0')
117
+ end
118
+
119
+ if !@autoActivate.nil?
120
+ args.push('--autoActivate=1')
121
+ else
122
+ args.push('--autoActivate=0')
123
+ end
124
+
125
+ args.push('--key=' + self.gethdbUserstoreKey())
126
+
127
+ if self.executeRegiCommandLine(args)!=true
128
+ return false
129
+ end
130
+ end
131
+ end
132
+ end
133
+ return true
134
+ end
135
+ end
@@ -0,0 +1,27 @@
1
+ require 'Regiandruby/BaseClassRegi'
2
+ class RegiInitWorkspace < 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
+ if Dir.exists?(workspaceName)
15
+ Dir.chdir(workspaceName) do
16
+ initWorkspaceCommand = ['track',self.getPackageName()]
17
+
18
+ self.executeRegiCommandLine(initWorkspaceCommand)
19
+ self.checkout()
20
+
21
+ initWorkspaceCommand = ['untrack',self.getPackageName()]
22
+
23
+ self.executeRegiCommandLine(initWorkspaceCommand)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,48 @@
1
+ require 'Regiandruby/BaseClassRegi'
2
+ class RegiUnassignPackage < 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
+ if Dir.exists?(workspaceName)
15
+ Dir.chdir(workspaceName) do
16
+ packageName = self.getPackageName()
17
+
18
+ if !packageName.nil?
19
+ executeSub(packageName)
20
+ end
21
+
22
+ mPackageNames = self.getPackageNames()
23
+
24
+ if !mPackageNames.nil? && mPackageNames.length>0
25
+ count = 0
26
+
27
+ while count<mPackageNames.length do
28
+ subPackageName = mPackageNames[count]
29
+ executeSub(subPackageName)
30
+ count = count + 1
31
+ end
32
+ end
33
+ end
34
+ end
35
+ return true
36
+ end
37
+
38
+ def executeSub (packageName)
39
+
40
+ assignmentType = 'package'
41
+
42
+ if !self.IsSubPackagesConsidered().nil?
43
+ assignmentType = 'packages'
44
+ end
45
+
46
+ self.executeRegiCommandLine(['unassign',assignmentType,packageName,self.getDeliveryUnit(),'--key=' + self.gethdbUserstoreKey(),'--force'])
47
+ end
48
+ end