Subversion Repositories DevTools

Rev

Rev 5710 | Rev 7319 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
315 dpurdie 1
#-------------------------------------------------------------------------------
2
#   Documentation
3
#
4
 
5
=pod
6
 
361 dpurdie 7
=for htmltoc    CORE::
8
 
315 dpurdie 9
=head1 NAME
10
 
11
JATS Environment Variables
12
 
13
=head1 SYNOPSIS
14
 
15
JATS makes use of a number of Environment Variables (EnvVars) to provide
16
configuration information.
17
 
18
There are two classes of EnvVars used by JATS. These are:
19
 
361 dpurdie 20
=over 4
315 dpurdie 21
 
361 dpurdie 22
=item 1 
315 dpurdie 23
 
361 dpurdie 24
JATS Configuration
25
 
315 dpurdie 26
These EnvVars have a GBE_ prefix. These are detailed in this document.
27
 
361 dpurdie 28
=item 2 
315 dpurdie 29
 
361 dpurdie 30
Toolset location
31
 
315 dpurdie 32
Some of the build tools used by JATS use EnvVars to specify the location
33
of the installed tool. 
34
 
35
Ideally tools should be installed in their default location and JATS should be
36
preconfigured to use this default location. Configuration allows for exceptions.
37
 
38
=back
39
 
40
=head2  Environment variables
41
 
42
Environment variables that specify a path may be set to '-', or 'none' in order
43
to force an undefined path.
44
 
45
=over 8
46
 
47
=item GBE_MACHTYPE
48
 
49
This specifies the machine that the script is running on. This is fixed within
50
the startup script.
51
 
52
=item GBE_HOSTMACH (internally set)
53
 
54
This is a copy of GBE_MACHTYPE.
55
Unlike GBE_MACHTYPE, this copy is not modified by makefiles.
56
 
57
=item GBE_HOSTNAME (internally)
58
 
59
This EnvVar is the name of the current host. It is available to be used within
60
scripts that need to stamp build files.
61
 
62
=item GBE_PERL
63
 
64
This specifies the full path the to B<ActiveState> perl binary.
65
 
66
=item GBE_CORE
67
 
68
This specifies the path the to B<JATS> installation.
69
 
70
=item GBE_CACHE_JATS
71
 
72
When set to a non zero value will force JATS to transfer a working copy to the
73
local dpkg_archive. This will speed up the build process because the utilities
74
will be run from a local drive; not a network drive.
75
 
76
This will only operate if JATS is run from dpkg_archive.
77
 
78
=item GBE_DPKG_STORE (optional)
79
 
80
This is the global read-only archive store. It will only be used to source
81
packages after all other archive stores have been examined. The GBE_DPKG_STORE
82
is intended to provide a read-only or remote repository within a global
83
environment.
84
 
85
=item GBE_DPKG
86
 
87
This is the official archive. Some tools will publish packages directly to this
88
archive.
89
 
90
This item is mandatory and must address a valid directory.
91
 
4688 dpurdie 92
=item GBE_DPKG_REPLICA (optional)
93
 
94
This is the local package read-only archive replica. It will only be used to source
95
packages before other archive stores have been examined. The GBE_DPKG_REPLICA
96
is intended to provide a local read-only replica of the main repository within a global
97
environment.
98
 
315 dpurdie 99
=item GBE_DPKG_CACHE (optional)
100
 
101
This the path to a local package archive cache. This is used to speed access to
102
main repository. The cache should be on the users local machine and not a network
103
drive.
104
 
5109 dpurdie 105
=item GBE_DPKG_CACHE_CTL (optional)
106
 
107
Controls the automatic population of GBE_DPKG_CACHE, if it is defined. The provided value
108
is used as the initial value for the build argument of '-cache'.
109
 
110
The following values are supported:
111
 
112
=over 4
113
 
114
=item 0 - Do not cache package versions.
115
 
116
This is the default mode of operation. Caching can still be controlled from the
117
comamdn line of the 'build' command.
118
 
119
=item 1 - Cache package versions. 
120
 
121
If version is not present in the cache, then it will be transferred.
122
 
123
=item 2 - Force caching of package versions. 
124
 
125
Will transfer the package even if it already exists in the cache. Not recommended.
126
 
127
=back
128
 
315 dpurdie 129
=item GBE_DPKG_LOCAL (optional)
130
 
131
This the path to a group wide local package archive. This may be used to store
132
non-official packages that are under test or development.
133
 
