Slides

Luarocks 2.0 - talk at Lua Workshop 2009

Description
1. LuaRocks 2.0Lua Workshop 2009Hisham Muhammadhttp://www.luarocks.org 2. Gerência de módulos em LuaLua 5.1 introduziu um sistema de módulos require(), module()Reuso…
Categories
Published
of 12
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. LuaRocks 2.0Lua Workshop 2009Hisham Muhammadhttp://www.luarocks.org
  • 2. Gerência de módulos em LuaLua 5.1 introduziu um sistema de módulos require(), module()Reuso de módulos Perl tem CPAN, Ruby tem RubyGems, etc.
  • 3. LuaRocksSistema de gerenciamento e distribuição de módulos para a linguagem Lua Portável: Linux, BSD, OSX, Windows Licença MIT/X11 Similar ao RubyGems
  • 4. RecursosDownload e instalação de módulos luarocks build luasocket luarocks list, luarocks search curl...Um gerenciador de módulos dinâmico para uma linguagem dinâmica Suporte a resolução de cadeias de dependências em tempo de execução Instalação em paralelo de múltiplas versões de um módulo
  • 5. LuaRocks 1.0Módulos empacotados como “rocks”Árvore local de rocks Cada rock contém sua própria sub-árvore: bin lib lua ...Módulo luarocks.require realiza a resolução em runtime
  • 6. RecepçãoBoa, mas não idealUsuários desconfortáveis com o módulo luarocks.require Wrapper da função require()
  • 7. LuaRocks 2.0Não precisa de luarocks.requireInstala módulos em uma árvore Lua padrão .../share/lua/5.1 .../lib/lua/5.1Basta incluir estes caminhos no package.path e package.cpath Instalação default usa /usr/local
  • 8. Controle de módulos no LR2Cada rock instalado possui um arquivo rock_manifest Contém a lista de arquivos e os seus MD5LuaRocks compila módulos como de costume Realiza fase de “deployment” baseado no rock_manifest
  • 9. Suporte a múltiplas versõesUsa mecanismo de Lua Versões antigas instaladas ganham um prefixo no nome do arquivo md5/core.so md5/md5_1.0.2_1-core.so Para usar versões antigas transparentemente, o LuaRocks 2.0 inclui um package loader extra (require “luarocks.loader”) que faz a seleção baseado na árvore de dependências
  • 10. CompatibilidadeServidores de rocks compatíveis com LuaRocks 1.0: Formato rockspec mantido Formato de manifest de servidores de rocks mantidoInstalações locais não: Formato de manifest local alterado Árvore de diretórios alterada
  • 11. Conclusões● LR2: Novo formato de instalação local● Compatibilidade de rockspecs com LR1 – Sem disrupção na comunidade● Melhor compatibilidade com vanilla Lua – Menor barreira de entrada● Maior dependência em arquivos de controle – Mecanismos de verificação
  • 12. Obrigado!● Perguntas?● Contato: hisham@gobolinux.org
  • We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks