|
Class: ProjectChecker
Object
|
+--ProjectChecker
- Package:
- stx:libbasic3
- Category:
- System-Support-Projects
- Version:
- rev:
1.42
date: 2019/07/09 13:21:52
- user: cg
- file: ProjectChecker.st directory: libbasic3
- module: stx stc-classLibrary: libbasic3
- Author:
- Jan Vrany <jan.vrany@fit.cvut.cz>
A simple project checker that can search whole projects or individual
classes or methods for various problems that may cause build problems,
such as:
- inconsistent/messed up project definition class
- method code problems
NOTE: this is not a lint. It only checks for inconsitent configuration
(projectDefinition class data vs. real data) and compilability (stc limitations).
NOTE: Not yet finished. This code is meant as a single central entry for all the
source code management tools like SCM Utilities, NewSystemBrowser ets. That code
will be refactored later once this tool prooves itself useful and mature enough.
[instance variables:]
[class variables:]
Tools::ProjectCheckerBrowser
checking
-
check: aPackageSymbolOrClass
-
instance creation
-
forPackage: packageId
-
-
new
-
return an initialized instance
accessing
-
checkExtensionsOnly: aBoolean
-
-
classes: aCollection
-
-
methods
-
-
methods: something
-
-
package: packageOrPackageId
-
Adds `packageId` to set of checked packages
-
problems
-
-
skipCheckClasses: aBoolean
-
checking
-
check
-
-
check: packageSymbolOrClass
-
ProjectChecker new check:'stx:libbasic3'
ProjectChecker new check:self
checks-individual
-
checkClassListConsistency
-
Checks whether all classes listed in #classNamesAndAttributes are present
and if all present classes are listed
-
checkClassesAutoloadedSuperclasse: aCollection
-
of Class
-
checkClassesForMethodsInNoProject: classesToCheck
-
Sigh, special hack for Expecco
-
checkClassesForNonQualifiedSharedPools: classesToCheck
-
-
checkClassesListedInProjectDefinition: classesToCheck
-
-
checkExtensionsListConsistency
-
Checks whether all extensions listed in #extensionMethodNames are present
and if all extension methods are listed.
Also check if any regular or extension method is also listed in some other package
(which may happen after a move, if the original package was not updated)
-
checkExtensionsPrerequisites
-
Checks whether packages of all extensions method classes are listed
in package prerequisites
-
checkMethodCodingStyle: method
-
Checks for various coding style violations such as 'self halt' or
improper indentation :-)
-
checkMethodSTCCompilability1: method into: problemIssue
-
Checks is the method can be compiled by STC based on Parser error/warnings
-
checkMethodSTCCompilability2: method into: problemIssue
-
Check if SmallLint is available...
-
checkMethodSTCCompilability: method
-
Checks is the method can be compiled by STC (since STC won't compile
everything bytecode compiler/jit compiler does, sigh
-
checkMethodSourceCode: method
-
Checks, whether method's source code is both
available and parseable. Return true if the code
is syntactically correct, false otherwise
-
checkSubProjects
-
Checks whether all subprojects listed in #subprojects are present.
checks-private
-
checkClasses
-
-
checkClasses: classesToCheck
-
-
checkMethod: method
-
OK, method's source code is fine, perform more checks on
-
checkMethods
-
isExtension
-
checkMethods: methodsToCheck
-
-
checkPackage
-
add more here...
initialization
-
initialize
-
Invoked when a new instance is created.
usage example(s):
super initialize. -- commented since inherited method does nothing
|
reporting
-
addProblem: aProjectProblem
-
ProjectChecker check: 'stx:libbasic'
ProjectChecker check: 'stx:libtool'
ProjectChecker check: 'stx:libbasic3'
|