AZ APACHE MAVEN
ÉLETE ÉS HALÁLA
!
Cservenák Tamás
MI AZ APACHE MAVEN?	

Build tool — Mint az Ant?
Dependency management tool — Hasonló mint Ivy?
Site management tool — Csak...
MIVALÓJÁBAN AZ APACHE MAVEN?	

Szoftverfejlesztési Modell — sztenderd projekt layout, build lifecycle és
a függőségek táro...
SOFTWARE DELIVERY CHAIN	

Repository
IDE / CLI SCM CI
Build
Agent
Agent
Agent
Central
Provisioner
SOFTWARE DELIVERY CHAIN	

A fejlesztési infrastruktúrám merőben más? — NEM
A fejlesztési infrastruktúra része a piaci vers...
A MAVEN CÉLKITŰZÉSEI	

Standards and Best Practices for SDCs — pushes best practice down to
the level of the SDC
Provide a...
A MAVENVILÁGA	

Project Object Model descriptor / Inheritance
Standard Project Layout / Convention over Configuration
Depen...
AZ ÚJÍTÁSOK	

Build futási idő
Incremental build
Modern hardver adottságainak kihasználása (multicore)
Remote repository r...
INCREMENTAL BUILD	

Az Eclipse m2e már tudta ezt, most ez kerül vissza a Maven-be
BuildContext: tudatni a keretrendszerrel...
PARALLELISATION	

Maven Core refaktorálva, Builder interfész
Új lehetőségek tárházát nyitja meg, az eddigiekhez képest
Meg...
EXISTING PARALLELISATION	

NEW!
AGRESSIVE PARALLELISATION	

NEW!
AGRESSIVE PARALLELISATION 	

+ MAVEN BUILD PROFILER NEW!
GENERATIONS & WORKSPACES	

“A generation is a binary
representation of your SCM at given
point in time on a given branch”
...
GENERATIONS & WORKSPACES	

NEW!
Generation 100 Generation 101 Generation 102 Generation 103
SCM
rev100:branchX
SCM
rev101:...
GENERATIONS & WORKSPACES	

NEW!
Repository
IDE / CLI SCM CI
Build
Agent
Agent
Agent
Provisioner
Felhasználás
Előállítás
GENERATIONS & WORKSPACES	

Fejlesztői oldalon
A Workspace hasonló mint az Eclipse Workspace
Ugrás generációrol generációra...
GENERATIONS & WORKSPACES	

“Delta Protocol” — download és deploy, inkrementális
Atomic deploy
Hardlinking, sparse
NEW!
MINDEN MÁS	

Polyglot Maven: DSLs in Ruby, Groovy, Scala, YAML and Atom
Maven Shell: “does all as m2eclipse from a shell”
...
AETHER ÚJDONSÁGOK	

Local repository — caches published and holds non-published artifacts
Safe concurrent access (multiple...
–Jason Van Zyl
“...because Maven just isn't going to die.”
Upcoming SlideShare
Loading in …5
×

Life and Death of Apache Maven (HU)

196 views

Published on

Life and Death of Apache Maven, mostly in Hungarian

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
196
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Life and Death of Apache Maven (HU)

  1. 1. AZ APACHE MAVEN ÉLETE ÉS HALÁLA ! Cservenák Tamás
  2. 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. 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”,
  4. 4. SOFTWARE DELIVERY CHAIN Repository IDE / CLI SCM CI Build Agent Agent Agent Central Provisioner
  5. 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. 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. 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. 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. 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. 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!
  11. 11. EXISTING PARALLELISATION NEW!
  12. 12. AGRESSIVE PARALLELISATION NEW!
  13. 13. AGRESSIVE PARALLELISATION + MAVEN BUILD PROFILER NEW!
  14. 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
  15. 15. GENERATIONS & WORKSPACES NEW! Generation 100 Generation 101 Generation 102 Generation 103 SCM rev100:branchX SCM rev101:branchX SCM rev102:branchX SCM rev103:brancX
  16. 16. GENERATIONS & WORKSPACES NEW! Repository IDE / CLI SCM CI Build Agent Agent Agent Provisioner Felhasználás Előállítás
  17. 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!
  18. 18. GENERATIONS & WORKSPACES “Delta Protocol” — download és deploy, inkrementális Atomic deploy Hardlinking, sparse NEW!
  19. 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. 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!
  21. 21. –Jason Van Zyl “...because Maven just isn't going to die.”

×