From cc0daa906464a529d96454ec63bb5b067ed92da5 Mon Sep 17 00:00:00 2001 From: Gabriel-Darbord Date: Mon, 15 Jun 2026 17:16:07 +0200 Subject: [PATCH 1/3] Add refactoring change manager compatibility hook Co-authored-by: Codex --- .../BaselineOfPharoCompatibility.class.st | 110 ++++++++++-------- ...ompatibilityP13SurfacePharo13Test.class.st | 18 +++ .../package.st | 1 + .../PharoCompatibility.extension.st | 7 ++ .../package.st | 1 + 5 files changed, 86 insertions(+), 51 deletions(-) create mode 100644 src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st create mode 100644 src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/package.st create mode 100644 src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st create mode 100644 src/PharoCompatibility-Pharo13Surface-Pharo13/package.st diff --git a/src/BaselineOfPharoCompatibility/BaselineOfPharoCompatibility.class.st b/src/BaselineOfPharoCompatibility/BaselineOfPharoCompatibility.class.st index d9db50e..89181e1 100644 --- a/src/BaselineOfPharoCompatibility/BaselineOfPharoCompatibility.class.st +++ b/src/BaselineOfPharoCompatibility/BaselineOfPharoCompatibility.class.st @@ -13,63 +13,71 @@ BaselineOfPharoCompatibility >> baseline: spec [ spec for: #common do: [ - spec postLoadDoIt: #postload:package:. - spec - package: 'PharoCompatibility-Core'; - package: 'PharoCompatibility-Tests' - with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; - group: 'default' with: #( 'PharoCompatibility-Core' ); - group: 'Pharo12Surface' with: #( 'PharoCompatibility-Core' ); - group: 'Pharo13Surface' with: #( 'PharoCompatibility-Core' ); - group: 'Tests' with: #( 'PharoCompatibility-Tests' ) ]. + spec postLoadDoIt: #postload:package:. + spec + package: 'PharoCompatibility-Core'; + package: 'PharoCompatibility-Tests' + with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; + group: 'default' with: #( 'PharoCompatibility-Core' ); + group: 'Pharo12Surface' with: #( 'PharoCompatibility-Core' ); + group: 'Pharo13Surface' with: #( 'PharoCompatibility-Core' ); + group: 'Tests' with: #( 'PharoCompatibility-Tests' ) ]. spec for: #'pharo12.x' do: [ - spec - package: 'PharoCompatibility-Pharo13Surface-Pharo12' - with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; - package: 'PharoCompatibility-Pharo13Surface-Pharo12-Tests' - with: [ - spec requires: - #( 'PharoCompatibility-Tests' - 'PharoCompatibility-Pharo13Surface-Pharo12' ) ]; - group: 'Pharo13Surface' - with: #( 'PharoCompatibility-Pharo13Surface-Pharo12' ); - group: 'Tests' - with: - #( 'PharoCompatibility-Tests' - 'PharoCompatibility-Pharo13Surface-Pharo12-Tests' ) ]. + spec + package: 'PharoCompatibility-Pharo13Surface-Pharo12' + with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; + package: 'PharoCompatibility-Pharo13Surface-Pharo12-Tests' + with: [ + spec requires: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo13Surface-Pharo12' ) ]; + group: 'Pharo13Surface' + with: #( 'PharoCompatibility-Pharo13Surface-Pharo12' ); + group: 'Tests' + with: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo13Surface-Pharo12-Tests' ) ]. + + spec for: #'pharo13.x' do: [ + spec + package: 'PharoCompatibility-Pharo13Surface-Pharo13' + with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; + package: 'PharoCompatibility-Pharo13Surface-Pharo13-Tests' + with: [ + spec requires: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo13Surface-Pharo13' ) ]; + group: 'Pharo13Surface' + with: #( 'PharoCompatibility-Pharo13Surface-Pharo13' ); + group: 'Tests' + with: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo13Surface-Pharo13-Tests' ) ]. spec for: #'pharo14.x' do: [ - spec - package: 'PharoCompatibility-Pharo13Surface-Pharo14' - with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; - package: 'PharoCompatibility-Pharo13Surface-Pharo14-Tests' - with: [ - spec requires: - #( 'PharoCompatibility-Tests' - 'PharoCompatibility-Pharo13Surface-Pharo14' ) ]; - group: 'Pharo13Surface' - with: #( 'PharoCompatibility-Pharo13Surface-Pharo14' ); - group: 'Tests' - with: - #( 'PharoCompatibility-Tests' - 'PharoCompatibility-Pharo13Surface-Pharo14-Tests' ) ]. + spec + package: 'PharoCompatibility-Pharo13Surface-Pharo14' + with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; + package: 'PharoCompatibility-Pharo13Surface-Pharo14-Tests' + with: [ + spec requires: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo13Surface-Pharo14' ) ]; + group: 'Pharo13Surface' + with: #( 'PharoCompatibility-Pharo13Surface-Pharo14' ); + group: 'Tests' + with: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo13Surface-Pharo14-Tests' ) ]. spec for: (self pharoVersionsFrom: 13) do: [ - spec - package: 'PharoCompatibility-Pharo12Surface-Pharo13' - with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; - package: 'PharoCompatibility-Pharo12Surface-Pharo13-Tests' - with: [ - spec requires: - #( 'PharoCompatibility-Tests' - 'PharoCompatibility-Pharo12Surface-Pharo13' ) ]; - group: 'Pharo12Surface' - with: #( 'PharoCompatibility-Pharo12Surface-Pharo13' ); - group: 'Tests' - with: - #( 'PharoCompatibility-Tests' - 'PharoCompatibility-Pharo12Surface-Pharo13-Tests' ) ] + spec + package: 'PharoCompatibility-Pharo12Surface-Pharo13' + with: [ spec requires: #( 'PharoCompatibility-Core' ) ]; + package: 'PharoCompatibility-Pharo12Surface-Pharo13-Tests' + with: [ + spec requires: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo12Surface-Pharo13' ) ]; + group: 'Pharo12Surface' + with: #( 'PharoCompatibility-Pharo12Surface-Pharo13' ); + group: 'Tests' + with: + #( 'PharoCompatibility-Tests' 'PharoCompatibility-Pharo12Surface-Pharo13-Tests' ) ] ] { #category : 'actions' } diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st b/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st new file mode 100644 index 0000000..7beaf75 --- /dev/null +++ b/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st @@ -0,0 +1,18 @@ +" +Tests runtime-specific Pharo 13 compatibility surface behavior. +" +Class { + #name : 'PharoCompatibilityP13SurfacePharo13Test', + #superclass : 'PharoCompatibilityP13SurfaceTest', + #category : 'PharoCompatibility-Pharo13Surface-Pharo13-Tests-Tests', + #package : 'PharoCompatibility-Pharo13Surface-Pharo13-Tests', + #tag : 'Tests' +} + +{ #category : 'tests' } +PharoCompatibilityP13SurfacePharo13Test >> testRefactoringChangeManagerClass [ + + self + assert: PharoCompatibility refactoringChangeManagerClass + equals: RBRefactoryChangeManager +] diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/package.st b/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/package.st new file mode 100644 index 0000000..b196a35 --- /dev/null +++ b/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/package.st @@ -0,0 +1 @@ +Package { #name : 'PharoCompatibility-Pharo13Surface-Pharo13-Tests' } diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st b/src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st new file mode 100644 index 0000000..f6037a9 --- /dev/null +++ b/src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st @@ -0,0 +1,7 @@ +Extension { #name : 'PharoCompatibility' } + +{ #category : '*PharoCompatibility-Pharo13Surface-Pharo13' } +PharoCompatibility class >> refactoringChangeManagerClass [ + + ^ RBRefactoryChangeManager +] diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo13/package.st b/src/PharoCompatibility-Pharo13Surface-Pharo13/package.st new file mode 100644 index 0000000..b5f9e68 --- /dev/null +++ b/src/PharoCompatibility-Pharo13Surface-Pharo13/package.st @@ -0,0 +1 @@ +Package { #name : 'PharoCompatibility-Pharo13Surface-Pharo13' } From 775a37316919dbacf406cca1f20294f5dd140886 Mon Sep 17 00:00:00 2001 From: Gabriel-Darbord Date: Mon, 15 Jun 2026 17:18:26 +0200 Subject: [PATCH 2/3] Add Pharo 14 refactoring manager hook Co-authored-by: Codex --- .../PharoCompatibilityP13SurfacePharo14Test.class.st | 6 ++++++ .../PharoCompatibility.extension.st | 7 +++++++ 2 files changed, 13 insertions(+) create mode 100644 src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st b/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st index 3503c84..6be49eb 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st @@ -96,6 +96,12 @@ PharoCompatibilityP13SurfacePharo14Test >> testPharo13ContextTempNamesSelector [ self assert: (names includes: 'temporaryValue') ] +{ #category : 'tests' } +PharoCompatibilityP13SurfacePharo14Test >> testRefactoringChangeManagerClass [ + + self assert: PharoCompatibility refactoringChangeManagerClass equals: ReChangeManager +] + { #category : 'tests' } PharoCompatibilityP13SurfacePharo14Test >> testUndeclaredVariableNodeFromCompilationError [ diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st b/src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st new file mode 100644 index 0000000..9ee03fe --- /dev/null +++ b/src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st @@ -0,0 +1,7 @@ +Extension { #name : 'PharoCompatibility' } + +{ #category : '*PharoCompatibility-Pharo13Surface-Pharo14' } +PharoCompatibility class >> refactoringChangeManagerClass [ + + ^ ReChangeManager +] From e58df950136718843dd7d06bf975564c881755d4 Mon Sep 17 00:00:00 2001 From: Gabriel-Darbord Date: Mon, 15 Jun 2026 17:19:37 +0200 Subject: [PATCH 3/3] Add Pharo 12 refactoring manager hook Co-authored-by: Codex --- .../PharoCompatibilityP13SurfacePharo12Test.class.st | 8 ++++++++ .../PharoCompatibility.extension.st | 7 +++++++ 2 files changed, 15 insertions(+) create mode 100644 src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st b/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st index bcaf104..cdad086 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st @@ -26,3 +26,11 @@ PharoCompatibilityP13SurfacePharo12Test >> testInstallPharo13SurfaceProvidesMill self assertPharo13SurfaceProvidesMillisecondSemaphoreTimeout ] + +{ #category : 'tests' } +PharoCompatibilityP13SurfacePharo12Test >> testRefactoringChangeManagerClass [ + + self + assert: PharoCompatibility refactoringChangeManagerClass + equals: RBRefactoryChangeManager +] diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st b/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st new file mode 100644 index 0000000..f76da28 --- /dev/null +++ b/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st @@ -0,0 +1,7 @@ +Extension { #name : 'PharoCompatibility' } + +{ #category : '*PharoCompatibility-Pharo13Surface-Pharo12' } +PharoCompatibility class >> refactoringChangeManagerClass [ + + ^ RBRefactoryChangeManager +]