Skip to end of metadata
Go to start of metadata

O que é JavaUtils?

O JavaUtils é um conjunto de bibliotecas Java com classes utilitárias, agrupadas por módulos. Estes módulos foram desenvolvidos pelo grupo de Engenharia de Sistemas Distribuídos do Tecgraf (EngDist/Tecgraf). 

Existe uma lista de discussão do projeto?

Sim. Atualmente, disponibilizamos uma restrita aos desenvolvedores Tecgraf, cuja entrada é feita por inscrição na lista: javautils-dev@tecgraf.puc-rio.br. Os archives da lista estão em: http://listas.tecgraf.puc-rio.br/pipermail/javautils-dev/

O que é um módulo no JavaUtils?

É o termo que usamos para uma porção de código que produz uma biblioteca (arquivo .jar) e possui seu próprio sistema de versionamento e controle de atividades.

Por exemplo, o módulo "meu_novo_modulo" (fictício) possui:

  1. um diretório próprio (meu_novo_modulo) no SVN do projeto Javautils do Tecgraf com suas pastas: trunk, branches e tags;
  2. um componente Jira específico para registrar as issues relativas ao seu desenvolvimento;
  3. um mecanismo próprio para produzir o artefafo javautils-meu_novo_modulo-1.2.3.jar para uso nos sistemas.

Qual a licença do JavaUtils?

Não há definição ainda a esse respeito. Logo, consulte seu coordenador para maiores detalhes.

Como faço o download de um artefato?

Como os módulos são mavenizados, você pode acessar o Nexus do Tecgraf, conforme a seção "Download".

Tenho como contribuir para o JavaUtils?

Sim, claro! Exitem diversas forma para isso; desde o fornecimento de código para ampliação das bibliotecas até para a melhoria da documentação. Todas as formas são igualmente importantes. Havendo interesse em participar de alguma atividade, registre seu interesse (mesmo que seja específico) na lista javautils-dev. Desta forma, o grupo tem como sincronizar as atividades existentes com os interesses de todos.

Minha dúvida não sanada na FAQ. Posso escrever uma pergunta/resposta aqui?

Sim, até pode. Mas é bem razoável verificar antes se a pergunta não envolve temas muito específicos e detalhados de um módulo ou sistema. Talvez a forma de registrar a informação que você tenha sentido falta não seja pertinente à FAQ, mas à documentação de um módulo específico que carece de detalhamento. Uma boa forma de ampliar a base da FAQ (e da documentação em geral) é postando sua dúvida na lista javautils-dev. A partir daí, conseguiremos sintetizar a melhor resposta com a contribuição de todos. E, posteriormente, acharemos o melhor local para esse registro.

Concluindo, consulte a lista antes de escrever aqui!

Como posso contribuir com código para o JavaUtils?

Em primeiro lugar, basta você identificar código-fonte que julgue ser potencialmente utilizável em outros sistemas. Tipicamente, temos incluído código que já tenha uma demanda consolidada, isto é, que já envolva a necessidade de um ou mais sistemas dentro do EngDist. Mesmo assim, qualquer inclusão é sempre decidida pelo grupo, levando em conta:

  • a generalidade do código proposto;
  • a relevância para os projetos e para o grupo;
  • as dependências que esse código traz consigo;
  • as questões de sigilo, licença e privacidade;
  • etc

Isso significa que a adição de novas funcionalidades sempre passa pela opinião de todos e pelo crivo da coordenação do grupo. Logo, se você tiver alguma proposta, a forma de iniciar esse processo é: postar na lista javautils-dev. A partir daí, haverá algum debate que terminará na melhor conclusão para todos.

Somente pessoas do Tecgraf podem contribuir para o JavaUtils?

Não necessariamente... Porém, a forma de operacionalizar modificações e inclusões no JavaUtils implica na responsabilidade de alguém de dentro do grupo. Assim, não existe o impedimento do fonte ter sido escrito originalmente por alguém externo. Mas a gerência e a manutenção deste código ficará a cargo da pessoa que introduziu a modificação. Logo, vale a pena ter a certeza da qualidade e da origem do código-fonte que está sendo trazido.

Evidentemente, a informação de que existe código externo é muito importante no momento da proposta inicial na lista javautils-dev. Além disso, é fundamental verificar as questões legais deste tipo de uso (citações, licença, condições de uso, restrições etc).

Como posso avaliar a relevância da minha proposta de contribuição para o JavaUtils?

A forma mais imediata de avaliação é saber se já existe demanda. Tipicamente, o código inserido é fruto da constatação de uso em mais de um sistema; e ele nasce de forma muito natural dentro do JavaUtils. Mas isso não significa que novas ideias não possam aparecer a respeito. Assim, a melhor forma de testar essa avaliação é conversando com um ou mais colegas e, em seguida, postando na lista javautils-dev.

Mas eu inventei um "negócio super-legal"! Queria deixar disponível para as pessoas através do JavaUtils. Posso propor?

Propor, pode...

Apesar do código JavaUtils não ser destinado para o armazenamento de experiências pessoais, novas ideias e propostas são bem vindas; e podem até se sintonizar com a demanda dos projetos. Só cabe ressaltar que o código JavaUtils é tipicamente destinado para dar suporte a demandas de sistemas em produção que não podem sofrer instabilidades de funcionamento ou quebras de API sem um consenso dos projetos envolvidos e dependentes.

Assim, é recomendável que novas ideias, que normalmente necessitam de maior liberdade de alterações, sejam implementadas inicialmente em um local mais adequado. Ou, se colocadas no JavaUtils com ambiente oficial de desenvolvimento, sejam sinalizadas como instáveis ou de uso restrito ao sistema que faz esse uso experimental.

Os módulos do projeto tem JavaDoc?

Sim. No procedimento padrão dos módulos, são gerados artefatos com esse conteúdo (seção Download). Além disso, a documentação JavaDoc é publicada no maven-site. Esta última opção é interessante para acesso online e pode ser acessada aqui. Observe que a URL do maven-site é a raiz de um conjunto de diretórios remotos hierarquizados por módulos e versões (incluindo snapshots). Ao entrar na página desejada, basta clicar em: Relatórios do Projeto / JavaDocs.

  • No labels
Write a comment…