Ensin opiskelin Racket package creation:ia teoriassa täästä linkistä. Tavallinen .rkt tiedosto muuttuu package:ksi niin, että sijoittaa sen hakemistoon, jonka nimestä tulee package:n collection ja rkt-tiedoston nimestä kirjaston nimi. Nyt olin siis tekemässä teachpacks nimistä collection:ia ja sen sisälle kirjastoa racket-turtle. Tavoitteeni oli siis, että kirjastoani voisi käyttää DrRacket:ssa näin:
(require teachpacks/racket-turtle)
Ensimmäinen vaihe tässä oli tehdä Racket - Turtlesta paikallinen kirjasto. Se tehtiin menemällä komentotulkin kautta hakemistoon teachpacks ja ajamalla siellä Racket Package Manager kutsu:
> raco pkg install
Nyt pystyin jo omalla koneellani käyttämään Racket Turtle:a kuin se olisi oikea package. Tämän jälkeen pakettini piti rekisteröidä Racket - package serverille. Ilmoitin, että pakettini nimi on "teachpacks" ja että se sijaitsee Githubissa osoitteessa: git://github.com/tyynetyyne/teachpacks.git
Nyt paketin pystyy kuka tahansa lataamaan ja asentamaan käyttöönsä esim. DrRacket:iin integroidun Package Managerin avulla. Package Managerin saa auki valitsemalla File->Package Manager. Package Source:ksi kirjoitetaan paketin nimi eli tässä tapauksessa teachpacks ja painetaan <enter>. Nyt paketti latautuu ja asenttuu koneelle (tämä ei vaadi admin oikeuksia). Nyt kirjaston voi ottaa käyttöön koodissa kirjoittamalla em. require - lause. Huimaa!
DrRacketin Package Manager - ikkuna |
Aivan ongelmitta tämä prosessi ei onnistunut, palvelimella oli hieman erilainen ympäristö kuin omalla koneellani, joten Scribble-dokumentaatio ei suostunut toimimaan heti. Pienen säädön jälkeen pakettini sai tänään "vihreää" (jouduin mm. poistamaan kaikki viittaukset Racket GUI komponentteihin kuten universe - kirjastoon).
Hienoa tässä on myös se, että voin päivittää pakettini päivittämällä tiedostot Githubiin ja seuraavana päivänä ne löytyvät uudesta paketista automaattisesti.
Ei kommentteja:
Lähetä kommentti