infsom-ri-1234567 juelich, 10 june 2008 etics - maven from competition, to collaboration

9
INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Upload: amos-bryan

Post on 12-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

INFSOM-RI-1234567

Juelich, 10 June 2008

ETICS - MavenFrom competition, to collaboration

Page 2: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

2

ETICS

Configurable automatic build/test system with multiplatform support for development and testing

Powerful and flexible automatic dependency management with a large catalogue of preconfigured external libraries

Ready-to-use infrastructure with many hosts preinstalled and maintained to submit builds and tests in a few steps from the web

Produce different packages (rpms, tar, msi, debs) and build and test reports archived in the ETICS Repository

Trigger coding convention checks, unit test, documentation tools and collect and publish the results

Page 3: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

3

MAVEN

Simple project setup that follows best practices. Superior dependency management including automatic updating and dependency closures.

A large and growing repository of libraries and metadata to use out of the box, and arrangements with Open Source projects for real-time availability of packages.

Build any number of projects into predefined output types such as a JAR, WAR, without the need to do any scripting in most cases.

Generate web sites or PDF including any documentation, standard reports about the state of development of the project

Release management and distribution publication managing the release of a project based on tags.

Page 4: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

4Rome, may 2008

Project Object Model

ETICS MAVEN

Metadata Metadata stored in a central repository. Editing using WA and CLI

pom.xml files committed with sources in VCS. Editing through XML editing

Structure Defined with foreign keys in a relational database

Defined through recursion and linkage of pom.xml files

Versioning Not possible to version modules. Only kept the latest version of the structure

Done using VCS

Inheritance Properties are inherited Properties are inherited

Page 5: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

5Rome, may 2008

Dependencies

ETICS MAVEN

Definition Using foreign keys in a relational database. Editing using WA and CLI

Xml tag in the pom.xml file. Editing through XML editing

Types • Static• Based on project definition• Based on version constraints ( = > < etc.)

• Static (a list of versions)• System (assumed available)• Transitive (based on parent pom.xml definitions)

Scope • Build time• Run time

• Compile• Test (Unit)• Runtime

Usage Dependency files available at specific location (could set CLASSPATH)Rebuild from source

Automatically imported in CLASSPATH

Page 6: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

6Rome, may 2008

Repository

ETICS MAVEN

Metadata Organized in project, module, version, PLATFORM

Organized in groupID, module, version

Binaries Platform specific packages for binaries and sources: tar.gz, rpm, zip, deb

Java packages: jar, war, rar, sar

Download • Local version in client• Downloaded and extracted• Available to the client

• Local version in client• Downloaded• Available in CLASSPATH

Upload Automatically uploaded by the ETICS infrastructure in VOLATILE and REGISTERED

PERMANENT repository + SNAPSHOTsCan be automatically uploaded with security

Sites One central repositoryMany local repositories

One central official repositoryMany mirrorsMany remote repositoriesMany local repositories

Page 7: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

7Rome, may 2008

Build Process

ETICS MAVEN

Commands Simply scripts to be executed in a certain sequence

Standard process using conventionsPossibility to customize

Checkout Checkout command executes some script: CVS, SVN, WGETCVS templates pre-filled

Checkout is not managed by MavenRelease plugin can checkout different tags

Build • Completely custom by the user• Can use ANT, MAKE, AUTOTOOLS, etc..• No wizard or standard process

• Standard conventions for locations• Automatic build with no effort• Custom solution possible

Plugins • Triggered during the process• Associated to targets• Generate reports and can block the process

• Unit testing integrated• Associated to goals•Deployment plugin• Static analysis (Checkstyle ,PMD)• External tools integration

Packaging • Automatic multiplatform packager for RPM, TAR.GZ, DEB• Explicit copy of files in a custom location

• Automatic for Java formats (JAR, WAR, RAR, SAR, etc)• Conventions for the location of files to package.

Page 8: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

8Rome, may 2008

Reporting

ETICS MAVEN

Site No project specific site, information available in the portal

Custom site with all information, no central portal to browse projects

Logs Complete log reports available for the executions in HTMLPlugin log/reports

Reports available for buildsCheckstyle and PMD reports

Executions • Available in the portal in the Repository tab• Metronome for expert users

• Available the SNAPSHOT and all versions

Binaries / Releases • Available in the portal in the Repository tab.• Releases and temporary builds• No SNAPSHOT by default but possible to be defined.

Available SNAPSHOT and all versionsLink to sourcesDependencies

Documentation Target to generate documentationNot available in the PortalNo wizard or standard process

Automatic generation of JavaDocCustom project pages on site

Page 9: INFSOM-RI-1234567 Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration

Title

INFSOM-RI-1234567

9Rome, may 2008

SCM / Release

ETICS MAVEN

Relation with VCS VCS tags stored within a configuration that represents a version of the software

VCS tags stored in POM xml file. Not known the usage. Is there an automatic checkout?

Release definition Done through sub-configurations linksPossibility to build any module (also all project)

Done using dependencies and the repository. Possible only from binaries. Cannot rebuild parts of project.

Continuous builds Possible with scriptingComponents or Projects built at anytime on any platform

SNAPSHOT building at any time

Reports / binaries Available in the repositoryPossibility to link them from websites and see the latest available

The site contains the versions, SNAPSHOT and build logs.