Sì, semplicemente perché "modulo CPAN" stabilisce solo pratiche molto liberali. Preferisco il modulo :: Installa, credo che anche le persone più sensate dovrebbero farlo. Per ottenere una distribuzione di base in esecuzione con il modulo di installare semplicemente utilizzare il modulo-starter:
module-starter --mi --module "Foo::Bar" --author "Evan Carroll" --email "[email protected]"
Poi subito dopo, ho modificare il pod in lib/foo/Bar.pm: non mi piace pod nel metà del mio codice. Io di solito muovo tutto fino in fondo e eliminare la funzione, e la sezione VERSIONE troppo, perché il 99,9% dei miei moduli sono OO con Moose, e il modulo :: Installare lo leggerà da $ Pippo :: Pluto :: VERSIONE.
Quindi eseguo git-init, modifica il file .gitignore e aggiungo "MANIFEST", "Meta.yml", "Makefile.old", "blib /", "inc /" e quali file temporanei sono mai stati l'editor che sto creando potrebbe utilizzare. (Se si sta spingendo al CPAN si vorrà aggiungere il .gitignore, e .git/a MANIFEST.skip in questo modo non vanno troppo.) Poi ho git add .
, e ho il mio modulo in git con un sistema di build/test bootstrap.
Quindi eseguo github, creo un repository, caricare il mio modulo e aggiungere il repository pubblico a Makefile.PL repository git://github....
e avviare la codifica.
Anche se non spingere al CPAN, module-install
offre una buona base per un buon modulo.
Altri vantaggi, è possibile eseguire make dist
, e ottenere un tarball e di accoglienza molto facilmente su un server http privato, e poi semplicemente dire un client o un server da installare con cpanp http://host/path
.Ottieni anche tutti i vantaggi di Module::Install
, userà dmake su Windows e scarica dmake se non ce l'hai. È piuttosto magico con bontà cross-platform.
Non ci sono grossi svantaggi, o anche minori degni di nota.
In realtà pubblicare il codice su CPAN non era quello che veniva chiesto: "le buone pratiche per sviluppare applicazioni Perl proprio come si svilupperebbe un modulo CPAN" non implica che lo si rilasci effettivamente su CPAN, solo che si sviluppa nel come faresti per un modulo che avevi intenzione di rilasciare su CPAN. –
Vuoi dire che se non pubblichi su CPAN, non devi fornire un buon documento o supportare il tuo codice? –
Lui è solo amareggiato dal fatto che qualcuno su IRC non abbia gradito il suo uso dello spazio dei nomi MooseX ::. – jrockway