Post on 20-Jun-2015
Globalcode – Open4education
Maven: Ah, me deixa em paz!
Aldrin Leal,
<aldrin@ingenieux.com.br>
Globalcode – Open4education
Agenda
Metadata
Maven em 15 mins
Maven: Passado, Presente e Futuro
Antipadrões de Maven
Conclusão
Globalcode – Open4education
Metadata
Aldrin Leal
Pro troll
Arquitetura
Cloud, Big Data
… e ALM
Motivo?
Globalcode – Open4education
Maven em 15 min
archetype:generate
POM
Propriedades
Caminhos e
Interpolação
Dependências /
Versões / Escopo
Plugins / Metadata
Perfis
Fases
Configuração
Flags na CLI
System-wide settings
NUNCA USAR
User-wide
settings.xml
Globalcode – Open4education
Maven em 15 min
Flags Úteis:
-N (Sem Recursão)
-X (Log Excessivo)
-D (Definir)
-f / -s (Usar outro POM /
Settings)
-P (Ativar / Desativar
Perfil)
Mojos Utilíssimos
help:effective-pom
dependency:
analyze,go-
offline,resolve,tree,source
s,purge-local-repository}
Globalcode – Open4education
Passado
Fundação Apache
Gump, Maven 1
Premissas
Dependência Binária não fica no SCM
Dinâmico
Headless
IDE-agnóstico
Reusar Tarefas Comuns
Integrar Ferramentas Distintas
Globalcode – Open4education
Passado
Como era antes do Maven?
Ferramentas e Artefatos
Fontes
Repositórios
Testes
Integração Contínua
Relatorios
Distribuição
Globalcode – Open4education
Presente
Maven 2/3
Sisu versus Plexus
Maven Central
http://search.maven.org/#stats
Globalcode – Open4education
Presente
Aos cavaleiros do apocalipse:
Vocês vão ter que aturar mais um pouquinho…
Globalcode – Open4education
Futuro
Tycho / Aether / Tesla
Globalcode – Open4education
Antipadroes de Maven
Mimimi Maven
baixando a Internet
Qual as saídas?
Use menos Frameworks,
e nenhum AS
Gerenciador de
Repositorios
Publique o seu (Sonatype
OSS vs Maven Central)
Outras Broncas de
Artefatos:
Versão de Plugin Não
Definida
Escopos
Snapshots e Ranges de
Versão
Aonde encontrar?
http://search.maven.org/
Operadores: fc e 1
Globalcode – Open4education
Antipadroes de Maven
Mimimi xml
Maven é:
Distribuição
Metadados
Ferramenta
Globalcode – Open4education
Antipadrões de Maven
mimimi documentação
Help do Plugin
Configuração Maven
Versione o settings.xml
Vagrant
Configuração App
http://www.12factor.net/
config
Complexidade
Fatorar / Modular
POM Organizacional
{dependency/plugin}Ma
nagement
multimodule e reactor
builds
Unitário (surefire)
Versus Integração
(failsafe)
Globalcode – Open4education
Conclusão
Dilema do Crockford
Pensamento Final
Globalcode – Open4education
Dúvidas?
Globalcode – Open4education
Obrigado