Presentation is loading. Please wait.

Presentation is loading. Please wait.

Escidoc build and development environment

Similar presentations


Presentation on theme: "Escidoc build and development environment"— Presentation transcript:

1 Escidoc build and development environment

2 Content Overview of the new build infrastructure
A closer look on maven Workshop Seite 2

3 Goals to achieve Code traceability through a Version Control System
QA improvements: Nightly builds and tests, available code documentation, automatic code analysis etc. Standardised project layout (File structure, documentation etc.) Seite 3

4 Escidoc build infrastructure
internet ARCHIVA Holds and fetches ext. Libraries; holds binary releases Source code repositories Deploy server (dev-[project])‏ MAVEN CORE WORKSTATIONS CONTINUUM Nightly builds, continous testing, releases Development, local testing

5 manages dependencies between repositories
Repository layout Common services Solutions common pubman faces manages dependencies between repositories MAVEN CORE Seite 5

6 Continuum A continuous integration server for building java projects
Supports automatic nightly builds and testing Automatic deploy of binary artifacts to various target systems Seite 6

7 Archiva A build artifact repository manager
Manages external artifact dependencies on its own Downloads needed libraries automatically from repository servers in the internet Seite 7

8 A typical release time period
1.2 1.3-SNAPSHOT 2006 2007 2008 1.4-SNAPSHOT 1.2-SNAPSHOT 1.3 1.1 Seite 8

9 Maven

10 What is Maven? A build tool! A dependency management tool!
A documentation tool! Seite 10

11 Common projects metadata format
POM = Project Object Model = pom.xml Contains metadata about the project Location of directories, Developers/Contributors, Issue tracking system, Dependencies, Repositories to use, etc Example: <project> <modelVersion>4.0.0</modelVersion> <groupId>de.mpg.escidoc.service</groupId> <artifactId>framework_access</artifactId> <name>Access to the framework</name> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <dependencies/> <build/> […] Seite 11

12 Common directory organization
src/ main/ java/ resources/ webapp/ application/ test/ site/ 4 nested projects Other projects Seite 12

13 Build lifecycle Web Server M2 user Well-known phases generate- sources
plugin compile plugin test plugin package integration- test user plugin install plugin deploy Well-known phases Seite 13

14 Dependency management
Maven uses binary dependencies « use only version 2.1.1 » A B <dependencies> <dependency> <groupId>de.mpg</groupId> <artifactId>B</artifactId> <version>2.1.1</version> <scope>compile</scope> </dependency> </dependencies> C ARCHIVA Build C Look for A & B Seite 14

15 Site and reports Lots of reports
Project information (mailing lists, SCM, dependencies, etc)‏ PMD, Checkstyle, Javadoc, etc Auto deploy to webserver <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> […] </plugins> </reporting> Seite 15

16 Questions? Seite 16


Download ppt "Escidoc build and development environment"

Similar presentations


Ads by Google