Subversion Repositories DevTools

Rev

Rev 7266 | 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
 
6276 dpurdie 136
=item GBE_DPKG_ESCROW (optional)
137
 
138
This the path to directory used in escrow builds to assemble the parts of the various
139
builds.
140
 
141
The presence of this value will alter the normal package search processing such that
142
most of the package archives are not searched. The only archives that will be searched are:
143
 
144
=over 4
145
 
146
* GBE_DPKG_SANDBOX
147
 
148
* GBE_DPKG_LOCAL
149
 
150
* GBE_DPKG_CACHE
151
 
152
* GBE_DPKG_ESCROW
153
 
154
=back
155
 
156
Used only in an escrow build. Care must be taken to ensure that all the package stores
157
are empty before the escrow build process is initiated.
158
 
343 dpurdie 159
=item GBE_DPKG_SBOX (internal)
160
 
161
This the path to a sandbox specific package archive. This will be used to store
315 dpurdie 162
non-official packages that are under test or development within the current sandbox.
163
 
164
The archive is located by searching from the current directory to the root of
343 dpurdie 165
the file system for a directory called 'sandbox_dpkg_archive'.
315 dpurdie 166
 
167
It is intended that a group of packages that are being developed in the same
168
sandbox will share the same sandbox_dpkg_archive.
169
 
170
Jats will ignore the version number when dealing with packages in GBE_DPKG_SBOX.
171
This is done to simplify the publishing and consuming of packages in the sandbox.
172
 
173
This should not be set by a user. It will be calculated by JATS and passed to
174
JATS tools and utilities.
175
 
343 dpurdie 176
=item GBE_SANDBOX (internal)
315 dpurdie 177
 
178
This the path to a sandbox base directory. It is intended that a group of
179
packages that are being developed in the same sandbox will share the same
180
sandbox_dpkg_archive.
181
 
182
This should not be set by a user. It will be calculated by JATS and passed to
183
JATS tools and utilities.
184
 
7266 dpurdie 185
=item GBE_SANDBOX_BUILD (internal)
186
 
187
This EnvVar will contain a non-zero value when commands are executed by
188
'jats sandbox'. This allows some tools to operate correctly within a sandbox
189
environment.
190
 
191
The initial tool is 'gradle'. The command line build will prevent gradle from
192
building dependent packagses as they are built by the sandbox process.
193
 
315 dpurdie 194
=item GBE_DPLY (optional)
195
 
196
This the path to the deployment archive.
197
This archive will be used when publishing special deployment package. This is
198
not the norm.
199
 
200
This variable may be set on a per-project basis.
201
 
202
=item GBE_PLATFORM (deprecated)
203
 
204
This specifies the names of platforms that will be built and made. This should
205
be empty. Use B<GBE_BUILDFILTER> to provide better control.
206
 
207
=item GBE_BUILDFILTER (desirable)
208
 
209
This is a filter string that specifies which platforms to create makefiles
210
for. This variable is used to prevent JATS from creating Solaris and Linux
211
targets on a Windows machine and visa-versa.
212
 
213
=item GBE_JATS_VERSION (optional)
214
 
215
Specifies the version of JATS that the user will use. This is the same as
216
specifying the -version=xx.xx.xx option on the command line, but because it is
217
in the environment the required version will be used by all invocations of JATS.
218
 
7447 dpurdie 219
=item GBE_OPTS (optional)
220
 
221
A general mechanism to alter the operation of parts of JATS.
222
Used Values:
223
 
224
=over 4
225
 
226
=item LEGACY
227
 
228
Relax some sanity tests allowing older packages to be built. 
229
Forced within the build system. 
230
Should be set when performing an escrow build.
231
 
232
=back
233
 
315 dpurdie 234
=item GBE_ABT (optional)
235
 
236
Used by the Auto Build Tool to indicate that the build is being performed by the
237
ABT. When set the build environment will be modified to suite the ABT. Some
238
operations may be relaxed.
239
 
