Viikko sitten ryhdyin tutkimaan miten saisin julkaistua Racket Turtle - kirjastoni oikeana
package:na. Nythän koodini on ollut koko ajan Github:ssa mutta se on pitänyt ladata sieltä hankalasti .
zip - paketissa, avata paketti ja vasta sitten ryhtyä koodaamaan. Huomasin koulutuksissa, että tämä on yllättävän vaikeaa opettajille ja oppilaille.
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 |
Lopuksi tein vielä dokumentaation pakettini palveluista käyttämällä Scribbleä ja tallensin .scrbl tiedostot myös Githubiin. Scribble-tiedostojen olemassaolo sekä muutama muu asia piti vielä konffata info.rkt tiedoston avulla ja sitten olikin valmista. Tältä näyttää Scribble:stä HTML:ksi käännetty
Racket Turtle - dokumentaatio.
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.