diff --git a/src/GToolkit4Git/AbstractFileReference.extension.st b/src/GToolkit4Git/AbstractFileReference.extension.st index 0e39b1d8..aa8db00e 100644 --- a/src/GToolkit4Git/AbstractFileReference.extension.st +++ b/src/GToolkit4Git/AbstractFileReference.extension.st @@ -4,3 +4,8 @@ Extension { #name : #AbstractFileReference } AbstractFileReference >> filename [ ^self basename ] + +{ #category : #'*GToolkit4Git' } +AbstractFileReference >> name [ + ^self basename +] diff --git a/src/GToolkit4Git/IceGitCliFileReader.class.st b/src/GToolkit4Git/IceGitCliFileReader.class.st new file mode 100644 index 00000000..607b32aa --- /dev/null +++ b/src/GToolkit4Git/IceGitCliFileReader.class.st @@ -0,0 +1,64 @@ +Class { + #name : #IceGitCliFileReader, + #superclass : #TonelReader, + #traits : 'TIceRepositoryReader', + #classTraits : 'TIceRepositoryReader classTrait', + #instVars : [ + 'iceVersion' + ], + #category : #GToolkit4Git +} + +{ #category : #accessing } +IceGitCliFileReader class >> id [ + ^#cliFiletree +] + +{ #category : #accessing } +IceGitCliFileReader class >> on: aCommitOrTree iceVersion: iceVersion [ + ^ (self on: aCommitOrTree fileSystem) + iceVersion: iceVersion; + yourself +] + +{ #category : #accessing } +IceGitCliFileReader >> fileUtils [ + ^ IceLibgitTonelFileUtils +] + +{ #category : #accessing } +IceGitCliFileReader >> iceVersion [ + ^ iceVersion +] + +{ #category : #accessing } +IceGitCliFileReader >> iceVersion: anObject [ + | repository packageDirectoryName | + iceVersion := anObject. + repository := iceVersion commit repository. + package := iceVersion package. + + packageDirectoryName := iceVersion commit writerClass directoryNameFor: package. + self + packageDirectory: (repository subdirectoryPath / packageDirectoryName) pathString +] + +{ #category : #accessing } +IceGitCliFileReader >> loadVersionInfo [ + ^ info := self iceVersion info +] + +{ #category : #accessing } +IceGitCliFileReader >> package [ + ^ MCPackage named: self iceVersion packageName +] + +{ #category : #accessing } +IceGitCliFileReader >> packageDirectory: aDirectoryName [ + packageDirectory := stream resolvePath: aDirectoryName +] + +{ #category : #accessing } +IceGitCliFileReader >> packageNameFromPackageDirectory [ + ^ iceVersion packageName +] diff --git a/src/GToolkit4Git/IceGitCliFileWriter.class.st b/src/GToolkit4Git/IceGitCliFileWriter.class.st new file mode 100644 index 00000000..89fae9e0 --- /dev/null +++ b/src/GToolkit4Git/IceGitCliFileWriter.class.st @@ -0,0 +1,12 @@ +Class { + #name : #IceGitCliFileWriter, + #superclass : #IceMetadatalessFileTreeWriter, + #traits : 'TIceRepositoryWriter', + #classTraits : 'TIceRepositoryWriter classTrait', + #category : #GToolkit4Git +} + +{ #category : #accessing } +IceGitCliFileWriter class >> directoryNameFor: aPackage [ + ^ aPackage name, '.package' +] diff --git a/src/GToolkit4Git/IceGitCliRepository.class.st b/src/GToolkit4Git/IceGitCliRepository.class.st index 1ad54cc2..821cd9e2 100644 --- a/src/GToolkit4Git/IceGitCliRepository.class.st +++ b/src/GToolkit4Git/IceGitCliRepository.class.st @@ -655,7 +655,7 @@ IceGitCliRepository >> makeSafe [ IceGitCliRepository >> mcVersionFor: iceVersion [ [ | commit | commit := iceVersion commit cliGitCommit. - ^ (iceVersion commit readerClass on: commit iceVersion: iceVersion) version ] + ^ (IceGitCliFileReader on: commit iceVersion: iceVersion) version ] on: Error do: [ IceVersionDoesNotExist new version: iceVersion;