--- a/Make.proto Tue Feb 14 17:06:02 2012 +0000
+++ b/Make.proto Thu Feb 23 15:15:11 2012 +0000
@@ -1,7 +1,7 @@
-# $Header: /cvs/stx/stx/libbasic3/Make.proto,v 1.125 2012/01/30 18:55:02 vrany Exp $
+# $Header$
#
# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libbasic3 at 2012-01-30 18:54:42.721.
+# automagically generated from the projectDefinition: stx_libbasic3 at 2012-02-23 15:14:59.653.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -140,6 +140,7 @@
$(OUTDIR)MethodFinder.$(O) MethodFinder.$(H): MethodFinder.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)ProfileTree.$(O) ProfileTree.$(H): ProfileTree.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)ProjectChecker.$(O) ProjectChecker.$(H): ProjectChecker.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)ProjectProblem.$(O) ProjectProblem.$(H): ProjectProblem.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SourceCodeCache.$(O) SourceCodeCache.$(H): SourceCodeCache.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SourceCodeManagerError.$(O) SourceCodeManagerError.$(H): SourceCodeManagerError.st $(INCLUDE_TOP)/stx/libbasic/ProceedableError.$(H) $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SourceCodeManagerUtilities.$(O) SourceCodeManagerUtilities.$(H): SourceCodeManagerUtilities.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -193,4 +194,3 @@
# ENDMAKEDEPEND --- do not remove this line
-
--- a/Make.spec Tue Feb 14 17:06:02 2012 +0000
+++ b/Make.spec Thu Feb 23 15:15:11 2012 +0000
@@ -1,7 +1,7 @@
-# $Header: /cvs/stx/stx/libbasic3/Make.spec,v 1.74 2012/01/30 18:54:51 vrany Exp $
+# $Header$
#
# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libbasic3 at 2012-01-30 18:54:42.420.
+# automagically generated from the projectDefinition: stx_libbasic3 at 2012-02-23 15:14:58.433.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -115,6 +115,7 @@
ProjectChecker \
MercurialSourceCodeManager \
InvalidChange \
+ ProjectProblem \
@@ -185,8 +186,8 @@
$(OUTDIR)ProjectChecker.$(O) \
$(OUTDIR)MercurialSourceCodeManager.$(O) \
$(OUTDIR)InvalidChange.$(O) \
+ $(OUTDIR)ProjectProblem.$(O) \
$(OUTDIR)extensions.$(O) \
-
--- a/PerforceSourceCodeManager.st Tue Feb 14 17:06:02 2012 +0000
+++ b/PerforceSourceCodeManager.st Thu Feb 23 15:15:11 2012 +0000
@@ -2536,7 +2536,7 @@
!PerforceSourceCodeManager class methodsFor:'documentation'!
version
- ^ '$Id: /cvs/stx/stx/libbasic3/PerforceSourceCodeManager.st,v 1.23 2012/01/19 15:19:48 cg Exp $'
+ ^ '$Id: PerforceSourceCodeManager.st 1886 2012-02-23 15:15:11Z vranyj1 $'
!
version_CVS
@@ -2544,7 +2544,7 @@
!
version_SVN
- ^ '$Id$'
+ ^ '$Id: PerforceSourceCodeManager.st 1886 2012-02-23 15:15:11Z vranyj1 $'
! !
PerforceSourceCodeManager initialize!
--- a/ProjectChecker.st Tue Feb 14 17:06:02 2012 +0000
+++ b/ProjectChecker.st Thu Feb 23 15:15:11 2012 +0000
@@ -18,13 +18,6 @@
category:'System-Support-Projects'
!
-Object subclass:#Problem
- instanceVariableNames:'label description severity data'
- classVariableNames:''
- poolDictionaries:''
- privateIn:ProjectChecker
-!
-
!ProjectChecker class methodsFor:'documentation'!
copyright
@@ -105,7 +98,9 @@
!
problems
- ^ problems
+ ^ problems ? #()
+
+ "Modified: / 23-02-2012 / 15:14:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ProjectChecker methodsFor:'checking'!
@@ -114,9 +109,8 @@
packageDef := ProjectDefinition definitionClassForPackage: package.
packageDef isNil ifTrue:[
- self problem: 'Project definition class for package %1 does not exist (no further checks performed)'
- description: nil
- severity: #error.
+ self addProblem:
+ (ProjectProblem newProjectDefinitionDoesNotExist package: package).
^self
].
@@ -142,7 +136,7 @@
"Checks whether all classes listed in #classNamesAndAttributes are present
and if all present classes are listed"
- |classesInImage classesInDescription missingPools onlyInImage onlyInDescription|
+ |classesInImage classesInDescription onlyInImage onlyInDescription|
"WARNING: Copy/paste of ProjectDefinition>>validateDescription"
classesInImage := Smalltalk allClasses select:[:cls | (cls package = self package) and:[cls isPrivate not]].
@@ -155,15 +149,13 @@
cls := Smalltalk at:nm asSymbol.
cls isNil ifTrue:[
- self problem: 'Missing class ', nm
- description: 'A class is listed in project definition but not present in the system'
- severity: #error
+ self addProblem:
+ (ProjectProblem newClassListedButDoesNotExist className: nm)
] ifFalse:[
classesInDescription add:cls.
].
].
- missingPools := Set new.
classesInDescription do:[:eachClass |
eachClass sharedPoolNames do:[:eachPoolName |
|pool|
@@ -175,18 +167,16 @@
]
].
pool isNil ifTrue:[
- self
- problem:'Missing pool: ',eachPoolName
- description: ('Class %1 uses a pool named %2 but it does not exists' bindWith: eachClass with: pool)
- severity: #error data: eachClass.
- missingPools add:eachPoolName.
+ self addProblem:
+ (ProjectProblem newClassUsesPoolButItDoesNotExist
+ className: eachClass name;
+ poolName: eachPoolName).
] ifFalse:[
pool isSharedPool ifFalse:[
- self
- problem:'Missing pool: ',eachPoolName
- description: ('Class %1 uses a pool named %2 but it is not actually a shared pool.' bindWith: eachClass with: pool)
- severity: #error data: eachClass.
- missingPools add:eachPoolName.
+ self addProblem:
+ (ProjectProblem newClassUsesPoolButItIsNotASharedPool
+ className: eachClass name;
+ poolName: eachPoolName).
].
].
].
@@ -195,15 +185,13 @@
classesInImage ~= classesInDescription ifTrue:[
onlyInImage := (classesInImage reject:[:cls | classesInDescription includes:cls]).
onlyInImage do:[:cls|
- self problem: ('Class %1 not listed in project definition' bindWith: cls)
- description: 'The class %1 not listed in project definition''s #classNamesAndAttributes, therefore it won''t be compiler nor autoladed next time you compile/load project.'
- severity: #error data: cls.
+ self addProblem:
+ (ProjectProblem newClassNotListed className: cls name).
].
onlyInDescription := (classesInDescription reject:[:cls | classesInImage includes:cls]).
onlyInDescription do:[:cls|
- self problem: ('Class %1 is listed in project definition but not present in the system' bindWith: cls)
- description: 'The class %1 list in project definition''s but not present in the system. This leads to uncompilable package as build files may be incorrectly generated.'
- severity: #error data: cls.
+ self addProblem:
+ (ProjectProblem newClassListedButDoesNotExist className: cls name)
].
].
@@ -218,9 +206,8 @@
classesToCheck do:[:class|
(class isPrivate not and:[(classNamesListed includes: class name) not]) ifTrue:[
- self problem: ('Class %1 not listed in project definition' bindWith: class)
- description: 'The class %1 not listed in project definition''s #classNamesAndAttributes, therefore it won''t be compiler nor autoladed next time you compile/load project.'
- severity: #error data: class.
+ self addProblem:
+ (ProjectProblem newClassNotListed className: class name).
]
].
@@ -243,15 +230,15 @@
].
(extensionsListed \ extensionsPresent) do:[:clsAndSel|
- self problem: ('Missing %1>>%2 extension method' bindWith: clsAndSel first with: clsAndSel second)
- description: ('An extension method %1>>%2 is listed in #extensionMethodNames but not present in image' bindWith: clsAndSel first with: clsAndSel second)
- severity: #warning data: clsAndSel.
+ self addProblem:
+ (ProjectProblem newExtensionMethodListedButDoesNotExist
+ className: clsAndSel first selector: clsAndSel second).
].
(extensionsPresent \ extensionsListed) do:[:clsAndSel|
- self problem: ('%1>>%2 extension method not in list' bindWith: clsAndSel first with: clsAndSel second)
- description: ('An extension method %1>>%2 present in image but not listed in #extensionMethodNames' bindWith: clsAndSel first with: clsAndSel second)
- severity: #warning data: clsAndSel.
+ self addProblem:
+ (ProjectProblem newExtensionMethodNotListed
+ className: clsAndSel first selector: clsAndSel second).
].
"Created: / 12-01-2012 / 12:31:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -263,9 +250,9 @@
packageDef searchForExtensions do:[:mthd|
(packageDef preRequisites includes: mthd mclass package) ifFalse:[
- self problem: ('%3 required by extension method but not in prerequisites' bindWith: mthd mclass package)
- description: ('An extension method %1>>%2 extends class in package %3 but the package is not listed in package''s prerequisited. This leads into missing methods and strange bugs when application is compiled and run!!' bindWith: mthd class with: mthd selector with: mthd class package)
- severity: #error data: mthd
+"/ self problem: ('%3 required by extension method but not in prerequisites' bindWith: mthd mclass package)
+"/ description: ('An extension method %1>>%2 extends class in package %3 but the package is not listed in package''s prerequisited. This leads into missing methods and strange bugs when application is compiled and run!!' bindWith: mthd class with: mthd selector with: mthd class package)
+"/ severity: #error data: mthd
].
]
@@ -278,9 +265,9 @@
checker := [:cls|
cls selectorsAndMethodsDo:[:sel :mth|
(mth package isNil or:[mth package == PackageId noProjectID]) ifTrue:[
- self problem: ('Unpackaged method %1 >> %2' bindWith: mth mclass with: sel)
- description: 'The class belongs to ''no package'' and therefore won'' be commited. All methods should belong to a package.'
- severity: #error data: mth.
+ self addProblem:
+ (ProjectProblem newMethodInNoPackage
+ className: cls name selector: sel).
]
]
].
@@ -334,87 +321,18 @@
!ProjectChecker methodsFor:'reporting'!
-problem: label description: description severity: severity
- "Reports a problem"
-
- ^self problem: label description: description severity: severity data: nil
-
- "Created: / 11-01-2012 / 17:24:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-problem: label description: description severity: severity data: data
- "Reports a problem"
-
+addProblem: aProjectProblem
+ aProjectProblem package: self package.
problems isNil ifTrue:[problems := OrderedCollection new].
- problems add:
- (Problem new
- label: label;
- description: description;
- severity: severity;
- data: data)
-
- "Created: / 11-01-2012 / 17:17:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ProjectChecker::Problem methodsFor:'accessing'!
-
-data
- ^ data
-!
-
-data:something
- data := something.
-!
-
-description
- ^ description
-!
+ problems add: aProjectProblem
-description:something
- description := something.
-!
-
-label
- ^ label
-!
-
-label:something
- label := something.
-!
-
-severity
- ^ severity
-!
-
-severity:something
- severity := something.
-! !
-
-!ProjectChecker::Problem methodsFor:'printing & storing'!
-
-displayString
- ^self label
-
- "Created: / 14-02-2012 / 17:02:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-printOn:aStream
- "append a printed representation if the receiver to the argument, aStream"
-
- super printOn:aStream.
- aStream nextPut:$(.
- severity printOn:aStream.
- aStream nextPut:$:; space.
- label printOn:aStream.
- aStream nextPut:$).
-
- "Modified: / 12-01-2012 / 13:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 23-02-2012 / 13:10:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ProjectChecker class methodsFor:'documentation'!
version
- ^ '$Id: ProjectChecker.st 1885 2012-02-14 17:06:02Z vranyj1 $'
+ ^ '$Id: ProjectChecker.st 1886 2012-02-23 15:15:11Z vranyj1 $'
!
version_CVS
@@ -422,5 +340,5 @@
!
version_SVN
- ^ '$Id: ProjectChecker.st 1885 2012-02-14 17:06:02Z vranyj1 $'
+ ^ '$Id: ProjectChecker.st 1886 2012-02-23 15:15:11Z vranyj1 $'
! !
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ProjectProblem.st Thu Feb 23 15:15:11 2012 +0000
@@ -0,0 +1,516 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic3' }"
+
+Object subclass:#ProjectProblem
+ instanceVariableNames:'package'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'System-Support-Projects'
+!
+
+ProjectProblem subclass:#ClassProblem
+ instanceVariableNames:'className'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem::ClassProblem subclass:#ClassNotListed
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem::ClassProblem subclass:#ClassListedButDoesNotExist
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem::ClassProblem subclass:#ClassUsesPoolButItDoesNotExist
+ instanceVariableNames:'poolName'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem::ClassProblem subclass:#ClassUsesPoolButItIsNotASharedPool
+ instanceVariableNames:'poolName'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem subclass:#MethodProblem
+ instanceVariableNames:'className selector'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem::MethodProblem subclass:#ExtensionMethodNotListed
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem::MethodProblem subclass:#MethodInNoPackage
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem::MethodProblem subclass:#ExtensionMethodListedButDoesNotExist
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+ProjectProblem subclass:#ProjectDefinitionDoesNotExist
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ProjectProblem
+!
+
+!ProjectProblem class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!ProjectProblem class methodsFor:'instance creation'!
+
+newClassListedButDoesNotExist
+
+ ^ClassListedButDoesNotExist new
+
+ "Created: / 23-02-2012 / 13:18:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newClassNotListed
+
+ ^ClassNotListed new
+
+ "Created: / 23-02-2012 / 13:59:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newClassUsesPoolButItDoesNotExist
+
+ ^ClassUsesPoolButItDoesNotExist new
+
+ "Created: / 23-02-2012 / 13:37:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newClassUsesPoolButItIsNotASharedPool
+
+ ^ClassUsesPoolButItIsNotASharedPool new
+
+ "Created: / 23-02-2012 / 13:48:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newExtensionMethodListedButDoesNotExist
+
+ ^ExtensionMethodListedButDoesNotExist new
+
+ "Created: / 23-02-2012 / 14:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newExtensionMethodNotListed
+
+ ^ExtensionMethodNotListed new
+
+ "Created: / 23-02-2012 / 14:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newMethodInNoPackage
+
+ ^MethodInNoPackage new
+
+ "Created: / 23-02-2012 / 14:27:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newProjectDefinitionDoesNotExist
+
+ ^ProjectDefinitionDoesNotExist new
+
+ "Created: / 23-02-2012 / 13:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem methodsFor:'accessing'!
+
+actions
+ "Return (possibly empty) list of actions that
+ the user may take to fix/investigate the problem.
+ Returned value should be list of pairs (label, action block)"
+
+ ^#()
+
+ "Created: / 23-02-2012 / 13:08:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+description
+ "Return a (HTML) describing the problem."
+
+ ^self subclassResponsibility
+
+ "Created: / 23-02-2012 / 13:04:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+descriptionAndActions
+ "Return a (HTML) describing the problem plus possible actions."
+
+ ^self description
+
+ "Created: / 23-02-2012 / 14:32:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "Return the label (possibly instance if a Text) shortly describing the problem"
+
+ ^self subclassResponsibility
+
+ "Created: / 23-02-2012 / 13:03:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+package
+ ^ package
+!
+
+package:aSymbol
+ package := aSymbol.
+!
+
+packageDefinitionClass
+ ^ProjectDefinition definitionClassForPackage: package
+
+ "Created: / 23-02-2012 / 13:26:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+severity
+ "Return a severity - one of #error, #warning, #info"
+
+ ^#warning"/by default
+
+ "Created: / 23-02-2012 / 13:09:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem methodsFor:'printing & storing'!
+
+displayString
+ ^self label
+
+ "Created: / 14-02-2012 / 17:02:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+printOn:aStream
+ "append a printed representation if the receiver to the argument, aStream"
+
+ super printOn:aStream.
+ aStream nextPut:$(.
+ severity printOn:aStream.
+ aStream nextPut:$:; space.
+ label printOn:aStream.
+ aStream nextPut:$).
+
+ "Modified: / 12-01-2012 / 13:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem methodsFor:'utilities-HTML'!
+
+linkToClass: classOrclassName
+
+ | className |
+ className := classOrclassName isBehavior
+ ifTrue: [classOrclassName storeString]
+ ifFalse:[classOrclassName].
+
+ ^'<A INFO="Click to browse class" ACTION="doit: UserPreferences current systemBrowserClass openInClass:%1"><CODE>%1</CODE></A>'
+ bindWith: className
+
+ "Created: / 23-02-2012 / 13:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+linkToClass: classOrclassName selector: selector
+
+ | className |
+ className := classOrclassName isBehavior
+ ifTrue: [classOrclassName name]
+ ifFalse:[classOrclassName].
+
+ ^'<A INFO="Click to browse method" ACTION="doit: UserPreferences current systemBrowserClass openInClass:%1 selector: %2"><CODE>%1>>%3</CODE></A>'
+ bindWith: className
+ with: selector storeString
+ with: selector
+
+ "Created: / 23-02-2012 / 13:45:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem::ClassProblem methodsFor:'accessing'!
+
+className
+ ^ className
+!
+
+className:something
+ className := something.
+! !
+
+!ProjectProblem::ClassNotListed methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+
+ ^
+'Class %1 is not listed in project definition. Such class won''t be compiled
+and - if some other class dependents on it - whole package will fail to compile
+at all.
+
+Either add it into %2 or remove it completely.'
+bindWith: (self linkToClass: className)
+ with: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes)
+
+ "Modified: / 23-02-2012 / 14:35:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "Return the label (possibly instance if a Text) shortly describing the problem"
+
+ ^'Class %1 not listed in project definition' bindWith: className
+
+ "Modified: / 23-02-2012 / 13:55:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem::ClassListedButDoesNotExist methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+ ^
+'A class (%1) is listed in project definition class but
+it is not present in the system.
+
+You should either create it or remove it from %1.'
+ bindWith: (self linkToClass: self packageDefinitionClass class selector: #classNamesAndAttributes)
+
+ "Modified: / 23-02-2012 / 14:34:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ ^'Missing class ', className
+
+ "Modified: / 23-02-2012 / 13:20:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem::ClassUsesPoolButItDoesNotExist methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+
+ ^
+'A class %1 uses pool %2 but it does not exists.
+
+The pool should be removed from class definition otherwise
+the package won''t compile due missing class.'
+ bindWith: (self linkToClass: className) with: poolName
+
+ "Modified: / 23-02-2012 / 13:47:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "Return the label (possibly instance if a Text) shortly describing the problem"
+
+ ^'Missing pool (%1)' bindWith: className
+
+ "Modified: / 23-02-2012 / 13:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+poolName
+ ^ poolName
+!
+
+poolName:something
+ poolName := something.
+! !
+
+!ProjectProblem::ClassUsesPoolButItIsNotASharedPool methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+
+ ^
+'A class %1 uses pool %2 but it does not exists.
+
+The pool should be removed from class definition otherwise
+the package won''t compile due missing class.'
+ bindWith: (self linkToClass: className)
+ with: (self linkToClass: poolName)
+
+ "Modified: / 23-02-2012 / 13:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "Return the label (possibly instance if a Text) shortly describing the problem"
+
+ ^'Used pool is not a SharedPool (%1)' bindWith: className
+
+ "Modified: / 23-02-2012 / 13:40:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+poolName
+ ^ poolName
+!
+
+poolName:something
+ poolName := something.
+! !
+
+!ProjectProblem::MethodProblem methodsFor:'accessing'!
+
+className
+ ^ className
+!
+
+className:something
+ className := something.
+!
+
+className:something selector: sel
+ className := something.
+ selector := sel
+
+ "Created: / 23-02-2012 / 14:17:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+selector
+ ^ selector
+!
+
+selector:something
+ selector := something.
+! !
+
+!ProjectProblem::MethodProblem methodsFor:'utilities-HTML'!
+
+linkToMethod
+
+ ^self linkToClass: className selector: selector
+
+ "Created: / 23-02-2012 / 14:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem::ExtensionMethodNotListed methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+
+^'Method %1 is not listed in %2. Although it does not hurt,
+it should be listed'
+ bindWith: (self linkToMethod)
+ with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
+
+ "Modified: / 23-02-2012 / 14:34:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "Return the label (possibly instance if a Text) shortly describing the problem"
+
+ ^'Extension method %1>>%2 not listed' bindWith: className with: selector
+
+ "Modified: / 23-02-2012 / 14:22:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem::MethodInNoPackage methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+
+ ^
+'Method %1 does not belong to any package. Such methods
+are not commited and will be lost when you restart/recompile.
+Method should be moved to some package, %2 maybe?'
+ bindWith: (self linkToMethod)
+ with: package
+
+ "Modified: / 23-02-2012 / 14:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "Return the label (possibly instance if a Text) shortly describing the problem"
+
+ ^'Unpackaged method %1>>%2' bindWith: className with: selector
+
+ "Modified: / 23-02-2012 / 14:19:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem::ExtensionMethodListedButDoesNotExist methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+
+^'Method %1>>%2 listed in %3 but does not exists. This does not hurt
+if you stc-compile all your code, but such a package will fail to
+(auto)load from sources.
+
+It is highly reccomended to add the method to the list (%3).'
+ bindWith: className with: selector
+ with: (self linkToClass: self packageDefinitionClass class selector: #extensionMethodNames)
+
+ "Modified: / 23-02-2012 / 14:35:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ "Return the label (possibly instance if a Text) shortly describing the problem"
+
+ ^'Extension method %1>>%2 listed but not exist' bindWith: className with: selector
+
+ "Modified: / 23-02-2012 / 14:22:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem::ProjectDefinitionDoesNotExist methodsFor:'accessing'!
+
+description
+ "Return a (HTML) describing the problem."
+
+ ^
+'A project definition class for package %1 does not exists.
+You <b>must</b> create it, otherwise package management won''t work'.
+
+ "Modified: / 23-02-2012 / 13:29:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ ^'Project definition class for %1 does not exist' bindWith: package
+
+ "Modified: / 23-02-2012 / 13:21:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ProjectProblem class methodsFor:'documentation'!
+
+version_SVN
+ ^ '$Id: ProjectProblem.st 1886 2012-02-23 15:15:11Z vranyj1 $'
+! !
--- a/abbrev.stc Tue Feb 14 17:06:02 2012 +0000
+++ b/abbrev.stc Thu Feb 23 15:15:11 2012 +0000
@@ -66,4 +66,4 @@
ProjectChecker ProjectChecker stx:libbasic3 'System-Support-Projects' 0
MercurialSourceCodeManager MercurialSourceCodeManager stx:libbasic3 'System-SourceCodeManagement' 0
InvalidChange InvalidChange stx:libbasic3 'System-Changes' 0
-
+ProjectProblem ProjectProblem stx:libbasic3 'System-Support-Projects' 0
--- a/bc.mak Tue Feb 14 17:06:02 2012 +0000
+++ b/bc.mak Thu Feb 23 15:15:11 2012 +0000
@@ -1,7 +1,7 @@
-# $Header: /cvs/stx/stx/libbasic3/bc.mak,v 1.104 2012/01/30 18:55:19 vrany Exp $
+# $Header$
#
# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libbasic3 at 2012-01-30 18:54:42.879.
+# automagically generated from the projectDefinition: stx_libbasic3 at 2012-02-23 15:15:00.217.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -82,6 +82,7 @@
$(OUTDIR)MethodFinder.$(O) MethodFinder.$(H): MethodFinder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)ProfileTree.$(O) ProfileTree.$(H): ProfileTree.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)ProjectChecker.$(O) ProjectChecker.$(H): ProjectChecker.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)ProjectProblem.$(O) ProjectProblem.$(H): ProjectProblem.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SourceCodeCache.$(O) SourceCodeCache.$(H): SourceCodeCache.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SourceCodeManagerError.$(O) SourceCodeManagerError.$(H): SourceCodeManagerError.st $(INCLUDE_TOP)\stx\libbasic\ProceedableError.$(H) $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SourceCodeManagerUtilities.$(O) SourceCodeManagerUtilities.$(H): SourceCodeManagerUtilities.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -134,4 +135,3 @@
$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
# ENDMAKEDEPEND --- do not remove this line
-
--- a/libInit.cc Tue Feb 14 17:06:02 2012 +0000
+++ b/libInit.cc Thu Feb 23 15:15:11 2012 +0000
@@ -1,5 +1,5 @@
/*
- * $Header: /cvs/stx/stx/libbasic3/libInit.cc,v 1.92 2012/01/30 18:56:12 vrany Exp $
+ * $Header$
*
* DO NOT EDIT
* automagically generated from the projectDefinition: stx_libbasic3.
@@ -43,6 +43,7 @@
_MethodFinder_Init(pass,__pRT__,snd);
_ProfileTree_Init(pass,__pRT__,snd);
_ProjectChecker_Init(pass,__pRT__,snd);
+_ProjectProblem_Init(pass,__pRT__,snd);
_SourceCodeCache_Init(pass,__pRT__,snd);
_SourceCodeManagerError_Init(pass,__pRT__,snd);
_SourceCodeManagerUtilities_Init(pass,__pRT__,snd);
@@ -96,4 +97,3 @@
_stx_137libbasic3_extensions_Init(pass,__pRT__,snd);
__END_PACKAGE__();
}
-
--- a/libbasic3.rc Tue Feb 14 17:06:02 2012 +0000
+++ b/libbasic3.rc Thu Feb 23 15:15:11 2012 +0000
@@ -3,7 +3,7 @@
// automagically generated from the projectDefinition: stx_libbasic3.
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 6,2,1867,1867
+ FILEVERSION 6,2,1884,1884
PRODUCTVERSION 6,2,1,1
#if (__BORLANDC__)
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE
@@ -20,12 +20,12 @@
BEGIN
VALUE "CompanyName", "eXept Software AG\0"
VALUE "FileDescription", "Smalltalk/X Additional Developer Basic Classes (LIB)\0"
- VALUE "FileVersion", "6.2.1867.1867\0"
+ VALUE "FileVersion", "6.2.1884.1884\0"
VALUE "InternalName", "stx:libbasic3\0"
VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
VALUE "ProductName", "Smalltalk/X\0"
VALUE "ProductVersion", "6.2.1.1\0"
- VALUE "ProductDate", "Mon, 30 Jan 2012 18:54:42 GMT\0"
+ VALUE "ProductDate", "Thu, 23 Feb 2012 15:15:00 GMT\0"
END
END
@@ -35,4 +35,3 @@
VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
END
END
-
--- a/stx_libbasic3.st Tue Feb 14 17:06:02 2012 +0000
+++ b/stx_libbasic3.st Thu Feb 23 15:15:11 2012 +0000
@@ -166,7 +166,10 @@
ProjectChecker
MercurialSourceCodeManager
InvalidChange
+ ProjectProblem
)
+
+ "Modified: / 23-02-2012 / 15:13:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
extensionMethodNames
@@ -217,27 +220,26 @@
(Generated since 2011-04-08)
"
- ^ '$URL$'
+ ^ '$URL: https://vranyj1@swing.fit.cvut.cz/svn/stx/libbasic3/branches/jv/stx_libbasic3.st $'
!
svnRevisionNr
"Return a SVN revision number of myself.
This number is updated after a commit"
- ^ "$SVN-Revision:" '1874M'"$"
+ ^ "$SVN-Revision:"1885"$"
! !
!stx_libbasic3 class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/stx_libbasic3.st,v 1.67 2012/01/30 18:56:18 vrany Exp $'
+ ^ '$Id: stx_libbasic3.st 1886 2012-02-23 15:15:11Z vranyj1 $'
!
version_CVS
- ^ 'Header: /cvs/stx/stx/libbasic3/stx_libbasic3.st,v 1.67 2012/01/30 18:56:18 vrany Exp '
+ ^ '§Header: /cvs/stx/stx/libbasic3/stx_libbasic3.st,v 1.67 2012/01/30 18:56:18 vrany Exp §'
!
version_SVN
- ^ '$Id: stx_libbasic3.st 1884 2012-02-13 19:20:09Z vranyj1 $'
+ ^ '$Id: stx_libbasic3.st 1886 2012-02-23 15:15:11Z vranyj1 $'
! !
-