Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gemtalk/jadeiteforpharo

IDE for GemStone Smalltalk application development in Pharo using Rowan code management
https://github.com/gemtalk/jadeiteforpharo

Last synced: about 15 hours ago
JSON representation

IDE for GemStone Smalltalk application development in Pharo using Rowan code management

Awesome Lists containing this project

README

        

# JadeiteForPharo
IDE for GemStone Smalltalk application development in Pharo using Rowan code management. Note that Jadeite for Pharo requires Rowan 3.

## To load JadeiteForPharo into a Pharo image:
(Currently, only Pharo 12 is supported)
After a Rowan server is created, clone git projects 'PharoGemStoneFFI' 'RemoteServiceReplication' 'JadeiteForPharo' to your local disk with a common parent directory.
Then, run the following script in a Pharo image playground

```

| directory jfpRepo icePackage sourceDirectory packageDir |
directory := UIManager default
chooseDirectory: 'Choose Jadeite Repositories directory'
from: nil.
directory ifNil: [ ^ self ].
{ 'PharoGemStoneFFI'. 'RemoteServiceReplication' . 'JadeiteForPharo'}
do: [ :projectName |
| projectDir iceRepository |
projectDir := (directory childrenMatching: projectName) first.
projectDir isDirectory ifFalse: [
^ self notify: projectName , ' git checkout not found' ].
[
(iceRepository := IceRepositoryCreator new
location: projectDir;
subdirectory: String new;
createRepository) register ]
on: IceDuplicatedRepository
do: [ "nothing" ].
].
jfpRepo := IceRepository repositoryNamed: 'JadeiteForPharo'.
icePackage := jfpRepo packageNamed: 'BaselineOfJadeiteForPharo'.
sourceDirectory := icePackage repository project sourceDirectory.
sourceDirectory ifEmpty: [ sourceDirectory := '.' ].

packageDir := (icePackage repository location / sourceDirectory)
fullName.

Metacello new
repository: 'gitlocal://' , packageDir;
baseline: icePackage metacelloBaselineName;
onUpgrade: [ :e |
| policy |
policy := self chooseUpgradePolicyFor: e.
policy ifNotNil: [ e perform: policy ] ];
onConflict: [ :e |
| policy |
policy := self chooseConflictPolicyFor: e.
policy ifNotNil: [ e perform: policy ] ];
load: #().

"Go to Library>Jadeite Launcher to open a connection browser"
```