reports/Builder__ReportRunner.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 13 Jan 2012 13:47:56 +0100
changeset 78 d3f87f298062
parent 77 90d1dd533087
child 92 545ea8f561b0
permissions -rw-r--r--
Fix in default report file name for LintReport
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/builder/reports' }"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Builder }"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
StandaloneStartup subclass:#ReportRunner
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Builder-Reports'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
ReportRunner class instanceVariableNames:'parser report debugging'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
 The following class instance variables are inherited by this class:
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	StandaloneStartup - MutexHandle
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	Object - 
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!ReportRunner class methodsFor:'initialization'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
initialize
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    super initialize.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    debugging := Transcript notNil and:[Transcript isView].
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
    "Created: / 06-11-2011 / 22:07:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!ReportRunner class methodsFor:'command line options'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
cmdlineOptionOutputDirectory
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    ^CmdLineOption new
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
        short: $D;
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
        long: 'output-directory';
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
        description: 'Default report output directory';
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
        action:[:outputdir | 
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
            Report outputDir: outputdir.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
            self  verboseInfo:'Report dir: ' , Report outputDir asString.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
        ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    "Created: / 06-11-2011 / 09:33:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
cmdlineOptionReport
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    ^CmdLineOption new
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
        short: $r;
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
        long: '--report';
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
        description: 'Report to run';
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
        action:[:option |
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
            report := Smalltalk at: option asSymbol.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
            report isNil ifTrue:[
78
d3f87f298062 Fix in default report file name for LintReport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
    58
                Stderr nextPutLine:('ERROR: Report class %1 does not exist (forgot to load package?)' bindWith: option).        
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
                "/Smalltalk exit: 1.        
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
            ].
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
            report := report new.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
            parser options addAll: (CmdLineOption optionsFor: report)
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
        ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Created: / 06-11-2011 / 09:45:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
!ReportRunner class methodsFor:'defaults'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
77
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
    70
allowCoverageMeasurementOption
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
    71
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
    72
    ^false "CoverageReport will do that"
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
    73
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
    74
    "Created: / 13-01-2012 / 11:48:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
    75
!
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
    76
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
allowDebugOption
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ^true
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    "Created: / 21-07-2011 / 09:48:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
!ReportRunner class methodsFor:'multiple applications support'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
applicationRegistryPath
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    "the key under which this application stores its process ID in the registry
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
     as a collection of path-components.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
     i.e. if #('foo' 'bar' 'baz') is returned here, the current applications ID will be stored
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
     in HKEY_CURRENT_USER\Software\foo\bar\baz\CurrentID.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
     (would also be used as a relative path for a temporary lock file under unix).
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
     Used to detect if another instance of this application is already running."
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    ^ #('exept' 'smalltallx' 'hdreportrunner')
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "Modified: / 21-07-2011 / 09:43:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
applicationUUID
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "answer an application-specific unique uuid.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
     This is used as the name of some exclusive OS-resource, which is used to find out,
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
     if another instance of this application is already running.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
     Under win32, a mutex is used; under unix, an exclusive file in the tempDir could be used."
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    ^ '99f65c80-b375-11e0-86ad-0013e89c0459' asUUID
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    "Modified: / 21-07-2011 / 09:44:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
!ReportRunner class methodsFor:'startup'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
setupToolsForDebug
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    super setupToolsForDebug.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
    debugging := true.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    "Created: / 06-11-2011 / 22:06:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
77
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   118
!
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   119
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   120
usage
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   121
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   122
    Stderr nextPutAll:'usage: report-runner.';
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   123
           nextPutAll: (OperatingSystem isMSWINDOWSlike ifTrue:['bat'] ifFalse:['sh']);
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   124
           nextPutAll: ' [-D <dir>] -r <report> [-p <package1> [-p <package2> [...]]]'; cr.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   125
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   126
    Stderr nextPutLine:'  --help .................. output this message'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   127
    Stderr nextPutLine:'  --verbose ............... verbose startup'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   128
    Stderr nextPutLine:'  --noBanner .............. no splash screen'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   129
    Stderr nextPutLine:'  --newAppInstance ........ start as its own application process (do not reuse a running instance)'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   130
    self allowScriptingOption ifTrue:[
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   131
        Stderr nextPutLine:'  --scripting portNr ...... enable scripting via port (or stdin/stdOut, if 0)'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   132
    ].
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   133
    self allowDebugOption ifTrue:[
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   134
        Stderr nextPutLine:'  --debug ................. enable Debugger'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   135
    ].
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   136
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   137
    "/                 '  ......................... '
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   138
    Stderr nextPutLine:'  -D <dir>'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   139
    Stderr nextPutLine:'  --output-directory=<dir>  directory where report files will go'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   140
    Stderr nextPutLine:'  -r <report class>'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   141
    Stderr nextPutLine:'  --report=<report class> . report to run. available reports:'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   142
    Report available do:[:report|
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   143
        Stderr nextPutAll:'      '; nextPutLine: report name
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   144
    ].
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   145
    Stderr nextPutLine:'  -p <package>'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   146
    Stderr nextPutLine:'  --package=<package> ..... package to run report on'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   147
    Stderr nextPutLine:'                            May be specified multiple times.'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   148
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   149
    "
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   150
    self usage
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   151
    "
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   152
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   153
    "Created: / 13-01-2012 / 11:48:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
!ReportRunner class methodsFor:'startup-to be redefined'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
main:argv 
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    "Process command line arguments"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    parser := CmdLineParser new.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
    [               
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
        parser parse: argv for: self.        
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    ] on: Error do:[:ex|
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
        Stderr nextPutLine:'Error when processing options: ', ex description.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
        debugging ifFalse:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
            Stderr nextPutLine:'Exiting'.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
            Smalltalk exit:1.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
        ] ifTrue:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
            ex pass
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
        ]        
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
    ].
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    [
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
        report run.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
        debugging ifFalse:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
            Smalltalk exit:0.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
        ].
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
    ] on: Error do:[:ex|
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        Stderr nextPutAll:'Error when running tests: '.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
        Stderr nextPutAll:ex description; cr.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
        ex suspendedContext printAllOn:Stderr.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
        debugging ifFalse:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
            Smalltalk exit:1.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
        ] ifTrue:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
            ex pass
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
        ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
    ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    "Modified: / 07-11-2011 / 09:26:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
!ReportRunner class methodsFor:'documentation'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
version
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
    ^ '$Header$'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
version_CVS
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
    ^ '$Header$'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
version_SVN
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    ^ '§Id: Builder__ReportRunner.st 289 2011-11-10 15:39:10Z vranyj1 §'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
ReportRunner initialize!