343 dpurdie 134
Not recommended. Use is being deprecated.
315 dpurdie 135
 
343 dpurdie 136
=item GBE_DPKG_SBOX (internal)
137
 
138
This the path to a sandbox specific package archive. This will be used to store
315 dpurdie 139
non-official packages that are under test or development within the current sandbox.
140
 
141
The archive is located by searching from the current directory to the root of
343 dpurdie 142
the file system for a directory called 'sandbox_dpkg_archive'.
315 dpurdie 143
 
144
It is intended that a group of packages that are being developed in the same
145
sandbox will share the same sandbox_dpkg_archive.
146
 
147
Jats will ignore the version number when dealing with packages in GBE_DPKG_SBOX.
148
This is done to simplify the publishing and consuming of packages in the sandbox.
149
 
150
This should not be set by a user. It will be calculated by JATS and passed to
151
JATS tools and utilities.
152
 
343 dpurdie 153
=item GBE_SANDBOX (internal)
315 dpurdie 154
 
155
This the path to a sandbox base directory. It is intended that a group of
156
packages that are being developed in the same sandbox will share the same
157
sandbox_dpkg_archive.
158
 
159
This should not be set by a user. It will be calculated by JATS and passed to
160
JATS tools and utilities.
161
 
162
=item GBE_DPLY (optional)
163
 
164
This the path to the deployment archive.
165
This archive will be used when publishing special deployment package. This is
166
not the norm.
167
 
168
This variable may be set on a per-project basis.
169
 
170
=item GBE_PLATFORM (deprecated)
171
 
172
This specifies the names of platforms that will be built and made. This should
173
be empty. Use B<GBE_BUILDFILTER> to provide better control.
174
 
175
=item GBE_BUILDFILTER (desirable)
176
 
177
This is a filter string that specifies which platforms to create makefiles
178
for. This variable is used to prevent JATS from creating Solaris and Linux
179
targets on a Windows machine and visa-versa.
180
 
181
=item GBE_JATS_VERSION (optional)
182
 
183
Specifies the version of JATS that the user will use. This is the same as
184
specifying the -version=xx.xx.xx option on the command line, but because it is
185
in the environment the required version will be used by all invocations of JATS.
186
 
187
=item GBE_ABT (optional)
188
 
189
Used by the Auto Build Tool to indicate that the build is being performed by the
190
ABT. When set the build environment will be modified to suite the ABT. Some
191
operations may be relaxed.
192
 
193
Currently set to 1 to set it.
194
 
4902 dpurdie 195
Used values:
196
 
197
=over 4
198
 
199
=item NONE
200
 
201
Indicates that the current machine is not to be used to build software. It may be used to run various JATS utilities.
202
 
203
=back
204
 
3859 dpurdie 205
=item ANT_HOME (desirable)
206
 
207
Used by the Auto Build Tool and any JATS builds that make use of ANT. This 
208
EnvVar should specify the location of the root of the ANT (1.6.5) Installation. 
209
Jats will expect to locate 'bin/ant' below ANT_HOME.
210
 
315 dpurdie 211
=item GBE_VIEWBASE (optional)
212
 
343 dpurdie 213
Used by the 'release' utilities to provide a user configurable base directory for
214
the creation of static views. The default location is:
315 dpurdie 215
 
343 dpurdie 216
=over 8
217
 
361 dpurdie 218
=item *
343 dpurdie 219
 
361 dpurdie 220
WINDOWS - c:\clearcase
343 dpurdie 221
 
361 dpurdie 222
=item * 
223
 
224
Unix - ${HOME}/jats_cbuilder
225
 
343 dpurdie 226
=back
227
 
361 dpurdie 228
=item GBE_VCS (optional)
229
 
230
Used by the JATS wrapper script when processing the 'release', 'extract' and 'label'
231
commands to determine the command to invoke.
232
 
233
If not specified, then 'cc' is assumed.
234
 
235
Valid values are:
236
 
237
=over 4
238
 
239
=item *
240
 
241
cc for ClearCase
242
 
243
=item *
244
 
245
svn for Subversion
246
 
247
=back
248
 
315 dpurdie 249
=item GBE_RM_LOCATION (optional)
250
 
251
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
252
Specifies the location of the Release Manager Database. This is a database url
253
of the form jdbc:subprotocol:subname as used by java.sql.DriverManager.getConnection()
254
 
4466 dpurdie 255
C<Example: jdbc:oracle:thin:@auperaprm01:1521:RELEASEM>
315 dpurdie 256
 
