reports/stx_goodies_builder_reports.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 04 Jun 2013 10:59:51 +0200
changeset 157 4dfb5dd30325
parent 140 09d3ad97e787
child 165 43b09a7665bf
permissions -rw-r--r--
automatic checkIn

"{ Package: 'stx:goodies/builder/reports' }"

LibraryDefinition subclass:#stx_goodies_builder_reports
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'* Projects & Packages *'
!


!stx_goodies_builder_reports class methodsFor:'description'!

excludedFromPreRequisites
    "list all packages which should be ignored in the automatic
     preRequisites scan. See #preRequisites for more."

    ^ #(
        #'stx:goodies/monticello'    "MCPatch - referenced by HDChangeReport>>changesFor: "
    )

    "Modified: / 08-03-2011 / 22:08:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

mandatoryPreRequisites
    "list all required mandatory packages.
     Packages are mandatory, if they contain superclasses of the package's classes
     or classes which are extended by this package.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
        #'stx:goodies/sunit'    "TestCase - extended "
        #'stx:libbasic'    "Object - superclass of Builder::TestReport "
    )
!

referencedPreRequisites
    "list all packages containing classes referenced by the packages's members.
     This list can be maintained manually or (better) generated and
     updated by looking for global variable accesses
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
        #'stx:goodies/refactoryBrowser/browser'    "PackageEnvironment - referenced by Builder::LintReport>>setupForPackages: "
        #'stx:goodies/refactoryBrowser/helpers'    "BrowserEnvironment - referenced by Builder::LintReport>>setupForClasses: "
        #'stx:goodies/refactoryBrowser/lint'    "SmalllintChecker - referenced by Builder::LintReport>>runReport "
        #'stx:libcomp'    "Parser - referenced by Builder::LintReport>>setupRulesFrom: "
    )
! !

!stx_goodies_builder_reports class methodsFor:'description - contents'!

classNamesAndAttributes
    "lists the classes which are to be included in the project.
     Each entry in the list may be: a single class-name (symbol),
     or an array-literal consisting of class name and attributes.
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."

    ^ #(
        "<className> or (<className> attributes...) in load order"
        #'Builder::Report'
        #'Builder::ReportFormat'
        #'Builder::ReportRunner'
        #'stx_goodies_builder_reports'
        #'Builder::ChangeReport'
        #'Builder::LintReport'
        #'Builder::LintReportFormat'
        #'Builder::TestReport'
        #'Builder::TestReportFormat'
        #'Builder::CoverageReport'
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are 2-element array literals, consisting of class-name and selector."

    ^ #(
        TestCase nameForHDTestReport
        TestCase selectorForHDTestReport
        'TestCase class' isJUnitTestCaseProxy
        'TestCase class' isTestletTestCaseProxy
        TestCase timeout
    )
! !

!stx_goodies_builder_reports class methodsFor:'description - project information'!

applicationIconFileName
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"

    ^ nil
    "/ ^ self applicationName
!

companyName
    "Return a companyname which will appear in <lib>.rc"

    ^ 'SWING Research Group & eXept Software AG'

    "Modified: / 21-07-2011 / 10:05:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

description
    "Return a description string which will appear in vc.def / bc.def"

    ^ 'Report Runner for Jenkins CI Server'

    "Modified: / 21-07-2011 / 10:06:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

legalCopyright
    "Return a copyright string which will appear in <lib>.rc"

    ^ 'Copyright Jan Vrany 2011\nCopyright eXept Software AG 2011'

    "Modified: / 21-07-2011 / 10:05:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

productInstallDirBaseName
    "Returns a default installDir which will appear in <app>.nsi.
     This is usually not the one you want to keep"

    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
!

productName
    "Return a product name which will appear in <lib>.rc"

    ^ 'ReportRunner'

    "Modified: / 21-07-2011 / 10:06:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_goodies_builder_reports class methodsFor:'description - startup'!

startupClassName
    "the name of the class which starts the show in its <startupSelector> method.
     Usually, the name of a subclass of StandAloneStartup."


    ^ 'HDReportRunner'

    "Modified: / 21-07-2011 / 10:06:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

startupSelector
    "the message that is sent to the startupClass to start the show"

    ^ #'start'        
! !

!stx_goodies_builder_reports class methodsFor:'description - svn'!

svnRepositoryUrlString
    "Return a SVN repository URL of myself.
     (Generated since 2011-04-08)
    "        

    ^ '$URL$'
!

svnRevisionNr
    "Return a SVN revision number of myself.
     This number is updated after a commit"

    ^ "$SVN-Revision:"'exported'"$"
! !

!stx_goodies_builder_reports class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
!

version_SVN
    ^ '$Id$'
! !