240
Currently set to 1 to set it.
241
 
4902 dpurdie 242
Used values:
243
 
244
=over 4
245
 
246
=item NONE
247
 
248
Indicates that the current machine is not to be used to build software. It may be used to run various JATS utilities.
249
 
250
=back
251
 
3859 dpurdie 252
=item ANT_HOME (desirable)
253
 
254
Used by the Auto Build Tool and any JATS builds that make use of ANT. This 
255
EnvVar should specify the location of the root of the ANT (1.6.5) Installation. 
256
Jats will expect to locate 'bin/ant' below ANT_HOME.
257
 
315 dpurdie 258
=item GBE_VIEWBASE (optional)
259
 
343 dpurdie 260
Used by the 'release' utilities to provide a user configurable base directory for
261
the creation of static views. The default location is:
315 dpurdie 262
 
343 dpurdie 263
=over 8
264
 
361 dpurdie 265
=item *
343 dpurdie 266
 
361 dpurdie 267
WINDOWS - c:\clearcase
343 dpurdie 268
 
361 dpurdie 269
=item * 
270
 
271
Unix - ${HOME}/jats_cbuilder
272
 
343 dpurdie 273
=back
274
 
361 dpurdie 275
=item GBE_VCS (optional)
276
 
277
Used by the JATS wrapper script when processing the 'release', 'extract' and 'label'
278
commands to determine the command to invoke.
279
 
280
If not specified, then 'cc' is assumed.
281
 
282
Valid values are:
283
 
284
=over 4
285
 
286
=item *
287
 
288
cc for ClearCase
289
 
290
=item *
291
 
292
svn for Subversion
293
 
294
=back
295
 
315 dpurdie 296
=item GBE_RM_LOCATION (optional)
297
 
298
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
299
Specifies the location of the Release Manager Database. This is a database url
300
of the form jdbc:subprotocol:subname as used by java.sql.DriverManager.getConnection()
301
 
4466 dpurdie 302
C<Example: jdbc:oracle:thin:@auperaprm01:1521:RELEASEM>
315 dpurdie 303
 
304
=item GBE_RM_USERNAME (optional)
305
 
306
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
307
Specifies a USERNAME with access to the Release Manager Database.
308
 
309
=item GBE_RM_PASSWORD (optional)
310
 
311
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
312
Specifies a PASSWORD to be used in conjunction with GBE_RM_USERNAME to access
313
the Release Manager Database.
314
 
315
=item GBE_RM_URL (optional)
316
 
317
Used by tools that interface to Release Manager: primarily the (ABT) Auto Build Tools.
318
Specifies the base URL of RElease Manager
319
 
320
=item GBE_DM_LOCATION (optional)
321
 
322
Similar to GBE_RM_LOCATION, but is used to access the Deployment Manager Database.
323
If GBE_DM_LOCATION is not provided, then GBE_RM_LOCATION will be used.
324
 
325
=item GBE_DM_USERNAME (optional)
326
 
327
Similar to GBE_RM_USERNAME, but is used to access the Deployment Manager Database.
328
 
329
=item GBE_DM_PASSWORD (optional)
330
 
331
Similar to GBE_RM_PASSWORD, but is used to access the Deployment Manager Database.
332
 
333
=item GBE_DM_URL (optional)
334
 
335
Similar to GBE_DM_URL, but is used to access the Deployment Manager Database.
336
 
4466 dpurdie 337
=item GBE_CQ_LOCATION (optional)
338
 
339
Used by tools that interface to ClearQuest: primarily the (ABT) Auto Build Tools.
340
Specifies the location of the ClearQuest Database. This is a database url
341
of the form jdbc:subprotocol:subname as used by java.sql.DriverManager.getConnection()
342
 
343
C<Example: jdbc:jtds:sqlserver://AUPERASQL05:1433:master>
344
 
