Vincent Massol, 1 st December 2006 Quality with Maven2.

Slides:



Advertisements
Similar presentations
Apache Maven: J2EE Front to Back Jesse McConnell -
Advertisements

Question examples. Session 1 Objectives Why certify? Positioning of the non-technical version What is Java? Key advantages of Java Java Applications vs.
Copyright 2009, Build Lackey Labs (see last slide for licensing terms) - Selenium - Browser-Based Automated Testing of Web Apps.
® IBM Software Group © 2006 IBM Corporation Woden Demo WSD WG F2F, Arthur Ryman
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Continuous Integration (CI) By Jim Rush Version Control Build Test Report.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
Introduction to Maven Michael Youngstrom. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to the Java Stack.
Transitions of Care Reference Implementation Development Overview July 5, 2011.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Java Build Tool Comparison HJUG - April 29th, 2009 John Tyler.
Maven: Build and project management in the 21th century.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Understanding and Managing WebSphere V5
Open source administration software for education research administration Lin-Long Shyu System Analyst Kuali Coeus Technical Team Indiana University
Continuous Integration after Hudson, CruiseControl, and Home Built Mile High Agile 2011 – Mark Waite.
The DSpace Course Module – DSpace Installation. Module objectives  By the end of this module you will:  Understand the platforms DSpace can be hosted.
Maven and Stack Starter Michael Youngstrom. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack.
PHP, QA, and Jenkins Eric Cope June 25, 2013
Maven & Bamboo CONTINUOUS INTEGRATION. QA in a large organization In a large organization that manages over 100 applications and over 20 developers, implementing.
AUTOBUILD Build and Deployment Automation Solution.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
LDS Account Integration. Disclaimer This is a training NOT a presentation. – Be prepared to learn and participate in labs Please ask questions Prerequisites:
AUTOBUILD Build and Deployment Automation Solution.
ALVIN CHAO GRIDS & PIECES : MINIMIZE LOAD TIME & INCREASE ACCESSIBILITY WITH RSS & CSS.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
Juggling Java EE with Enterprise Apache Maven Jesse McConnell -
INFSO-RI JRA2: Testing senarious ETICS AH meeting Budapest, Iune 2009 Eva Takacs, Jozsef Kuti, András Milassin 4D Soft.
Using the ALM Module Michael Youngstrom. Disclaimer This is a training NOT a presentation. – Be prepared to learn and participate in lab Please ask questions.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Distributed Java Programming Distributed Java Programming Setting up a Java Development Environment.
Continuous Integration Mile High Agile 2012 – Mark Waite 3 April 2012.
1 may 31, 2007 Build, test and deploy ADF applications without effort with the use of Maven2 Aino Andriessen AMIS.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
1© Nokia Siemens Networks Presentation / Author / Date For internal use T Better Code Faster - Next Generation Java Continuous Integration Environment.
Copyright 2005, Open Foundation, LLC Continuous Integration Presented to UniForum Chicago Quinn McCallum & Scott Wheeler Open Foundation, LLC May 10th,
Maven 2.0 Improve your build patterns Vincent Massol CTO Pivolis.
Maven for building Java applications By Nalin De Zoysa
Test it! Unit, mocking and in-container Meet Arquillian! Ivan St. Ivanov.
Build Systems Presentation December 14, 2015 Noon-1pm Kathy Lee Simunich Bldg. 203/ D120 Brought to you by: Argonne Java.
Lecture XIII: Continuous Integration CS 4593 Cloud-Oriented Big Data and Software Engineering.
(1) Installing the Software ICU Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Software Deployment & Release 26/03/2015 1EN-ICE.
OpenMRS Create New Module.
Copyright Vincent Massol 2006 – All rights reserved Panorama of Quality Features in Maven2 Vincent Massol, 11 July 2006
(1) Code Walkthrough robocode-pmj-dacruzer Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
8/29/10 Maven Repository Management with Nexus Jim McMahon.
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
CS520 Web Programming Introduction to Maven Chengyu Sun California State University, Los Angeles.
Copyright © 2010 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. ODS Tools – Fannie Mae.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
Apache Geronimo Open Source J2EE Application Server Getting up to speed with Apache Geronimo - Copyright 2005 Tom McQueeney 1 Getting up to speed with.
The Maven Alfresco SDK™ At the end of a journey, there is always a new beginning…
Ant Presented by: Mindaugas Idzelis Tatum Krawczyk.
Platform & Maven2 David Šimonek. Certified Engineer Course Agenda What is Maven? Why Maven? NB IDE & Maven NB Platform & Maven.
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Open-O Integration Project Introduction
Maven 04 March
Plan What is Maven ? Links : mvn command line tool
External Web Services Quick Start Guide
prepared by hasan.we4tech.com
Project management and comprehension tool
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Module 01 ETICS Overview ETICS Online Tutorials
- Selenium - Browser-Based Automated Testing of Web Apps Under Continuous Integration Presented By Chris Bedford Founder & Lackey at Large Build Lackey.
Java Code Review with CheckStyle
Presentation transcript:

