Starting MultiPack multi package manager.
This commit is contained in:
parent
8a34385a6a
commit
567f1c19df
@ -58,8 +58,12 @@ Metacello new
|
||||
While the Pharo ecosystem provides an unmatched development experience,
|
||||
some libraries are not available or mature enough in Pharo, despite its vibrant, but small community.
|
||||
So, for practical reasons, we have reached already the scenario where we need to rely on external pacakges to provide the functionality we need without developing it ourselves.
|
||||
Also, the context where we teach Pharo and Mallable Systems, includes universities with slow or behind proxy connections, where dowloading and unziping a single binary is quite faster than resolving packages dependencies and loading them, recursively from the network.
|
||||
Also, the context where we teach Pharo and Mallable Systems, includes universities with slow or behind proxy connections,
|
||||
where dowloading and unziping a single binary is quite faster than resolving packages dependencies and loading them, recursively from the network.
|
||||
|
||||
In that case, we opted for using self contained external binaries, packaged in a single executable file, derived from Free Libre Open Source Software repositories, written in languages that provide such small self contained binaries, like Nim and Go.
|
||||
|
||||
For ExoRepo, we rely on Restify, because Gitea repositories don't provide a external JSON API and restify allow us to query Gitea repositories obtaining a JSON response to leverage on NeoJSON and STON Pharo libraries, without implementing cumbersome HTML page parsers and adding a single binary was more agile that requiring full HTML parsing capabilites, just to query Gitea repositories.
|
||||
For ExoRepo, we rely on Restify, because Gitea repositories don't provide a external JSON API.
|
||||
So, [Restify](https://github.com/itzg/restify/) allow us to query Gitea repositories obtaining a JSON response, to leverage on NeoJSON and STON Pharo libraries,
|
||||
without implementing cumbersome HTML page parsers
|
||||
and adding a single binary was more agile that requiring full HTML parsing capabilites, just to query Gitea repositories.
|
27
src/ExoRepo/MultiPack.class.st
Normal file
27
src/ExoRepo/MultiPack.class.st
Normal file
@ -0,0 +1,27 @@
|
||||
"
|
||||
I'm a a front-end to use multiple package managers like [Scoop](https://scoop.sh/) on Windows and [Brew](https://brew.sh/) on MacOS and Gnu/Linux
|
||||
"
|
||||
Class {
|
||||
#name : #MultiPack,
|
||||
#superclass : #Object,
|
||||
#instVars : [
|
||||
'requirements',
|
||||
'recommendations',
|
||||
'repository'
|
||||
],
|
||||
#category : #ExoRepo
|
||||
}
|
||||
|
||||
{ #category : #accessing }
|
||||
MultiPack >> recommendations: aDictionary [
|
||||
recommendations := aDictionary
|
||||
]
|
||||
|
||||
{ #category : #accessing }
|
||||
MultiPack >> repository: anObject [
|
||||
]
|
||||
|
||||
{ #category : #accessing }
|
||||
MultiPack >> requirements: aDictionary [
|
||||
requirements := aDictionary
|
||||
]
|
Loading…
Reference in New Issue
Block a user