Domanda

Diciamo che ho creato una directory usando module-starter, e da allora ho scritto diversi moduli e test aggiuntivi.

make test sarebbe quindi corretto tutto test in t/ Su tutto moduli in lib/, però make dist Paccheggerà solo i file menzionati in MANIFEST in tar.gz.

Quindi sono stato bruciato di recente correndo make test && make dist E ancora ottenere un pacchetto rotto.

La mia domanda è: mi manca qualcosa o questo può essere riportato come un bug minore nel makemaker? (Su cui makefile.pl sembra fare affidamento).

È stato utile?

Soluzione

Puoi usare make disttest che creerà una directory di distribuzione dal manifest (equivalente a make distdir) e corri make test In ciò. Ciò garantisce che stai eseguendo contro gli stessi file che verranno spediti.

Ho anche ricostruito il mio manifesto come parte della pubblicazione, che richiede di mantenere aggiornato il tuo manifest.

Tutto sommato, il mio script di rilascio di base è:

perl Makefile.PL
make manifest
make disttest
make dist

Altri suggerimenti

Correre make distcheck Prima di rilasciare il pacchetto. Questo ti avvertirà di qualcosa che potenzialmente manca dal tuo MANIFEST.

Alcuni moduli generano file durante il processo di build (incluso sotto lib/), quindi file mancanti nel MANIFEST non dovrebbe necessariamente causare make dist fallire.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top