2. MI AZ APACHE MAVEN?
Build tool — Mint az Ant?
Dependency management tool — Hasonló mint Ivy?
Site management tool — Csak egy plugin a sok közül
3. MIVALÓJÁBAN AZ APACHE MAVEN?
Szoftverfejlesztési Modell — sztenderd projekt layout, build lifecycle és
a függőségek tárolásása és megszerzése
Fejlesztési és infrastrukturális minták — mivel modell alapú,
koherencia a folyamatok és tooling szintjén vs ad-hoc, organikus
Csapatszintű együttműködés és produktivitás — a fejlesztő ne az
infrastruktúrával foglalkozzon, produktivitás vs “hekkelés”,
5. SOFTWARE DELIVERY CHAIN
A fejlesztési infrastruktúrám merőben más? — NEM
A fejlesztési infrastruktúra része a piaci versenyelőnyömnek? — NEM
6. A MAVEN CÉLKITŰZÉSEI
Standards and Best Practices for SDCs — pushes best practice down to
the level of the SDC
Provide a shared language for SDC management — tasks of initializing
and maintaining SDCs aren’t performed from scratch over and over
Create healthy and robust build infrastructures — periods of high
change, releases, deadlines.
7. A MAVENVILÁGA
Project Object Model descriptor / Inheritance
Standard Project Layout / Convention over Configuration
Dependency Management and Mediation
Modularity / Best Practices / Reuse
Binary Artifact Repository
Standard Software Delivery Chain / Infrastructure
8. AZ ÚJÍTÁSOK
Build futási idő
Incremental build
Modern hardver adottságainak kihasználása (multicore)
Remote repository roundtrips
Continuous Delivery
Generations and Workspaces
Atomic deploys
Branched development
NEW!
9. INCREMENTAL BUILD
Az Eclipse m2e már tudta ezt, most ez kerül vissza a Maven-be
BuildContext: tudatni a keretrendszerrel mit olvasunk és mit írunk
A keretrendszer megfejti, bogy mit kell újra build-elni
Sok meglévo Mojo-k módosítása
Eclipse JDT incremental compiler integráció, compiler plugin
NEW!
10. PARALLELISATION
Maven Core refaktorálva, Builder interfész
Új lehetőségek tárházát nyitja meg, az eddigiekhez képest
Meglévő stratégiák: “Single-threaded”, “Multi-threaded” (és “Weave”)
Új stratégiák, kombinálva a Maven Profiler-rel
NEW!
14. GENERATIONS & WORKSPACES
“A generation is a binary
representation of your SCM at given
point in time on a given branch”
Félúton a RELEASE és a
SNAPSHOT között (de inkább
release)
Körbejárja az egész SDC-t
A Continuous Delivery alapja
Inkrementális
NEW!
REV:BRANCH
17. GENERATIONS & WORKSPACES
Fejlesztői oldalon
A Workspace hasonló mint az Eclipse Workspace
Ugrás generációrol generációra (tehát rev és branch)
Projekt részhalmazán dolgozni (forrás vs binary)
NEW!
19. MINDEN MÁS
Polyglot Maven: DSLs in Ruby, Groovy, Scala, YAML and Atom
Maven Shell: “does all as m2eclipse from a shell”
NEW!
20. AETHER ÚJDONSÁGOK
Local repository — caches published and holds non-published artifacts
Safe concurrent access (multiple processes RW)
Osztott local repository (local vs remote, snapshot vs release)
Remote repository — source of the published artifacts
E-Tag HTTP fejléc használata (HTTP kérések száma feleződik)
Aether Transport: okHttp, HttpClient 4.x
MRM barát HTTP implementáció: 202 Accepted
NEW!