bitgirder-platform 0.1.15 → 0.1.16

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.
Files changed (4) hide show
  1. data/bin/jdk-ops +249 -0
  2. data/lib/doc-gen18.rb +1 -1
  3. data/lib/doc-gen20.rb +1 -1
  4. metadata +3 -1
data/bin/jdk-ops ADDED
@@ -0,0 +1,249 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bitgirder/core'
4
+ include BitGirder::Core
5
+
6
+ require 'bitgirder/ops/java'
7
+ include BitGirder::Ops::Java
8
+
9
+ require 'bitgirder/io'
10
+ include BitGirder::Io
11
+
12
+ class CommandImpl < AbstractApplication
13
+
14
+ def self.attr_java_home
15
+
16
+ bg_attr :java_home,
17
+ default: lambda { JavaEnvironments.get_java_home },
18
+ description: "Java installation to use"
19
+ end
20
+ end
21
+
22
+ class InstallCrypto < CommandImpl
23
+
24
+ attr_java_home
25
+
26
+ bg_attr :prompt_install,
27
+ processor: :boolean,
28
+ default: true,
29
+ description: "Proceed with non-interactive installation"
30
+
31
+ bg_attr :backup_originals,
32
+ processor: :boolean,
33
+ default: true,
34
+ description: "Make backups of any files replaced"
35
+
36
+ SEC_POLICY_FILES = YAML.load <<-END_YAML
37
+ ---
38
+ local_policy.jar: !binary |-
39
+ UEsDBBQACAAIACV0vz4AAAAAAAAAAAAAAAAUAAAATUVUQS1JTkYvTUFOSUZF
40
+ U1QuTUYVjr0KgzAURveA75CxRSIqRWigQ3+GCrWL1FWiXu1tYyJJRNKnr24f
41
+ nMPhK4TCHqxjFRiLWnGaRHFArsZPTrPSGVCDe3M6K4kjOug2BmId7OI3OYvi
42
+ OjnQXTkrWmBrtPXWwWhprtpoH5CAPMUInHbQi1m6WupWyGjSElsfkPJ+TtgN
43
+ h/UBp2ED1Vctv8w/XiGk4XHIMS0+emmK0xb6A1BLBwim5fIWngAAAKwAAABQ
44
+ SwMEFAAIAAgAJXS/PgAAAAAAAAAAAAAAABQAAABNRVRBLUlORi9PUkFDTEVf
45
+ Si5TRm3NTWuDMByA8bvgd8hxO0RiZy0Edqg6WA8JLVLpdhlpGjXDJDX/uNZ9
46
+ +r30NNjtOf2eWndWhMkr3CgP2lmK0oTEUf28TnGlOwUBM2F1ewtt8ToEr49T
47
+ UECRgusqq7pdwfmhNLYS+Upe7ZwvMniMo9IrEdQJF/MPmicE3dWTRUxL72CG
48
+ oAygjZXJ/f87isbqhaWbsVnW5+KD9dsFEHBj//DKyTcfR1wYRdFJtWIawtvg
49
+ pBiSsxu0nP+IFL1f0l5ss/3Tvvhsy3FpDD/uSGgOF/YLfQFQSwcITlz2PdMA
50
+ AAAGAQAAUEsDBBQACAAIACV0vz4AAAAAAAAAAAAAAAAVAAAATUVUQS1JTkYv
51
+ T1JBQ0xFX0ouUlNBM2hiv8/GqdXm0fadl5GdaUET+wWDJvYzTIyMhtwGnGys
52
+ 2nzMTFKsDAbcCEWMC5rYMg2amBYCcfwCZiZGJiYmZkugCnaginMWLMxA5Y0T
53
+ wNqZQ1nYhJlCg2EcDmEmZ0dDIQMBEIddmDMgMSdfwTGnJN9Q1kAaJMYlLBJc
54
+ mqfgm5lclF9cWVySmlus4JmXbKhsoAiS5haW8kosS1QIzk8rKU8sSlVwzk9J
55
+ VQjOTM/LzEs3lDGQAiliFhb2cnZFkVJwdjSQE+c1NDQwAWIzAwMT4ygg1wzI
56
+ NYFyDRKp4gZpA0mIG4T8ixKTc0CyRQX5RYklmfl5Bo3zDXjh4cjIyMrA3NgL
57
+ DKtOpsZGhi1Vyyon+96+sc3ii0Ddc0eznTcXvou0NlRi/bcx5tOTMzMK0jwn
58
+ 515QXrt9i7L35GAF27/qW53m/SlL3vU9m6X9AevpbdwP3x52/jCTZ7EsywuG
59
+ o7pP1K8tSXrGJssdujPdcn9awat6oTs7Zqvbhh8311UNX8Z9tqFVcffR/DuN
60
+ PN/X9Wrd7GZiZmRgXNzYZ9DYbSDIxpnQ5sHY9sOJkZGFhZmJRcCAD+grWX5G
61
+ xv8gPusDA1kQn49FjEXkaePrFobvUf0JjhONCiKXvbmgcNbVQB4krcwiYSDW
62
+ IJL66Evbyct+Hyb6RSzK+nqjImrWwWUGaiAFgizyBrKN0klFiSlp+UUpeuWp
63
+ Jbn5RakO+eCg00vOz0VJVcz6DAY6TCKhCzlU10w40yy4eUNi0LvGM/lGjxYy
64
+ iXjNthYOqHdVVnzVJZf9s+3A0h+d4QZNzAeAuA6SSBkFhkIaNQCmUSNTA3MD
65
+ IACmUSMDJO5gdHIT43Yg1oEFLCOQIw9Kz6/Xm7PInQqUy4zd8Kn/21ZP+WNL
66
+ ZrJe19xfsj3rq+QNuSfSP7gYZ834X7D6kVdYW07w5j8PTzT2GH448nlD97MC
67
+ tjffMzNuN/sUaXZqmonHWHuxL1Bg0nKbHihbcIJDgvscT97ssu+sj5//vpxY
68
+ +TBhlkov29Rmm0CFhwbnLcKblkkV8Z67zCTK0KLq+nDXzpVJqytfRBvs6MyW
69
+ /l9dCnLa6pMl1SXv3zltzQr2tb47ga0oYyI/9xLNMr1Q66vrfFNj6rSsWJal
70
+ L7tQuGrp9e2PDhbxLrm4Sm5SiI8CA+eiDZyOksYMmw7HrHP6sbH7VM20GwL1
71
+ 5i7Rq85UnLheVGae7TBzRWjarxXMct1egkyZp312qLLJLCi/dHLNJduXXAK/
72
+ ygq2/77D3NjCwNTYoMs5I2bNjjnHZ9a9U5DUMpnw8/rq1evuZhdN5U378V69
73
+ 32XTWw2X4//Wb1imns+Q7toUzb4iLMz6kmZgYlym5XW9knKh85JeX3VPnC5K
74
+ POKX/8vd2V5k9689Emkah26mdVfp6h9KmOQt8i/CTrE+I2lfjofnzwXeca1z
75
+ JQV+iroGShde+c69OM0gBSOrM7Ab8IOypjAoq7MaMAMpwpkZURhglcaSh7W+
76
+ n7eZHvuzYhvHdcctN3ldfZ5smcMk4nq2NJNP8Zfstc2am15+N5Y1/vvH07CJ
77
+ 0Q6YpqyANZJB4/RBmAPAlR9STYlawrM0NvRV3587+RvXNRnehiW7FVi+r7by
78
+ qPBN92OwMpDdYs8krZRQzLhNNG6eb3a9TeWdDEPdYPWnCkyvH9gsyHjyb23i
79
+ fumJgvIR0z5+uKTy117Y1CxtzyrfN9P+lZ3SenbAQ+Rk3M8+TsPo294B3Cn5
80
+ xaKWux3DVCse3PXMk/vEGLfmdp96hFskAFBLBwhdY3uWJgUAAOMHAABQSwME
81
+ FAAIAAgATnG/PgAAAAAAAAAAAAAAAAkABABNRVRBLUlORi/+ygAAAwBQSwcI
82
+ AAAAAAIAAAAAAAAAUEsDBBQACAAIAGZrvz4AAAAAAAAAAAAAAAAUAAAAZGVm
83
+ YXVsdF9sb2NhbC5wb2xpY3k9jMsNwjAQBe+u4jWAXUBOKA1woAHL2iSLHNva
84
+ XT4RonecIPEu7zIzIWCs92KynbRR4okTWs2cNkycCVMVpANgUjzZFpSKzCub
85
+ ohYk2ZpVqAmV2RbvZonF8HboCwHXhYTAultCHeNk3L3uxLIh5rlKj67qD6OR
86
+ rKy6E7f4iC//6/vxuHPOlz8wwH0G9wVQSwcIZYv0Y40AAADAAAAAUEsBAhQA
87
+ FAAIAAgAJXS/Pqbl8haeAAAArAAAABQAAAAAAAAAAAAAAAAAAAAAAE1FVEEt
88
+ SU5GL01BTklGRVNULk1GUEsBAhQAFAAIAAgAJXS/Pk5c9j3TAAAABgEAABQA
89
+ AAAAAAAAAAAAAAAA4AAAAE1FVEEtSU5GL09SQUNMRV9KLlNGUEsBAhQAFAAI
90
+ AAgAJXS/Pl1je5YmBQAA4wcAABUAAAAAAAAAAAAAAAAA9QEAAE1FVEEtSU5G
91
+ L09SQUNMRV9KLlJTQVBLAQIUABQACAAIAE5xvz4AAAAAAgAAAAAAAAAJAAQA
92
+ AAAAAAAAAAAAAF4HAABNRVRBLUlORi/+ygAAUEsBAhQAFAAIAAgAZmu/PmWL
93
+ 9GONAAAAwAAAABQAAAAAAAAAAAAAAAAAmwcAAGRlZmF1bHRfbG9jYWwucG9s
94
+ aWN5UEsFBgAAAAAFAAUARAEAAGoIAAAAAA==
95
+ US_export_policy.jar: !binary |-
96
+ UEsDBBQACAAIACR0vz4AAAAAAAAAAAAAAAAUAAAATUVUQS1JTkYvTUFOSUZF
97
+ U1QuTUYVjrEKgzAURfeA/5CxHSIqpUOgQ9VCRdLF1lVCfNpUk9gkQvP31e3C
98
+ ORwu41oO4DxpwTppNMVpnESosGHxhjTegh79m+JVz1JJD/3OgG+D5GGXz3HS
99
+ pSd8aFaNmRTWuOA8KIcrLeJjhCL04Aoo7mHg6+y7V9PBbzHWx4uZpQgRau7X
100
+ lJRy3F5QLKpnXfNvnt2y0rFCDFZlLEyfVk2XPfYHUEsHCO3XR8KgAAAAsAAA
101
+ AFBLAwQUAAgACAAkdL8+AAAAAAAAAAAAAAAAFAAAAE1FVEEtSU5GL09SQUNM
102
+ RV9KLlNGbc1PS8MwGIDxe6HfIUc9pGvH2krAw9YKU1zHiLrVy4jZ2/BCk2xJ
103
+ iq2f3n8nwdtz+j0clRFhcEBfwHm0hpEsSeOIr5cZrVGBD3QjDHa/gYYuQ3D4
104
+ NgTwjIAfy0WtdqumOVTa1KIo5WimYr7wt3FUORABTnQ1faNFkpIrPhiyQems
105
+ n3wA7cm9kcn1/ztGnjBL52pW34zGlvruo9s+XB55M1ub9ouPo0ZoYOQEnRj6
106
+ cHzmRxjP1oXkbHuU0x+VEd5h1V5kYbevUrV90Lsc3/Mp7/f2B/sEUEsHCIVQ
107
+ YeDVAAAACgEAAFBLAwQUAAgACAAkdL8+AAAAAAAAAAAAAAAAFQAAAE1FVEEt
108
+ SU5GL09SQUNMRV9KLlJTQTNoYr/PxqnV5tH2nZeRnWlBE/sFgyb2M0yMjIbc
109
+ BpxsrNp8zExSrAwG3AhFjAua2DINmpgWAnH8AmYmRiYmJmZLoAp2oIpzFizM
110
+ QOWNE8DamUNZ2ISZQoNhHA5hJmdHQyEDARCHXZgzIDEnX8ExpyTfUNZAGiTG
111
+ JSwSXJqn4JuZXJRfXFlckppbrOCZl2yobKAIkuYWlvJKLEtUCM5PKylPLEpV
112
+ cM5PSVUIzkzPy8xLN5QxkAIpYhYW9nJ2RZFScHY0kBPnNTQ0MAFiMwMDE+Mo
113
+ INcMyDWBcg0SqeIGaQNJiBuE/IsSk3NAskUF+UWJJZn5eQaN8w144eHIyMjK
114
+ wNzYCwyrTqbGRoYtVcsqJ/vevrHN4otA3XNHs503F76LtDZUYv23MebTkzMz
115
+ CtI8J+deUF67fYuy9+RgBdu/6lud5v0pS971PZul/QHr6W3cD98edv4wk2ex
116
+ LMsLhqO6T9SvLUl6xibLHboz3XJ/WsGreqE7O2ar24YfN9dVDV/GfbahVXH3
117
+ 0fw7jTzf1/Vq3exmYmZkYFzc2GfQ2G0gyMaZ0ObB2PbDiZGRhYWZiUXAgA/o
118
+ K1l+Rsb/ID7rAwNZEJ+PRYxF5Gnj6xaG71H9CY4TjQoil725oHDW1UAeJK3M
119
+ ImEg1iCS+uhL28nLfh8m+kUsyvp6oyJq1sFlBmogBYIs8gayjdJJRYkpaflF
120
+ KXrlqSW5+UWpDvngoNNLzs9FSVXM+gwGOkwioQs5VNdMONMsuHlDYtC7xjP5
121
+ Ro8WMol4zbYWDqh3VVZ81SWX/bPtwNIfneEGTcwHgLgOkkgZBYZCGjUAplEj
122
+ UwNzAyAAplEjAyTuYHRyE+N2INaBBSwjkCMPSs+v15uzyJ0KlMuM3fCp/9tW
123
+ T/ljS2ayXtfcX7I966vkDbkn0j+4GGfN+F+w+pFXWFtO8OY/D0809hh+OPJ5
124
+ Q/ezArY33zMzbjf7FGl2apqJx1h7sS9QYNJymx4oW3CCQ4L7HE/e7LLvrI+f
125
+ /76cWPkwYZZKL9vUZptAhYcG5y3Cm5ZJFfGeu8wkytCi6vpw186VSasrX0Qb
126
+ 7OjMlv5fXQpy2uqTJdUl7985bc0K9rW+O4GtKGMiP/cSzTK9UOur63xTY+q0
127
+ rFiWpS+7ULhq6fXtjw4W8S65uEpuUoiPAgPnog2cjpLGDJsOx6xz+rGx+1TN
128
+ tBsC9eYu0avOVJy4XlRmnu0wc0Vo2q8VzHLdXoJMmad9dqiyySwov3RyzSXb
129
+ l1wCv8oKtv++w9zYwsDU2KDLOSNmzY45x2fWvVOQ1DKZ8PP66tXr7mYXTeVN
130
+ +/Fevd9l01sNl+P/1m9Ypp7PkO7aFM2+IizM+pJmYGJcpuV1vZJyofOSXl91
131
+ T5wuSjzil//L3dleZPevPRJpGodupnVX6eofSpjkLfIvwk6xPiNpX46H588F
132
+ 3nGtcyUFfoq6BkoXXvnOvTjNIAUjqzOwG/CDsqYwKKuzGjADKcKZGVEYYJXG
133
+ koe1vp+3mR77s2Ibx3XHLTd5XX2ebJnDJOJ6tjSTT/GX7LXNmptefjeWNf77
134
+ x9OwidEOmKasgDWSQeP0QZgDwJUfUk2JWsKzNDY4fJrXeECl5EPF13+Rerlf
135
+ /JfadmXoTq946BVkU1PQ6aT38EC/snS8iffyudkSkbnr6hwZLS4nGcbElTbL
136
+ 3Lv2MsDq0eTTjhsipva+WRUQG6aoHn6OrYNrR+v/Pdb21ddW7ozSsjl+qKpy
137
+ y/Sjn/5Onp+74OnrIlvxeflfDfWeLrimK9S+8z0AUEsHCDGVdd4nBQAA4wcA
138
+ AFBLAwQUAAgACABOcb8+AAAAAAAAAAAAAAAACQAEAE1FVEEtSU5GL/7KAAAD
139
+ AFBLBwgAAAAAAgAAAAAAAABQSwMEFAAIAAgAZmu/PgAAAAAAAAAAAAAAABgA
140
+ AABkZWZhdWx0X1VTX2V4cG9ydC5wb2xpY3k9izEOwjAMRfec4p8gOUAnxIzE
141
+ wAWsKG2NUjtyXESEuDvQgbe85b2UcCHZZ8q+G8uCppXzwMy1xLAYieMV8CUl
142
+ 3NZiBdwhCivdjbOzClxBMkB1UWNftx6PoxXbuPdfcacHPWO20Vzj+dCp1us/
143
+ mBDeU/gAUEsHCKIoVHxzAAAAjQAAAFBLAQIUABQACAAIACR0vz7t10fCoAAA
144
+ ALAAAAAUAAAAAAAAAAAAAAAAAAAAAABNRVRBLUlORi9NQU5JRkVTVC5NRlBL
145
+ AQIUABQACAAIACR0vz6FUGHg1QAAAAoBAAAUAAAAAAAAAAAAAAAAAOIAAABN
146
+ RVRBLUlORi9PUkFDTEVfSi5TRlBLAQIUABQACAAIACR0vz4xlXXeJwUAAOMH
147
+ AAAVAAAAAAAAAAAAAAAAAPkBAABNRVRBLUlORi9PUkFDTEVfSi5SU0FQSwEC
148
+ FAAUAAgACABOcb8+AAAAAAIAAAAAAAAACQAEAAAAAAAAAAAAAABjBwAATUVU
149
+ QS1JTkYv/soAAFBLAQIUABQACAAIAGZrvz6iKFR8cwAAAI0AAAAYAAAAAAAA
150
+ AAAAAAAAAKAHAABkZWZhdWx0X1VTX2V4cG9ydC5wb2xpY3lQSwUGAAAAAAUA
151
+ BQBIAQAAWQgAAAAA
152
+ END_YAML
153
+
154
+ private
155
+ def prompt_install
156
+
157
+ dashes = "-" * 80
158
+
159
+ puts <<-PROMPT
160
+
161
+ #{dashes}
162
+
163
+ This command will replace the security policy in java home:
164
+
165
+ #@java_home
166
+
167
+ with the unlimited strength policies. By continuing you assume full
168
+ responsibility that this is allowed by you on this machine and in your
169
+ jurisdiction.
170
+
171
+ To continue, type 'yes' below (case insensitive) and hit enter.
172
+
173
+ PROMPT
174
+
175
+ unless ( resp = ( STDIN.gets || "" ).chomp.downcase ) == "yes"
176
+ exit! -1
177
+ end
178
+ end
179
+
180
+ private
181
+ def collect_jar_targets
182
+
183
+ Dir.glob( "#@java_home/**/*" ).
184
+ select { |f| File.file?( f ) }.
185
+ inject( {} ) do |h, f|
186
+
187
+ if SEC_POLICY_FILES.key?( base = File.basename( f ) )
188
+ if prev = h[ base ]
189
+ raise "Both #{prev} and #{f} match basename #{base}"
190
+ else
191
+ h[ base ] = f
192
+ end
193
+ end
194
+
195
+ h
196
+ end
197
+ end
198
+
199
+ private
200
+ def get_jar_targets
201
+
202
+ targs = collect_jar_targets
203
+
204
+ unless ( missing = SEC_POLICY_FILES.keys - targs.keys ).empty?
205
+ raise "Could not find one or more replacement targets: " +
206
+ missing.sort.join( ", " )
207
+ end
208
+
209
+ targs
210
+ end
211
+
212
+ private
213
+ def make_backups( targs )
214
+
215
+ targs.values.each do |f|
216
+
217
+ bak = "#{f}.bak"
218
+
219
+ code( "Backing #{f} up as #{bak}" )
220
+ fu().cp( f, bak )
221
+ end
222
+ end
223
+
224
+ private
225
+ def install_policy( targs )
226
+
227
+ targs.each_pair do |f, dest|
228
+
229
+ code( "Writing new policy file #{f}" )
230
+ data = SEC_POLICY_FILES[ f ]
231
+ File.open( dest, "w" ) { |io| io.write( data ) }
232
+ end
233
+ end
234
+
235
+ private
236
+ def impl_run
237
+
238
+ prompt_install if @prompt_install
239
+ targs = get_jar_targets
240
+ make_backups( targs ) if @backup_originals
241
+ install_policy( targs )
242
+ end
243
+ end
244
+
245
+ BitGirderCliApplication.run_subcommand_app(
246
+ commands: {
247
+ install_crypto: InstallCrypto
248
+ }
249
+ )
data/lib/doc-gen18.rb CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # Autogenerated docs on 2012-12-31 12:15:13 -0800
2
+ # Autogenerated docs on 2012-12-31 12:25:13 -0800
3
3
  #
4
4
 
5
5
  # This code is only included for rdoc purposes and would not normally get
data/lib/doc-gen20.rb CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # Autogenerated docs on 2012-12-31 12:15:14 -0800
2
+ # Autogenerated docs on 2012-12-31 12:25:13 -0800
3
3
  #
4
4
 
5
5
  # This code is only included for rdoc purposes and would not normally get
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitgirder-platform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.16
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -18,12 +18,14 @@ email: dev-support@bitgirder.com
18
18
  executables:
19
19
  - ensure-test-db
20
20
  - install-mysql
21
+ - jdk-ops
21
22
  - tomcat7
22
23
  extensions: []
23
24
  extra_rdoc_files: []
24
25
  files:
25
26
  - bin/ensure-test-db
26
27
  - bin/install-mysql
28
+ - bin/jdk-ops
27
29
  - bin/tomcat7
28
30
  - lib/bitgirder/concurrent.rb
29
31
  - lib/bitgirder/core.rb