Skip to content

Commit

Permalink
Merge pull request Metacello#396 from dalehenrich/issue_395
Browse files Browse the repository at this point in the history
Fix Issue 395
  • Loading branch information
dalehenrich committed May 22, 2016
2 parents acd9c57 + 40b40ae commit 93bc0f9
Show file tree
Hide file tree
Showing 21 changed files with 173 additions and 58 deletions.
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ env:
- ST=GemStone-3.3.0 LoadList="'TravisCI_1' 'TravisCI_2'" TRAVIS_SCRIPT=travisCI.st
- ST=GemStone-3.3.0 LoadList="'TravisCI_3'" TRAVIS_SCRIPT=travisCI.st
- ST=Squeak-4.5 LoadList="'TravisCI_1' 'TravisCI_2'" TRAVIS_SCRIPT=travisCI.st
- ST=Squeak-4.5 LoadList="'TravisCI_3'" TRAVIS_SCRIPT=travisCI.st # until Issue
- ST=Squeak-4.5 LoadList="'TravisCI_3'" TRAVIS_SCRIPT=travisCI.st

# - ST=PharoCore-1.1 LoadList="'TravisCI_1' 'TravisCI_2'" TRAVIS_SCRIPT=travisCI.st
# - ST=PharoCore-1.1 LoadList="'TravisCI_3'" TRAVIS_SCRIPT=travisCI.st
Expand Down Expand Up @@ -89,6 +89,7 @@ matrix:
allow_failures:
- env: ST=Squeak-4.4 LoadList="'TravisCI_1' 'TravisCI_2'" TRAVIS_SCRIPT=travisCI.st
- env: ST=Squeak-4.4 LoadList="'TravisCI_3'" TRAVIS_SCRIPT=travisCI.st
- env: ST=Squeak-4.5 LoadList="'TravisCI_3'" TRAVIS_SCRIPT=travisCI.st
- env: ST=Squeak-Trunk LoadList="'TravisCI_1' 'TravisCI_2'" TRAVIS_SCRIPT=travisCI.st
- env: ST=Squeak-Trunk LoadList="'TravisCI_3'" TRAVIS_SCRIPT=travisCI.st
- env: ST=Squeak-4.6 LoadList="'TravisCI_1' 'TravisCI_2'" TRAVIS_SCRIPT=travisCI.st
Expand Down
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
private
evaluateBaselineMethodSection: methodSection
| versionSpec |
versionSpec := self project versionSpec.
methodSection versionSpec: versionSpec.
currentSection := methodSection.
self with: versionSpec during: methodSection block.
methodSection methodSections
do: [ :ms | self evaluateBaselineMethodSection: ms ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
pragma extraction
extractBaselinePragmaFor: aClass
| pragmas |
pragmas := Pragma allNamed: #'baseline' in: aClass.
pragmas isEmpty
ifTrue: [ ^ self error: 'No #baseline pragma found' ].
^ pragmas first
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
extraction
extractMethodSectionsFor: aBaselineClass
self shouldNotImplement
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
extraction
extractMethodSectionsForClass: aBaselineClass
| pragma |
pragma := self extractBaselinePragmaFor: aBaselineClass.
self evaluatePragma: pragma.
self methodSections
do: [ :methodSection | self evaluateBaselineMethodSection: methodSection ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"class" : {
},
"instance" : {
"evaluateBaselineMethodSection:" : "dkh 05/21/2016 20:27",
"extractBaselinePragmaFor:" : "dkh 05/21/2016 20:22",
"extractMethodSectionsFor:" : "dkh 05/21/2016 20:34",
"extractMethodSectionsForClass:" : "dkh 05/21/2016 20:35" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"category" : "Metacello-Core-Constructors",
"classinstvars" : [
],
"classvars" : [
],
"commentStamp" : "",
"instvars" : [
],
"name" : "MetacelloToolBoxBaselineConstructor",
"pools" : [
],
"super" : "MetacelloToolBoxConstructor",
"type" : "normal" }
2 changes: 1 addition & 1 deletion repository/Metacello-Core.package/monticello.meta/version

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
private BaselineOf
baselineOfModifiedSourceString
^ 'baseline: spec
<baseline>
spec for: #''common'' do: [
spec project: ''MetacelloTestConfigurationOfFoo'' with: [
spec
className: ''MetacelloTestConfigurationOfFoo'';
versionString: #''bleedingEdge'';
repository: ''dictionary://Metacello_Dev_Cycle_Repository'' ].
spec
package: ''GeauxFaux'' with: [
spec requires: #(''MetacelloTestConfigurationOfFoo'' ''GoferFoo'' ). ];
package: ''GeauxBeau'' with: [
spec requires: #(''GeauxFaux'' ). ];
package: ''GoferFoo''.
spec
group: ''default'' with: #(''Core'' );
group: ''Core'' with: #(''GeauxFaux'' );
group: ''Tests'' with: #(''GeauxBeau'' );
group: ''Core Tests'' with: #(''Core'' ''Tests'' ). ].
'
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
private BaselineOf
createBaselineOf
(MetacelloToolBox baselineNamed: self baselineName asString)
createBaselineOfMethod: 'baseline:' inCategory: 'baseline';
addBaselineOfSection: #'common'
requiredProjects: #('MetacelloTestConfigurationOfFoo')
packages: #('GeauxFaux' 'GeauxBeau')
repositories:
{('MetacelloTestConfigurationOfFoo'
-> {('dictionary://' , self repositoryName asString)})}
dependencies:
{('GeauxFaux' -> #('MetacelloTestConfigurationOfFoo')).
('GeauxBeau' -> #('GeauxFaux'))}
groups:
{('default' -> #('Core')).
('Core' -> #('GeauxFaux')).
('Tests' -> #('GeauxBeau')).
('Core Tests' -> #('Core' 'Tests'))}
versionSpecsDo: [ :versionSpec | ];
commitBaselineOfMethod
Original file line number Diff line number Diff line change
@@ -1,31 +1,7 @@
tests BaselineOf
testBaselineOf
[
(MetacelloToolBox baselineNamed: self baselineName asString)
createBaselineOfMethod: 'baseline:' inCategory: 'baseline';
addBaselineOfSection: #'common'
requiredProjects: #('MetacelloTestConfigurationOfFoo')
packages: #('GeauxFaux' 'GeauxBeau')
repositories:
{('MetacelloTestConfigurationOfFoo'
-> {('dictionary://' , self repositoryName asString)})}
dependencies:
{('GeauxFaux' -> #('MetacelloTestConfigurationOfFoo')).
('GeauxBeau' -> #('GeauxFaux'))}
groups:
{('default' -> #('Core')).
('Core' -> #('GeauxFaux')).
('Tests' -> #('GeauxBeau')).
('Core Tests' -> #('Core' 'Tests'))}
versionSpecsDo: [ :versionSpec | ];
commitBaselineOfMethod.
self createBaselineOf.
self
assert:
((Smalltalk at: self baselineName) sourceCodeAt: #'baseline:')
= self baselineOfSourceString ]
on: Error
do: [ :ex |
Transcript
cr;
show: 'testBaselineOf: ' , ex description.
ex pass ]
= self baselineOfSourceString
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ tests BaselineOf
testBaselineOfAddSection1
"Add section as part of creating a new version"

[
| x y |
(MetacelloToolBox baselineNamed: self baselineName asString)
createBaselineOfMethod: 'baseline:' inCategory: 'baseline';
Expand Down Expand Up @@ -31,10 +30,4 @@ testBaselineOfAddSection1
self
assert:
(x := (Smalltalk at: self baselineName) sourceCodeAt: #'baseline:')
= (y := self baselineOfAddSection1SourceString) ]
on: Error
do: [ :ex |
Transcript
cr;
show: 'testBaselineOf: ' , ex description.
ex pass ]
= (y := self baselineOfAddSection1SourceString)
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
tests
testComplexModifyBaseline
self createComplex11Baseline.
MetacelloToolBox
modifyVersion: '1.1-baseline'
section: #common
for: self configurationName asString
repository: nil
requiredProjects: #()
packages: #('GoferFoo')
dependencies: {'GeauxFaux' -> #('GoferFoo').}
includes: #()
files: #()
repositories: #()
preLoadDoIts: #()
postLoadDoIts: #()
supplyingAnswers: #()
groups: #().
self assert: ((Smalltalk at: self configurationName) sourceCodeAt: #baseline11:) = self complexBaseline11SourceString2
self createComplex11Baseline.
MetacelloToolBox
modifyVersion: '1.1-baseline'
section: #'common'
for: self configurationName asString
repository: nil
requiredProjects: #()
packages: #('GoferFoo')
dependencies: {('GeauxFaux' -> #('GoferFoo'))}
includes: #()
files: #()
repositories: #()
preLoadDoIts: #()
postLoadDoIts: #()
supplyingAnswers: #()
groups: #().
self
assert:
((Smalltalk at: self configurationName) sourceCodeAt: #'baseline11:')
= self complexBaseline11SourceString2
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
tests BaselineOf
testModifyBaselineOf
| x |
self createBaselineOf.
(MetacelloToolBox baselineNamed: self baselineName asString)
modifyBaselineOf;
modifySection: #'common' asMetacelloAttributePath
repository: nil
requiredProjects: #()
packages: #('GoferFoo')
dependencies: {('GeauxFaux' -> #('GoferFoo'))}
includes: #()
files: #()
repositories: #()
preLoadDoIts: #()
postLoadDoIts: #()
supplyingAnswers: #()
groups: #()
versionSpecsDo: [ :versionSpec | true ];
commitBaselineOfMethod.
self
assert:
(x := (Smalltalk at: self baselineName) sourceCodeAt: #'baseline:')
= self baselineOfModifiedSourceString
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"baseline14SourceString" : "dkh 9/14/2012 09:57",
"baselineName" : "dkh 10/23/2015 16:55",
"baselineOfAddSection1SourceString" : "dkh 10/23/2015 19:32",
"baselineOfModifiedSourceString" : "dkh 05/21/2016 20:44",
"baselineOfSourceString" : "dkh 10/23/2015 17:11",
"complexBaseline11SourceString" : "dkh 6/12/2012 15:41:23.319",
"complexBaseline11SourceString2" : "dkh 6/12/2012 15:41:23.319",
Expand All @@ -25,6 +26,7 @@
"create14Baseline" : "dkh 9/14/2012 09:53",
"create14Version" : "dkh 9/14/2012 09:51",
"create15Baseline" : "dkh 9/13/2012 15:13",
"createBaselineOf" : "dkh 05/21/2016 14:13",
"createComplex11Baseline" : "dkh 6/12/2012 15:41:23.319",
"createNested12Baseline" : "dkh 9/12/2012 16:19",
"createNested13Baseline" : "dkh 9/12/2012 16:54",
Expand All @@ -39,10 +41,10 @@
"testAddNestedSection2" : "dkh 6/12/2012 15:41:23.319",
"testAddSection1" : "dkh 10/23/2015 17:05",
"testAddSection2" : "dkh 6/12/2012 15:41:23.319",
"testBaselineOf" : "dkh 10/23/2015 20:25",
"testBaselineOfAddSection1" : "dkh 10/23/2015 20:26",
"testBaselineOf" : "dkh 05/21/2016 14:14",
"testBaselineOfAddSection1" : "dkh 05/21/2016 20:42",
"testComplexCreateBaseline" : "dkh 6/12/2012 15:41:23.319",
"testComplexModifyBaseline" : "dkh 6/12/2012 15:41:23.319",
"testComplexModifyBaseline" : "dkh 05/21/2016 16:09",
"testComplexModifyBaselineWithRepositoryIssue157" : "dkh 6/12/2012 15:41:23.319",
"testComplexNullModifyBaseline" : "dkh 6/12/2012 15:41:23.319",
"testImportFrom1" : "dkh 9/7/2012 14:00",
Expand All @@ -63,6 +65,7 @@
"testIssue5C" : "dkh 10/09/2014 14:41",
"testIssue5D" : "dkh 6/12/2012 15:41:23.319",
"testMethodSectionsFromDo" : "dkh 09/18/2014 09:42",
"testModifyBaselineOf" : "dkh 05/21/2016 20:41",
"testReasonCodes" : "dkh 6/12/2012 15:41:23.319",
"testUpdateVersionMethod" : "dkh 9/13/2012 16:59",
"version10Issue115CreateVersionSourceString" : "dkh 07/19/2013 22:54",
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
api-configuration
modifyBaselineOf
| baselineClass constructor pragma baseline |
baselineClass := project configuration class.
baseline := baselineClass new.
constructor := MetacelloToolBoxBaselineConstructor new
configuration: project configuration class new;
yourself.
pragma := constructor extractBaselinePragmaFor: baselineClass.
constructor extractMethodSectionsForClass: baselineClass.
methodSpec := MetacelloBaselineOfMethodSpec new
project: project;
selector: pragma selector;
category: (baselineClass whichCategoryIncludesSelector: pragma selector);
yourself.
constructor methodSections
do: [ :methodSection | self methodSpec methodSections add: methodSection ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
api-configuration
modifyBaselineOfMethodForVersionSpecsDo: aBlock
^ self
updateBaselineOfMethodForProjects: false
updatePackages: false
versionSpecsDo: aBlock
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@
"methodSectionsFrom:do:" : "dkh 09/17/2014 16:41",
"methodSpec" : "dkh 3/7/2012 17:08:50",
"modifiedPackageSpecs:packageSpecsDo:" : "dkh 3/7/2012 17:08:50",
"modifyBaselineOf" : "dkh 05/21/2016 20:34",
"modifyBaselineOfMethodForVersionSpecsDo:" : "dkh 05/21/2016 16:11",
"modifySection:repository:requiredProjects:packages:dependencies:includes:files:repositories:preLoadDoIts:postLoadDoIts:supplyingAnswers:groups:versionSpecsDo:" : "dkh 9/8/2012 05:04",
"modifySection:sectionIndex:repository:requiredProjects:packages:dependencies:includes:files:repositories:preLoadDoIts:postLoadDoIts:supplyingAnswers:groups:versionSpecsDo:" : "dkh 9/8/2012 05:05",
"modifySymbolicVersionMethodFor:" : "dkh 3/7/2012 17:08:50",
Expand Down

Large diffs are not rendered by default.

0 comments on commit 93bc0f9

Please sign in to comment.