<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div class="PlainText">De novo, posso esta falando besteira, me corrijam se eu tiver errado. Mas acho que 0.0.1 ou 0.01 nao seriam números de versões ridículos. Já seriam números de versões funcionais.<br>
Parece que até você do 2.0 para o 2.9.9 são geralmente so otimizações e correções de pequenos bugs ou revisão de acordo com a versão do perl atual se preciso, entao o 3.0 seria realmente implementações de novas funcionalidades ou mesmo a exclusão de alguma
 outra já existente.<br>
<br>
--- Mensagem Original ---<br>
<br>
De: "Samir Cury" <samircurys@gmail.com><br>
Enviado: 23 de Maio de 2014 01:37<br>
Para: "Perl Mongers Rio de Janeiro" <rio-pm@pm.org><br>
Assunto: Re: [Rio-pm] Release de modulo Beta no CPAN<br>
<br>
</div>
<div>
<div dir="ltr">Exato Breno, valeu pelos exemplos que dao um pouco mais de coragem de subir o modulo.<br>
<br>
Essa e a ideia. Estou cozinhando esse modulo desde os fins de semana de 2012 por nao ter testes decentes. Agora que tem estou procurando nao deixar o otimo ser inimigo do bom. "release early, release often"<br>
<br>
Vou por o aviso e tambem um numero de versao ridiculo (0.1.0 ou 0.01), dai fica obvio.<br>
<br>
Abs</div>
<div class="x_gmail_extra"><br>
<br>
<div class="x_gmail_quote">2014-05-22 8:00 GMT-07:00 breno <span dir="ltr"><<a href="mailto:breno@rio.pm.org" target="_blank">breno@rio.pm.org</a>></span>:<br>
<blockquote class="x_gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
Samir,<br>
<br>
O método que Blabos e Cron indicaram está corretíssimo, mas costuma<br>
ser mais usado quando você já tem uma versão pública estável. Por<br>
exemplo, se seu módulo é Foo::Bar 1.03 e vc quer lançar uma versão<br>
"trial", dê um número de versão 1.03_01, 1.03_02, assim por diante, e<br>
ela será marcada como "trial" e só poderá ser instalada via caminho<br>
explícito. Quando se tornar estável, vc sobe pra 1.04 e lança a versão<br>
"estável".<br>
<br>
Se, por outro lado, este é o seu primeiro módulo e suas dúvidas estão<br>
mais em torno de API ou se o módulo faz direito tudo que você quer,<br>
você pode sempre colocar um aviso em letras garrafais no início da sua<br>
documentação avisando que o módulo está em estágio alfa, beta, etc.,<br>
que a API pode mudar e que a pessoa deve usar sob sua própria conta e<br>
risco. Por exemplo:<br>
<br>
<a href="https://metacpan.org/pod/Fey::ORM#EARLY-VERSION-WARNING" target="_blank">https://metacpan.org/pod/Fey::ORM#EARLY-VERSION-WARNING</a><br>
<br>
<a href="https://metacpan.org/pod/Stepford#DESCRIPTION" target="_blank">https://metacpan.org/pod/Stepford#DESCRIPTION</a><br>
<br>
<a href="https://metacpan.org/pod/Debug::Client#DESCRIPTION" target="_blank">https://metacpan.org/pod/Debug::Client#DESCRIPTION</a><br>
<br>
Nenhum módulo nasce perfeito. Lance o seu logo! Se der errado você<br>
sempre pode tomar uma cerveja e lançar outra versão :)<br>
<br>
[]s<br>
<br>
-b<br>
<br>
<br>
<br>
<br>
2014-05-21 12:17 GMT-03:00 Samir Cury <<a href="mailto:samircurys@gmail.com">samircurys@gmail.com</a>>:<br>
<div class="x_HOEnZb">
<div class="x_h5">> Valeu mesmo pelas dicas Blabos. Esclareceu bastante tambem a funcao do<br>
> underline. Vou tentar desse jeito entao pra validar o processo do inicio ao<br>
> fim antes de um release publico. Que bom saber que agora os procedimentos<br>
> estao ainda melhores, vou dar um olhada no dzil. Estava ate agora usando o<br>
> que o Padre oferece, que para a Fase 1 e 2 deu certo, mas e bem capaz que<br>
> precise de algo mais para criar a distribuicao que vai subir pro CPAN.<br>
><br>
> Abs<br>
><br>
><br>
> 2014-05-20 20:26 GMT-07:00 Blabos de Blebe <<a href="mailto:blabos@gmail.com">blabos@gmail.com</a>>:<br>
><br>
>> Ao colocar o underline na versão, vc evita que os instaladores usem essa<br>
>> versão inadvertidamente, embora ela ainda seja instalável se for<br>
>> especificado o caminho completo para o pacote.<br>
>><br>
>> Assim, você pode usar a infra-estrutura do cpan testers pra testar o seu<br>
>> módulo antes de um release público, sem prejudicar quem já está usando uma<br>
>> versão estável do seu módulo.<br>
>><br>
>> O Dist::Zilla não é uma unanimidade, embora eu o utilize na maioria dos<br>
>> meus módulos públicos ou privados. Eventualmente pode ser chato lidar com<br>
>> alguns bugs em edge cases, mas normalmente ele tira muito boiler plate da<br>
>> sua frente.<br>
>><br>
>> A vantagem do dzil é que ele encapsula o acesso a ferramentas de várias<br>
>> fases do processo de desenvolvimento, desde o startup do módulo até o<br>
>> release no cpan.<br>
>><br>
>> Eventualmente você pode dividir esse processo em algo como:<br>
>><br>
>> 1) Fase 1: Fazer o bootstrap do seu pacote.<br>
>><br>
>> Isso significa criar os diretórios padrão (/lib, /t, etc) bem como os<br>
>> arquivos auxiliares.<br>
>><br>
>> Além do dzil, um aplicativo que eu uso pra fazer o bootstrap dos meus<br>
>> módulos é o <a href="https://metacpan.org/pod/Module::Starter" target="_blank">
https://metacpan.org/pod/Module::Starter</a><br>
>><br>
>> Com ele você pode escolher qual builder você vai utilizar pra montar o seu<br>
>> pacote.<br>
>><br>
>> 2) Fase 2: code, code, code<br>
>><br>
>> 3) Fase 3: Build<br>
>><br>
>> No processo de build, uma peça de software é utilizada para juntar tudo<br>
>> que o seu pacote vai precisar para ser instalado em uma máquina qualquer.<br>
>><br>
>> Essa etapa pode ser baseada em vários builders como:<br>
>><br>
>> <a href="https://metacpan.org/pod/ExtUtils::MakeMaker" target="_blank">https://metacpan.org/pod/ExtUtils::MakeMaker</a><br>
>> <a href="https://metacpan.org/pod/Module::Build" target="_blank">https://metacpan.org/pod/Module::Build</a><br>
>> <a href="https://metacpan.org/pod/Module::Install" target="_blank">https://metacpan.org/pod/Module::Install</a><br>
>><br>
>> Esses builders baseiam-se em arquivos perl (Makefile.PL, Build.PL, etc)<br>
>> para a partir de apontamentos que você faz, verificar as dependências, criar<br>
>> o Makefile e seus alvos,gerar o .tar.gz entre outras coisas necessárias para<br>
>> tornar o seu módulo instalável.<br>
>><br>
>> Quando vc instala um módulo manualmente, normalmente o processo é:<br>
>><br>
>> a) Baixar e descompactar o .tar.gz<br>
>> b) perl Makefile.PL (ou perl Build.PL). Isso vai criar um arquivo Makefile<br>
>> adaptado pra sua máquina.<br>
>> c) make. Isso vai fazer o build do seu módulo, eventualmente compilando<br>
>> XS, se for o caso, etc<br>
>> d) make test. Lê o Makefile para executar os testes do seu módulo.<br>
>> e) make install<br>
>><br>
>> Quando você cria um módulo, para montar o .tar.gz normalmente você faz:<br>
>><br>
>> a) perl Makefile.PL (ou perl Build.PL). Isso vai criar um arquivo Makefile<br>
>> adaptado pra sua máquina.<br>
>> b) make manifest. Isso vai criar uma lista com todos os arquivos que<br>
>> precisam ser distribuídos dentro do seu .tar.gz<br>
>> c) make dist. Isso vai criar um .tar.gz do seu módulo, dentro do qual,<br>
>> haverá um Makefile.PL (ou Build.PL), e *não* um Makefile.<br>
>><br>
>> Os arquivos *.PL precisam ser executados no momento da instalação para que<br>
>> o Makefile seja montado de acordo com a máquina onde ele está sendo<br>
>> instalado e não de acordo com a máquina onde o módulo foi criado.<br>
>><br>
>><br>
>> 4) Release.<br>
>><br>
>> Consiste em enviar o seu módulo para o CPAN.<br>
>><br>
>> ***<br>
>><br>
>> O Module::Make eu vou desconsiderar, porque ele só tem uma versão antiga<br>
>> lançada e nenhum outro módulo do cpan o utiliza<br>
>> (<a href="https://metacpan.org/requires/distribution/Module-Make?sort=[[2,1]]" target="_blank">https://metacpan.org/requires/distribution/Module-Make?sort=[[2,1]]</a>).<br>
>><br>
>> ***<br>
>><br>
>> Com o dzil você tem uma ferramenta, que em conjunto com plugins cobre<br>
>> todas as etapas listadas acima e mais algumas outras, como integração com o<br>
>> seu sistema de controle de versão e simplificação da criação de POD, por<br>
>> exemplo.<br>
>><br>
>> Já se você preferir fazer sem ele, você pode fazer tudo manualmente, ou<br>
>> usar qualquer dessas ferramentas citadas acima pra cobrir uma fase ou outra,<br>
>> ou ainda combiná-las entre si.<br>
>><br>
>> Eu particularmente tenho módulos que usam o dzil<br>
>> (<a href="https://github.com/blabos/Dancer2-Plugin-Paginator" target="_blank">https://github.com/blabos/Dancer2-Plugin-Paginator</a>) e módulos que não usam<br>
>> (<a href="https://github.com/blabos/Paginator-Lite" target="_blank">https://github.com/blabos/Paginator-Lite</a>).<br>
>><br>
>> E quando não uso, tenho preferência por criar o módulo com o<br>
>> Module::Starter (não confundir com <a href="https://metacpan.org/pod/Module::Start" target="_blank">
https://metacpan.org/pod/Module::Start</a>)<br>
>> usando como builder o Module::Install.<br>
>><br>
>> ***<br>
>><br>
>> Finalizando, só preste atenção no que você deseja fazer e escolha a<br>
>> ferramenta que achar mais adequada, tendo em mente que embora seja<br>
>> relativamente simples criar um módulo e botar no CPAN, há várias etapas<br>
>> envolvidas, que na maioria das vezes já são até instintivas, mas que se você<br>
>> misturar as coisas, pode dar a maior confusão.<br>
>><br>
>> []'s<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> 2014-05-20 16:12 GMT-03:00 Aureliano Guedes <<a href="mailto:guedes_1000@hotmail.com">guedes_1000@hotmail.com</a>>:<br>
>><br>
>>> >Sim, passei o olho nisso, mas meio que ignorei pois o mesmo usa<br>
>>> > Dist::Zilla e lembro que os 2 metodos mais recomendados eram >Module::Build<br>
>>> > e Module::Make.<br>
>>><br>
>>> Posso estar enganado, mas esses 'eram' os mais recomendados. O<br>
>>> Dist::Zilla é mais recente porem creio que seja o melhor e atualmente o<br>
>>> 'mais recomendado'.<br>
>>><br>
>>> ________________________________<br>
>>> Date: Tue, 20 May 2014 11:52:43 -0700<br>
>>> From: <a href="mailto:samircurys@gmail.com">samircurys@gmail.com</a><br>
>>> To: <a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a><br>
>>> Subject: Re: [Rio-pm] Release de modulo Beta no CPAN<br>
>>><br>
>>><br>
>>> Sim, passei o olho nisso, mas meio que ignorei pois o mesmo usa<br>
>>> Dist::Zilla e lembro que os 2 metodos mais recomendados eram Module::Build e<br>
>>> Module::Make.<br>
>>><br>
>>> Lendo melhor, parece que rola uma discussao entre usar as flags oficiais<br>
>>> do CPAN ou _ na versao. Hum.<br>
>>><br>
>>> Meio tosco que as flags oficiais do CPAN sao mais inuteis do que um _ na<br>
>>> versao. Mas o argumento da confusao no metacpan faz sentido.<br>
>>><br>
>>> De qualquer jeito quando visito a pagina um modulo nao vejo a flag la :<br>
>>><br>
>>> <a href="http://search.cpan.org/~ingy/Module-Make-0.01/lib/Module/Make.pm" target="_blank">
http://search.cpan.org/~ingy/Module-Make-0.01/lib/Module/Make.pm</a><br>
>>><br>
>>> Entao de repente o melhor e fazer como o "ingy" e colocar uma nota no<br>
>>> POD.<br>
>>><br>
>>> Abs<br>
>>><br>
>>><br>
>>> 2014-05-20 11:39 GMT-07:00 Renato Santos <<a href="mailto:renato.cron@gmail.com">renato.cron@gmail.com</a>>:<br>
>>><br>
>>> *<br>
>>> <a href="http://blogs.perl.org/users/oliver_gorwits/2011/10/releasing-trialdevbeta-versions-with-distzilla.html" target="_blank">
http://blogs.perl.org/users/oliver_gorwits/2011/10/releasing-trialdevbeta-versions-with-distzilla.html</a><br>
>>><br>
>>> #fastreply<br>
>>><br>
>>><br>
>>> 2014-05-20 15:35 GMT-03:00 Samir Cury <<a href="mailto:samircurys@gmail.com">samircurys@gmail.com</a>>:<br>
>>><br>
>>> Pessoal,<br>
>>><br>
>>> Outro dia na lista, li alguem dizendo : manda pro CPAN logo como "beta"<br>
>>><br>
>>> Como estou no passo intermediario para o meu primeiro modulo "decente",<br>
>>> com testes e tudo mais, talvez nao tenha visto essa opcao ainda. Pesquisando<br>
>>> um pouco esbarrei com todas essas definicoes :<br>
>>><br>
>>> <a href="http://search.cpan.org/dlsip?bpmOp" target="_blank">http://search.cpan.org/dlsip?bpmOp</a><br>
>>><br>
>>> Ja que o modulo funciona, esta documentado e passa no "prove", achei<br>
>>> interessante subir como beta, e lancar novas releases quando fizer mais<br>
>>> refatoracoes.<br>
>>><br>
>>> Enfim. Queria confirmar com a galera que ja trilhou este caminho, que<br>
>>> quando eu for realmente subir o modulo vou ter a opcao de marcar como beta.<br>
>>><br>
>>> Pra quem estiver curioso este e o modulo :<br>
>>><br>
>>> <a href="https://github.com/samircury/HTCondor--Queue--Parser" target="_blank">
https://github.com/samircury/HTCondor--Queue--Parser</a><br>
>>><br>
>>> Abs,<br>
>>> Samir<br>
>>><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> Rio-pm mailing list<br>
>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Saravá,<br>
>>> Renato CRON<br>
>>> <a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>
>>> @renato_cron<br>
>>><br>
>>> _______________________________________________<br>
>>> Rio-pm mailing list<br>
>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>><br>
>>><br>
>>><br>
>>> _______________________________________________ Rio-pm mailing list<br>
>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>><br>
>>> _______________________________________________<br>
>>> Rio-pm mailing list<br>
>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> Rio-pm mailing list<br>
>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</body>
</html>