257
=item GBE_RM_USERNAME (optional)
258
 
259
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
260
Specifies a USERNAME with access to the Release Manager Database.
261
 
262
=item GBE_RM_PASSWORD (optional)
263
 
264
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
265
Specifies a PASSWORD to be used in conjunction with GBE_RM_USERNAME to access
266
the Release Manager Database.
267
 
268
=item GBE_RM_URL (optional)
269
 
270
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
271
Specifies the base URL of RElease Manager
272
 
273
=item GBE_DM_LOCATION (optional)
274
 
275
Similar to GBE_RM_LOCATION, but is used to access the Deployment Manager Database.
276
If GBE_DM_LOCATION is not provided, then GBE_RM_LOCATION will be used.
277
 
278
=item GBE_DM_USERNAME (optional)
279
 
280
Similar to GBE_RM_USERNAME, but is used to access the Deployment Manager Database.
281
 
282
=item GBE_DM_PASSWORD (optional)
283
 
284
Similar to GBE_RM_PASSWORD, but is used to access the Deployment Manager Database.
285
 
286
=item GBE_DM_URL (optional)
287
 
288
Similar to GBE_DM_URL, but is used to access the Deployment Manager Database.
289
 
4466 dpurdie 290
=item GBE_CQ_LOCATION (optional)
291
 
292
Used by tools that interface to ClearQuest: primarily the (ABT) Auto Build Tools.
293
Specifies the location of the ClearQuest Database. This is a database url
294
of the form jdbc:subprotocol:subname as used by java.sql.DriverManager.getConnection()
295
 
296
C<Example: jdbc:jtds:sqlserver://AUPERASQL05:1433:master>
297
 
298
=item GBE_CQ_USERNAME (optional)
299
 
300
Used by tools that interface to ClearQuest: primarily the (ABT) Auto Build Tools.
301
Specifies a USERNAME with access to the ClearQuest Database.
302
 
303
=item GBE_CQ_PASSWORD (optional)
304
 
305
Used by tools that interface to ClearQuest: primarily the (ABT) Auto Build Tools.
306
Specifies a PASSWORD to be used in conjunction with GBE_RM_USERNAME to access
307
the ClearQuest Database.
308
 
4612 dpurdie 309
=item GBE_JIRA_URL (optonal)
310
 
311
Used by tools that interface to the Jira Issues database via a REST API: primarily the
312
Auto Build Tools. The variable specifies the URL to the base of the REST API interface.
313
 
5254 dpurdie 314
C<Example: http://cds.vixtechnology.com:443>
4612 dpurdie 315
 
316
=item GBE_JIRA_USERNAME (optional)
317
 
318
Using in conjunction with GBE_JIRA_URL to access the Jira Issues database.
319
 
320
=item GBE_JIRA_PASSWORD (optional)
321
 
322
Using in conjunction with GBE_JIRA_URL to access the Jira Issues database.
323
 
353 dpurdie 324
=item GBE_SVN_URL_<Repo> (Required for Subversion support)
325
 
326
Provides subversion configuration of known repositories. The EnvVar contains 
5710 dpurdie 327
the unique name of the repository within the VIX domain. ie: 
353 dpurdie 328
C<GBE_SVN_URL_AUPERASVN01>
329
 
330
The value of the EnvVar specifies the URL of the Subversion repository to be
331
used by the Subversion oriented JATS commands. The URL should contain the
332
protocol, the repository host and the path to the root of the repository and
4814 dpurdie 333
possibly name of the repository. ie: C<https://auawsasvn001.vix.local/svn>
353 dpurdie 334
 
341 dpurdie 335
=item GBE_SVN_URL (Required for Subversion support)
315 dpurdie 336
 
353 dpurdie 337
Specifies the default URL of the Subversion repository to be used by the
338
Subversion oriented JATS commands. The URL should contain the protocol, the
339
repository host and the path to the root of the repository, but not the name of
4814 dpurdie 340
the repository. ie: C<https://auawsasvn001.vix.local/svn>
315 dpurdie 341
 
353 dpurdie 342
This EnvVar is similar to B<GBE_SVN_URL_<Repo>>, except that it will only be
343
used as a last resort. It may be used to provide a site wide repository URL, but
344
it would not be suitable for repositories that are external to the site. 
345
 
346
For correct operation of utilities that calculate a global Subversion tag,
347
B<GBE_SVN_URL> should resolve to one of B<GBE_SVN_URL_<Repo>> values.
348
 
315 dpurdie 349
=item GBE_SVN_PATH (optional)
350
 
351
If provided this will be used to locate the 'svn' utility used by the SubVersion
352
support functions. If not provided, then the utilities assume that 'svn' is in the
341 dpurdie 353
users PATH. 
315 dpurdie 354
 
341 dpurdie 355
Providing the path will prevent JATS from searching for the utility.
356
 
315 dpurdie 357
=item GBE_SVN_USERNAME (optional)
358
 
359
Subversion repository credentials. If provided it will be used, otherwise the
360
native svn credential mechanism will be used.
361
 
362
=item GBE_SVN_PASSWORD (optional)
363
 
364
Subversion repository credentials. If provided it will be used, otherwise the
365
native svn credential mechanism will be used.
366
 
5695 dpurdie 367
=item GBE_MAXMAKE (optional)
368
 
369
If defined this value will specify the default MaxTime used by the Jats Make utility.
370
 
371
Refer the '-MaxTime' option in the 'L<make|TOOLS::jmake>' utility for details.
372
 
315 dpurdie 373
=item GBE_MAKE_TYPE (internal)
374
 
375
This EnvVar is set when a Makefile is being processed by 'make'. The value
376
indicates the type of the build. It will be either P(Production), D(debug)
377
or C(Common).
378
 
379
=item GBE_MAKE_TARGET (internal)
380
 
381
This EnvVar is set when a Makefile is being processed by 'make'. The value
382
is set current target platform name.
383
 
384
=item GBE_MAKE_CFG (internal)
385
 
386
This EnvVar is set when a Makefile is being processed by 'make'. The value
387
is set to the path of the parsed makefile.pl data gathered when the makefile
388
was created.
389
 
390
=item GBE_MAKE_CMD (internal)
391
 
392
This EnvVar is set when a Makefile is being processed by 'make'. The value
393
is set current make command being processed.
394
 
4949 dpurdie 395
=item GBE_UTFNAME (internal)
396
 
397
This EnvVar is set when a unit test is being run. It is the name of the unit test.
398
 
399
=item GBE_UTFUID (internal)
400
 
401
This EnvVar is set when a unit test is being run. It is a short string that will 
402
uniquely identify the unit test within the build. It may be used to create a unique
403
log file for post processing.
404
 
4996 dpurdie 405
=item GBE_UTFFILE (internal)
406
 
407
This EnvVar is set when a unit test is being run. It is an absolute path to a
408
recommended output file within the final package. 
409
 
410
It will be unique as it is includes the GBE_UTFUID element. Unit Tests may 
411
create correctly formatted test results in this file.
412
 
315 dpurdie 413
=item GBE_SCRIPT (internal)
414
 
343 dpurdie 415
This EnvVar contains the path and command line argument to the current JATS
315 dpurdie 416
command.
417
 
418
Its primary purpose is to determine the location of the jats startup script:
419
jats.bat or jats.sh.
420
 
421
=item GBE_UNIX (internal)
422
 
423
This EnvVar will be set to 1 on Unix systems and 0 on Windows Systems. The value
424
is calculated by JATS and cannot be set externally.
425
 
426
=item USER (set if undefined)
427
 
428
This EnvVar will be set to the current JATS user. It may be set externally,
429
but normally this is not required as JATS will determine the user in a
430
platform specific manner.
431
 
432
=back
433
 
434
=head2 Location of EnvVar definitions
435
 
436
The location of the EnvVars used by JATS is dependent on the target machine
437
type.
438
 
439
=head3 Windows 
440
 
441
Under Windows, the best place to specify the JATS EnvVars is in the JATS.BAT
442
file itself. The location of the JATS.BAT file being used is provided by the '
443
jats vars' utility.
444
 
445
=head3 Solaris
446
 
447
Under Solaris, the JATS EnvVars are set in /etc/profile. These can be
448
overridden by users in there own profile, but this is not encouraged as the
449
JATS configuration is normally machine-wide.
450
 
343 dpurdie 451
The jats.sh script, used to start jats may provide default definitions. The
315 dpurdie 452
location of this script is provided by the 'jats vars' utility.
453
 
454
=head3 Linux
455
 
456
Under Linux, the JATS EnvVars are set in  /etc/profile.d/jats.sh. These can be
457
overridden by users in there own profile, but this is not encouraged as the
458
JATS configuration is normally machine-wide.
459
 
343 dpurdie 460
The jats.sh script, used to start jats may provide default definitions. The
315 dpurdie 461
location of this script is provided by the 'jats vars' utility.
462