345
=item GBE_CQ_USERNAME (optional)
346
 
347
Used by tools that interface to ClearQuest: primarily the (ABT) Auto Build Tools.
348
Specifies a USERNAME with access to the ClearQuest Database.
349
 
350
=item GBE_CQ_PASSWORD (optional)
351
 
352
Used by tools that interface to ClearQuest: primarily the (ABT) Auto Build Tools.
353
Specifies a PASSWORD to be used in conjunction with GBE_RM_USERNAME to access
354
the ClearQuest Database.
355
 
4612 dpurdie 356
=item GBE_JIRA_URL (optonal)
357
 
358
Used by tools that interface to the Jira Issues database via a REST API: primarily the
359
Auto Build Tools. The variable specifies the URL to the base of the REST API interface.
360
 
5254 dpurdie 361
C<Example: http://cds.vixtechnology.com:443>
4612 dpurdie 362
 
363
=item GBE_JIRA_USERNAME (optional)
364
 
365
Using in conjunction with GBE_JIRA_URL to access the Jira Issues database.
366
 
367
=item GBE_JIRA_PASSWORD (optional)
368
 
369
Using in conjunction with GBE_JIRA_URL to access the Jira Issues database.
370
 
353 dpurdie 371
=item GBE_SVN_URL_<Repo> (Required for Subversion support)
372
 
373
Provides subversion configuration of known repositories. The EnvVar contains 
5710 dpurdie 374
the unique name of the repository within the VIX domain. ie: 
353 dpurdie 375
C<GBE_SVN_URL_AUPERASVN01>
376
 
377
The value of the EnvVar specifies the URL of the Subversion repository to be
378
used by the Subversion oriented JATS commands. The URL should contain the
379
protocol, the repository host and the path to the root of the repository and
4814 dpurdie 380
possibly name of the repository. ie: C<https://auawsasvn001.vix.local/svn>
353 dpurdie 381
 
341 dpurdie 382
=item GBE_SVN_URL (Required for Subversion support)
315 dpurdie 383
 
353 dpurdie 384
Specifies the default URL of the Subversion repository to be used by the
385
Subversion oriented JATS commands. The URL should contain the protocol, the
386
repository host and the path to the root of the repository, but not the name of
4814 dpurdie 387
the repository. ie: C<https://auawsasvn001.vix.local/svn>
315 dpurdie 388
 
353 dpurdie 389
This EnvVar is similar to B<GBE_SVN_URL_<Repo>>, except that it will only be
390
used as a last resort. It may be used to provide a site wide repository URL, but
391
it would not be suitable for repositories that are external to the site. 
392
 
393
For correct operation of utilities that calculate a global Subversion tag,
394
B<GBE_SVN_URL> should resolve to one of B<GBE_SVN_URL_<Repo>> values.
395
 
315 dpurdie 396
=item GBE_SVN_PATH (optional)
397
 
398
If provided this will be used to locate the 'svn' utility used by the SubVersion
399
support functions. If not provided, then the utilities assume that 'svn' is in the
341 dpurdie 400
users PATH. 
315 dpurdie 401
 
341 dpurdie 402
Providing the path will prevent JATS from searching for the utility.
403
 
315 dpurdie 404
=item GBE_SVN_USERNAME (optional)
405
 
406
Subversion repository credentials. If provided it will be used, otherwise the
407
native svn credential mechanism will be used.
408
 
409
=item GBE_SVN_PASSWORD (optional)
410
 
411
Subversion repository credentials. If provided it will be used, otherwise the
412
native svn credential mechanism will be used.
413
 
5695 dpurdie 414
=item GBE_MAXMAKE (optional)
415
 
416
If defined this value will specify the default MaxTime used by the Jats Make utility.
417
 
418
Refer the '-MaxTime' option in the 'L<make|TOOLS::jmake>' utility for details.
419
 
315 dpurdie 420
=item GBE_MAKE_TYPE (internal)
421
 
422
This EnvVar is set when a Makefile is being processed by 'make'. The value
423
indicates the type of the build. It will be either P(Production), D(debug)
424
or C(Common).
425
 
426
=item GBE_MAKE_TARGET (internal)
427
 
428
This EnvVar is set when a Makefile is being processed by 'make'. The value
429
is set current target platform name.
430
 
431
=item GBE_MAKE_CFG (internal)
432
 
433
This EnvVar is set when a Makefile is being processed by 'make'. The value
434
is set to the path of the parsed makefile.pl data gathered when the makefile
435
was created.
436
 
437
=item GBE_MAKE_CMD (internal)
438
 
439
This EnvVar is set when a Makefile is being processed by 'make'. The value
440
is set current make command being processed.
441
 
4949 dpurdie 442
=item GBE_UTFNAME (internal)
443
 
444
This EnvVar is set when a unit test is being run. It is the name of the unit test.
445
 
446
=item GBE_UTFUID (internal)
447
 
448
This EnvVar is set when a unit test is being run. It is a short string that will 
449
uniquely identify the unit test within the build. It may be used to create a unique
450
log file for post processing.
451
 
4996 dpurdie 452
=item GBE_UTFFILE (internal)
453
 
454
This EnvVar is set when a unit test is being run. It is an absolute path to a
455
recommended output file within the final package. 
456
 
6619 dpurdie 457
It will be unique as it includes the GBE_UTFUID element. Unit Tests may 
4996 dpurdie 458
create correctly formatted test results in this file.
459
 
6619 dpurdie 460
=item GBE_UTFTEST (internal)
461
 
462
This EnvVar is set when a unit test is being run. It a part of a file name that may be used
463
to construct an output file for the tests.  
464
 
465
Some unit tests filters require files that start with this name and have a 
466
suitable extension. The file extension is not provided.
467
 
468
The name will be unique.
469
 
315 dpurdie 470
=item GBE_SCRIPT (internal)
471
 
343 dpurdie 472
This EnvVar contains the path and command line argument to the current JATS
315 dpurdie 473
command.
474
 
475
Its primary purpose is to determine the location of the jats startup script:
476
jats.bat or jats.sh.
477
 
478
=item GBE_UNIX (internal)
479
 
480
This EnvVar will be set to 1 on Unix systems and 0 on Windows Systems. The value
481
is calculated by JATS and cannot be set externally.
482
 
483
=item USER (set if undefined)
484
 
485
This EnvVar will be set to the current JATS user. It may be set externally,
486
but normally this is not required as JATS will determine the user in a
487
platform specific manner.
488
 
489
=back
490
 
491
=head2 Location of EnvVar definitions
492
 
493
The location of the EnvVars used by JATS is dependent on the target machine
494
type.
495
 
496
=head3 Windows 
497
 
498
Under Windows, the best place to specify the JATS EnvVars is in the JATS.BAT
499
file itself. The location of the JATS.BAT file being used is provided by the '
500
jats vars' utility.
501
 
502
=head3 Solaris
503
 
504
Under Solaris, the JATS EnvVars are set in /etc/profile. These can be
505
overridden by users in there own profile, but this is not encouraged as the
506
JATS configuration is normally machine-wide.
507
 
343 dpurdie 508
The jats.sh script, used to start jats may provide default definitions. The
315 dpurdie 509
location of this script is provided by the 'jats vars' utility.
510
 
511
=head3 Linux
512
 
513
Under Linux, the JATS EnvVars are set in  /etc/profile.d/jats.sh. These can be
514
overridden by users in there own profile, but this is not encouraged as the
515
JATS configuration is normally machine-wide.
516
 
343 dpurdie 517
The jats.sh script, used to start jats may provide default definitions. The
315 dpurdie 518
location of this script is provided by the 'jats vars' utility.
519