software_smithy 1.1 → 1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/smithy +140 -33
- data/etc/completion/smithy-completion.bash +106 -7
- data/etc/completion/zsh/_smithy +121 -27
- data/etc/templates/formula.rb.erb +11 -0
- data/etc/templates/web/machine_version_table.html.erb +0 -7
- data/etc/templates/web/version_table.html.erb +2 -2
- data/lib/smithy/config.rb +70 -13
- data/lib/smithy/description.rb +4 -4
- data/lib/smithy/download_cache.rb +120 -0
- data/lib/smithy/file_operations.rb +13 -6
- data/lib/smithy/formula.rb +203 -0
- data/lib/smithy/formula_command.rb +198 -0
- data/lib/smithy/helpers.rb +83 -37
- data/lib/smithy/module_file.rb +21 -10
- data/lib/smithy/package.rb +111 -86
- data/lib/smithy.rb +3 -0
- data/lib/smithy_version.rb +1 -1
- data/man/man1/smithy.1 +240 -53
- data/smithy.rdoc +107 -7
- metadata +84 -39
- data/README.rdoc +0 -114
- data/etc/smithyrc +0 -36
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: software_smithy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.6'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-08-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: awesome_print
|
16
|
-
requirement: &
|
16
|
+
requirement: &6177800 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,32 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *6177800
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: interactive_editor
|
27
|
+
requirement: &6187700 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *6187700
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: cucumber
|
38
|
+
requirement: &6183940 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *6183940
|
25
47
|
- !ruby/object:Gem::Dependency
|
26
48
|
name: debugger
|
27
|
-
requirement: &
|
49
|
+
requirement: &6194240 !ruby/object:Gem::Requirement
|
28
50
|
none: false
|
29
51
|
requirements:
|
30
52
|
- - ! '>='
|
@@ -32,10 +54,10 @@ dependencies:
|
|
32
54
|
version: '0'
|
33
55
|
type: :development
|
34
56
|
prerelease: false
|
35
|
-
version_requirements: *
|
57
|
+
version_requirements: *6194240
|
36
58
|
- !ruby/object:Gem::Dependency
|
37
59
|
name: rake
|
38
|
-
requirement: &
|
60
|
+
requirement: &6205540 !ruby/object:Gem::Requirement
|
39
61
|
none: false
|
40
62
|
requirements:
|
41
63
|
- - ! '>='
|
@@ -43,10 +65,10 @@ dependencies:
|
|
43
65
|
version: '0'
|
44
66
|
type: :development
|
45
67
|
prerelease: false
|
46
|
-
version_requirements: *
|
68
|
+
version_requirements: *6205540
|
47
69
|
- !ruby/object:Gem::Dependency
|
48
70
|
name: rdoc
|
49
|
-
requirement: &
|
71
|
+
requirement: &6214160 !ruby/object:Gem::Requirement
|
50
72
|
none: false
|
51
73
|
requirements:
|
52
74
|
- - ! '>='
|
@@ -54,10 +76,10 @@ dependencies:
|
|
54
76
|
version: '0'
|
55
77
|
type: :development
|
56
78
|
prerelease: false
|
57
|
-
version_requirements: *
|
79
|
+
version_requirements: *6214160
|
58
80
|
- !ruby/object:Gem::Dependency
|
59
81
|
name: aruba
|
60
|
-
requirement: &
|
82
|
+
requirement: &6224380 !ruby/object:Gem::Requirement
|
61
83
|
none: false
|
62
84
|
requirements:
|
63
85
|
- - ! '>='
|
@@ -65,10 +87,10 @@ dependencies:
|
|
65
87
|
version: '0'
|
66
88
|
type: :development
|
67
89
|
prerelease: false
|
68
|
-
version_requirements: *
|
90
|
+
version_requirements: *6224380
|
69
91
|
- !ruby/object:Gem::Dependency
|
70
92
|
name: ronn
|
71
|
-
requirement: &
|
93
|
+
requirement: &6223040 !ruby/object:Gem::Requirement
|
72
94
|
none: false
|
73
95
|
requirements:
|
74
96
|
- - ! '>='
|
@@ -76,32 +98,54 @@ dependencies:
|
|
76
98
|
version: '0'
|
77
99
|
type: :development
|
78
100
|
prerelease: false
|
79
|
-
version_requirements: *
|
101
|
+
version_requirements: *6223040
|
80
102
|
- !ruby/object:Gem::Dependency
|
81
|
-
name:
|
82
|
-
requirement: &
|
103
|
+
name: rspec
|
104
|
+
requirement: &6222120 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *6222120
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: fuubar
|
115
|
+
requirement: &6220900 !ruby/object:Gem::Requirement
|
83
116
|
none: false
|
84
117
|
requirements:
|
85
118
|
- - ! '>='
|
86
119
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
120
|
+
version: '0'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: *6220900
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: gli
|
126
|
+
requirement: &6217560 !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - =
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 2.7.0
|
88
132
|
type: :runtime
|
89
133
|
prerelease: false
|
90
|
-
version_requirements: *
|
134
|
+
version_requirements: *6217560
|
91
135
|
- !ruby/object:Gem::Dependency
|
92
136
|
name: kramdown
|
93
|
-
requirement: &
|
137
|
+
requirement: &6230480 !ruby/object:Gem::Requirement
|
94
138
|
none: false
|
95
139
|
requirements:
|
96
140
|
- - ! '>='
|
97
141
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
142
|
+
version: 1.1.0
|
99
143
|
type: :runtime
|
100
144
|
prerelease: false
|
101
|
-
version_requirements: *
|
145
|
+
version_requirements: *6230480
|
102
146
|
- !ruby/object:Gem::Dependency
|
103
147
|
name: open4
|
104
|
-
requirement: &
|
148
|
+
requirement: &6229240 !ruby/object:Gem::Requirement
|
105
149
|
none: false
|
106
150
|
requirements:
|
107
151
|
- - ! '>='
|
@@ -109,10 +153,10 @@ dependencies:
|
|
109
153
|
version: '0'
|
110
154
|
type: :runtime
|
111
155
|
prerelease: false
|
112
|
-
version_requirements: *
|
156
|
+
version_requirements: *6229240
|
113
157
|
- !ruby/object:Gem::Dependency
|
114
158
|
name: rainbow
|
115
|
-
requirement: &
|
159
|
+
requirement: &6226140 !ruby/object:Gem::Requirement
|
116
160
|
none: false
|
117
161
|
requirements:
|
118
162
|
- - ! '>='
|
@@ -120,21 +164,21 @@ dependencies:
|
|
120
164
|
version: '0'
|
121
165
|
type: :runtime
|
122
166
|
prerelease: false
|
123
|
-
version_requirements: *
|
167
|
+
version_requirements: *6226140
|
124
168
|
- !ruby/object:Gem::Dependency
|
125
169
|
name: activesupport
|
126
|
-
requirement: &
|
170
|
+
requirement: &6239320 !ruby/object:Gem::Requirement
|
127
171
|
none: false
|
128
172
|
requirements:
|
129
|
-
- -
|
173
|
+
- - =
|
130
174
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
175
|
+
version: 3.2.14
|
132
176
|
type: :runtime
|
133
177
|
prerelease: false
|
134
|
-
version_requirements: *
|
178
|
+
version_requirements: *6239320
|
135
179
|
- !ruby/object:Gem::Dependency
|
136
180
|
name: terminal-table
|
137
|
-
requirement: &
|
181
|
+
requirement: &6235820 !ruby/object:Gem::Requirement
|
138
182
|
none: false
|
139
183
|
requirements:
|
140
184
|
- - ! '>='
|
@@ -142,20 +186,19 @@ dependencies:
|
|
142
186
|
version: 1.4.5
|
143
187
|
type: :runtime
|
144
188
|
prerelease: false
|
145
|
-
version_requirements: *
|
189
|
+
version_requirements: *6235820
|
146
190
|
description:
|
147
191
|
email: anthony.digirolamo@gmail.com
|
148
192
|
executables:
|
149
193
|
- smithy
|
150
194
|
extensions: []
|
151
195
|
extra_rdoc_files:
|
152
|
-
- README.rdoc
|
153
196
|
- smithy.rdoc
|
154
197
|
files:
|
155
198
|
- bin/smithy
|
156
199
|
- etc/completion/smithy-completion.bash
|
157
200
|
- etc/completion/zsh/_smithy
|
158
|
-
- etc/
|
201
|
+
- etc/templates/formula.rb.erb
|
159
202
|
- etc/templates/modulefile.erb
|
160
203
|
- etc/templates/build/.owners
|
161
204
|
- etc/templates/build/build-notes
|
@@ -181,14 +224,16 @@ files:
|
|
181
224
|
- lib/smithy.rb
|
182
225
|
- lib/smithy/config.rb
|
183
226
|
- lib/smithy/description.rb
|
227
|
+
- lib/smithy/download_cache.rb
|
228
|
+
- lib/smithy/file_operations.rb
|
184
229
|
- lib/smithy/format.rb
|
230
|
+
- lib/smithy/formula.rb
|
231
|
+
- lib/smithy/formula_command.rb
|
185
232
|
- lib/smithy/helpers.rb
|
186
|
-
- lib/smithy/package.rb
|
187
233
|
- lib/smithy/module_file.rb
|
188
|
-
- lib/smithy/
|
234
|
+
- lib/smithy/package.rb
|
189
235
|
- lib/smithy_version.rb
|
190
236
|
- man/man1/smithy.1
|
191
|
-
- README.rdoc
|
192
237
|
- smithy.rdoc
|
193
238
|
homepage: https://github.com/AnthonyDiGirolamo/smithy
|
194
239
|
licenses: []
|
@@ -197,7 +242,7 @@ rdoc_options:
|
|
197
242
|
- --title
|
198
243
|
- smithy
|
199
244
|
- --main
|
200
|
-
-
|
245
|
+
- smithy.rdoc
|
201
246
|
- -ri
|
202
247
|
require_paths:
|
203
248
|
- lib
|
@@ -210,7 +255,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
210
255
|
version: '0'
|
211
256
|
segments:
|
212
257
|
- 0
|
213
|
-
hash:
|
258
|
+
hash: 2070636643313497117
|
214
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
215
260
|
none: false
|
216
261
|
requirements:
|
@@ -219,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
219
264
|
version: '0'
|
220
265
|
segments:
|
221
266
|
- 0
|
222
|
-
hash:
|
267
|
+
hash: 2070636643313497117
|
223
268
|
requirements: []
|
224
269
|
rubyforge_project:
|
225
270
|
rubygems_version: 1.8.11
|
data/README.rdoc
DELETED
@@ -1,114 +0,0 @@
|
|
1
|
-
Smithy is a tool that aims to replicate and improve upon functionality of
|
2
|
-
{SWTools}[http://www.olcf.ornl.gov/center-projects/swtools/].
|
3
|
-
|
4
|
-
Smithy's goals are:
|
5
|
-
|
6
|
-
* Provide a simplified and intuitive command line interface for installing software.
|
7
|
-
* Reduce the number of steps necessary for each function
|
8
|
-
|
9
|
-
= Installation
|
10
|
-
|
11
|
-
== Installing ruby
|
12
|
-
|
13
|
-
Smithy requires ruby 1.9.2 or later. Most distrubutions only ship version 1.8.7
|
14
|
-
and you may need build your own copy. The simplest way is using the excellent
|
15
|
-
{ruby-build}[https://github.com/sstephenson/ruby-build] script. As an example,
|
16
|
-
this will install ruby with a prefix of <tt>/sw/xk6/ruby/1.9.3-p286/sles11.1_gnu4.3.4</tt>
|
17
|
-
|
18
|
-
curl -L https://github.com/sstephenson/ruby-build/archive/master.zip -o ruby-build.zip
|
19
|
-
unzip ruby-build.zip
|
20
|
-
cd ruby-build-master
|
21
|
-
./bin/ruby-build -h
|
22
|
-
./bin/ruby-build --definitions
|
23
|
-
./bin/ruby-build 1.9.3-p286 /sw/xk6/ruby/1.9.3-p286/sles11.1_gnu4.3.4
|
24
|
-
|
25
|
-
Many sites use {Environment Modules}[http://modules.sourceforge.net/] to allow
|
26
|
-
users to load and unload software into their environment. Here is sample
|
27
|
-
modulefile for ruby installed in the previous example.
|
28
|
-
|
29
|
-
#%Module1.0
|
30
|
-
proc ModulesHelp { } {
|
31
|
-
puts stderr "Ruby 1.9.3 patch 286"
|
32
|
-
puts stderr "The gem command will install gems to the ~/.gem directory."
|
33
|
-
}
|
34
|
-
module-whatis "Ruby 1.9.3-p286"
|
35
|
-
|
36
|
-
set PREFIX /sw/xk6/ruby/1.9.3-p286/sles11.1_gnu4.3.4
|
37
|
-
prepend-path PATH $PREFIX/bin
|
38
|
-
prepend-path LD_LIBRARY_PATH $PREFIX/lib
|
39
|
-
prepend-path MANPATH $PREFIX/share/man
|
40
|
-
setenv GEM_HOME $env(HOME)/.gem/ruby/1.9.1
|
41
|
-
setenv GEM_PATH $env(HOME)/.gem/ruby/1.9.1:$PREFIX/lib/ruby/gems/1.9.1
|
42
|
-
prepend-path PATH $env(HOME)/.gem/ruby/1.9.1/bin:$PREFIX/lib/ruby/gems/1.9.1/bin
|
43
|
-
|
44
|
-
This file should be saved to <tt>$MODULEPATH/ruby/1.9.3</tt>
|
45
|
-
|
46
|
-
== Installing smithy
|
47
|
-
|
48
|
-
=== Choosting an install location
|
49
|
-
|
50
|
-
There are two ways to install smithy. The simplest is by simply installing the
|
51
|
-
<tt>software_smithy</tt> gem. This will install smithy and it's required gems in
|
52
|
-
your home directory:
|
53
|
-
|
54
|
-
gem install software_smithy
|
55
|
-
|
56
|
-
If you are installing in production for all users you will want to install
|
57
|
-
smithy somewhere everyone can access. There are two places you might want to do
|
58
|
-
this:
|
59
|
-
|
60
|
-
==== Ruby's default GEM_PATH
|
61
|
-
|
62
|
-
If you installed manually using the examples above, this will be something like
|
63
|
-
<tt>PREFIX/lib/ruby/gems/1.9.1</tt> This will give access to smithy whenever
|
64
|
-
ruby is loaded into a users environment using the modulefile above. To install
|
65
|
-
to ruby's default GEM_PATH (following the above example):
|
66
|
-
|
67
|
-
export GEM_HOME=/sw/xk6/ruby/1.9.3-p286/sles11.1_gnu4.3.4/lib/ruby/gems/1.9.1
|
68
|
-
gem install software_smithy --no-rdoc --no-ri
|
69
|
-
|
70
|
-
==== A different location of your choosing.
|
71
|
-
|
72
|
-
This is useful if you want a single smithy install location for more than one
|
73
|
-
install of ruby (typically on separate machines). This method is a bit more
|
74
|
-
complicated and requires users to load smithy into their environment manually in
|
75
|
-
addition to ruby.
|
76
|
-
|
77
|
-
Assuming you use environment modules you can install smithy to a separate
|
78
|
-
directory e.g. <tt>/sw/tools/smithy</tt> with the install_smithy script. This
|
79
|
-
will setup a folder containing the smithy gem, a modulefile and a script that
|
80
|
-
sets up shell completion. Users can load smithy into their environment by
|
81
|
-
running:
|
82
|
-
|
83
|
-
source /sw/tools/smithy/environment.sh
|
84
|
-
|
85
|
-
=== Loading smithy into your environment
|
86
|
-
|
87
|
-
Smithy depends on a config file to define it's behavior. For an example see
|
88
|
-
{etc/smithyrc}[https://github.com/AnthonyDiGirolamo/smithy/blob/master/etc/smithyrc]
|
89
|
-
This can be set via the <tt>$SMITHY_CONFIG</tt> environment variable.
|
90
|
-
|
91
|
-
You may wish to set this using a modulefile or a shell script. Examples are
|
92
|
-
provided in
|
93
|
-
{modulefiles/smithy/1.0}[https://github.com/AnthonyDiGirolamo/smithy/blob/master/modulefiles/smithy/1.0]
|
94
|
-
and
|
95
|
-
{environment.sh}[https://github.com/AnthonyDiGirolamo/smithy/blob/master/environment.sh]
|
96
|
-
|
97
|
-
= License
|
98
|
-
|
99
|
-
Smithy is based on the ideas created in SWTools and uses a BSD license. See
|
100
|
-
LICENSE for the exact text.
|
101
|
-
|
102
|
-
= Contributing and Support
|
103
|
-
|
104
|
-
The smithy {github repo}[https://github.com/AnthonyDiGirolamo/smithy] contains
|
105
|
-
all development files. Please fork and send me a pull request with any additions
|
106
|
-
or changes.
|
107
|
-
|
108
|
-
If you encounter any issues please {open an
|
109
|
-
issue}[https://github.com/AnthonyDiGirolamo/smithy/issues] on github. Or send me
|
110
|
-
an email.
|
111
|
-
|
112
|
-
= smithy command line usage
|
113
|
-
|
114
|
-
:include:smithy.rdoc
|
data/etc/smithyrc
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
---
|
2
|
-
software-root: /sw
|
3
|
-
file-group-name: ccsstaff
|
4
|
-
hostname-architectures:
|
5
|
-
arthur-login: xk6
|
6
|
-
chester-login: xk6
|
7
|
-
eugene: bgp
|
8
|
-
everest: analysis-x64
|
9
|
-
ewok: sith
|
10
|
-
fatman: scibox
|
11
|
-
frost: frost
|
12
|
-
jaguar-ext: xt5
|
13
|
-
jaguar: xk6
|
14
|
-
jaguarpf-login: xk6
|
15
|
-
jaguarpf-ext: xk6
|
16
|
-
lens-login: analysis-x64
|
17
|
-
lens: analysis-x64
|
18
|
-
rizzo: xt5
|
19
|
-
sith-login: sith
|
20
|
-
sith: sith
|
21
|
-
smoky-login: smoky
|
22
|
-
smoky: smoky
|
23
|
-
smokylogin: smoky
|
24
|
-
yona-login: yona
|
25
|
-
yona: yona
|
26
|
-
programming-environment-prefix:
|
27
|
-
default: PrgEnv-
|
28
|
-
smoky: PE-
|
29
|
-
web-root: /sw/tools/www
|
30
|
-
descriptions-root: /sw/descriptions
|
31
|
-
web-architecture-names:
|
32
|
-
xk6: jaguar
|
33
|
-
analysis-x64: lens
|
34
|
-
smoky: smoky
|
35
|
-
|
36
|
-
|