Vincent Massol, 1 st December 2006 Quality with Maven2

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Active quality = before the fact

Passive quality = after the fact

Active and Passive quality checks are both required… … but moving to active is the direction to take

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Surefire JUnit and TestNG PMD Checkstyle Verifier Clover Changelog Changes In MavenIn MojoIn Mojo Sandbox Quality-related plugins Cargo Jetty QALab Clirr Cobertura Jalopy JDepend JavaNCSS JDiff Selenium JBoss DBUnit Jardiff JCoverage FindBugs Simian Emma Fit Tomcat WebLogic Elsewhere

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Local Maven Repo Build Tools Module Module to be checked build-tools.jar Depends on build-tools.jar Coding conventions with Checkstyle

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Binary compatibility with Clirr Automatically compares previous version API with current sources To try it quickly: mvn clirr:check Can generate reports too: Strategy: Exclude files that have voluntary violations

Binary compatibility with Clirr

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Automated functional tests with Cargo Cargo: A Java API to manipulate containers (install, configure, start, stop, deploy) Cargo Has extensions for Ant, Maven1, Maven2, IntelliJ IDEA*, Netbeans* Currently support J2EE containers Tomcat, Orion, Resin, Jetty, WebLogic, OC4J, Geronimo, Jboss, jo! Upcoming: Glassfish, WebSphere Upcoming: database support

Automated functional tests with Cargo Install distribution Configure container Deploy Start container Run tests Stop container Install from URL Ex: Either created by Cargo or use an existing configuration Deploy WAR, EAR, EJBs, etc Use any tool: JUnit, TestNG, Selenium, etc Its also possible to deploy to an already started container

Automated functional tests with Cargo Demo!

Full build automation Library builds Generate JARs Components builds Generate WARs, EARs, etc Databases build Generate databases with schema and data loaded (output is typically ZIP files) Containers build Generate fully configured containers with deployed components (output is typically ZIP files) Applications build Generate fully working applications (includes both containers and databases build outputs) Unit tests Functional tests Integration tests

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Test coverage with Clover Module 1 Module 2 Module 3 Depends on Local Repository module1-clover.jar module2-clover.jar module3-clover.jar Build Dependency Depends on Build

Test coverage with Clover ReportingVerification Demo!

Agenda Active Quality vs Passive Quality Review of Quality-related plugins Coding conventions with Checkstyle Binary compatibility with Clirr Automated functional tests with Cargo Test coverage with Clover Project documentation with a wiki (Demo of XWiki)

Project documentation with a wiki Pros Easier participation and collaboration of everyone Even non-committers Always published WYSIWYG Dynamic pages Get code snippets from SVN Mini-Applications like on the fly charts for development metrics, etc Cons Versioned separately from the sources More complex to package Difficult to send patches/diffs Cannot work offline

XWiki demo

Me Questions

Example:

Example:

Example:

Example:

Example:

Example: