Gradle

Goals


- Know the challenges and possibilities of Gradle scripts in a development team

- Be able to set up and maintain multiple projects with Gradle

Program

Gradle: overview of the build system, uses
Gradle vs other systems (Ant, Maven)
Projects and tasks
Build file (build.gradle)
Project configuration and description
IDE support
Installation modes, JVM option, .gitignore
Plugin systems Gradle

Workshop: installation and configuration of Gradle – SCM plugins: Git, SVN

Managing dependencies with Gradle
Specifying library repositories
Managing the Gradle cache

Lab: Adding dependencies and configuring repositories

Default Gradle Tasks
Creating a Custom Task
Structure of a Task Task
Dependencies
Skip a
Gradle Wrapper Task

Workshop: Creation and execution of several tasks

Plugins available
Construction of Java / Android projects: layout, init task, version specification, construction
Construction of Groovy
Tester projects with Gradle: naming conventions, inclusions / exclusions
Multi-project construction and dependency management
Deployment with Gradle
Coupling with Ant
Coupling with Maven: conversion of Maven projects, publication with maven-publish-plugin
Gradle and IDEs

Workshop: construction and deployment of projects

Plugins: need, structure
Implementation of a plugin, configuration
Deployment

Workshop: Creation and deployment of a plugin to a local Maven repository

Duration

2 days

Price

£ 1280

Audience

Java Developer, Groovy

Prerequisites

Scripting concepts

Reference

JAV1067-F

Sessions

From 06/04/2021 to 08/04/2021 (example)

Dates ?

Dates ?

Ant

Goals


- Know the challenges and possibilities of Ant scripts in a development team

- Be able to set up and maintain multiple projects with Ant

Program

Ant: presentation, history, principle
Coupling with Ivy: dependency management
Uses and alternatives

Practical workshop: Installation / Configuration of Ant – Integration of Ant / IDE

Structure of the build.xml file
Grammar Ant: target, task, …
Declarations and executions
Invocation options
Chaining tasks, conditions, loops
Compilation targets, packaging of a Java application
Path and classpath management

Practical workshop: Using Ant / Java tasks and handling files – packaging applications

Construction scripts
Management of links with source managers (CVS, SubVersioN)
Tasks ftp, scp, exchange security
Modularity, Packaging (jar, war, ear, …)
Web deployment with Ant

Practical workshop: Integration of Ant in a JEE project

JUnit, TestNG: principle, implementation
Automation of tests with Ant
Integration tests with Selenium

Practical workshop: Java / Ant unit tests

Ivy: presentation, interest, implementation
Descriptor, configuration of Ivy, IDE plugins
Query of repositories (local, shared, public)
Ivy / Ant tasks
Conflict management

Practical workshop: Setting up Ivy – demonstration of several tasks

Using ant in a continuous integration process
Hudson Jobs
Ant / Ivy metrics and visualization in Hudson / Jenkins
Report generation

Practical workshop: Ant / Ivy / Jenkins: coupling, reports

Limits of Ant
Ant vs Maven / Gradle

Duration

2 days

Price

£ 1280

Audience

Java Developer

Prerequisites

Knowledge of Java

Reference

JAV547-F

Sessions

From 06/04/2021 to 08/04/2021 (example)

Dates ?

Dates ?

Maven

Goals


- Know the challenges and possibilities of Maven in a development team

- Be able to set up and maintain multiple projects with Maven

Program

Maven: presentation, history
Functions: build, dependency management, tests, documentation, link with tools, …
Maven vs build tools
Project description: POM (Project Object Model)
Super POM, Inheritance of POMs
Multi-module project
Local repository and remote repository
Maven and IDEs: Eclipse, Netbeans, …

Workshop: Maven installation and repositories configurations

Structure of a project or of a module
Project models (Archetype)
Main Plugins, Goals
Unit and integration tests
Life cycle: compilation, test, assembly, deployment, …
Breakdown of a project into modules
Encoding of files: sources, resources
Management of versoins, snapshots
Profiles
Packaging Deployment of a project on an application server
Deployment by copy: ssh, ftp
Maven and SCM (Source Code Management): SVN, CVS, Git
Maven and integration continue (Jenkins)

Workshop: creation and management of Java / JEE projects in a context of continuous integration

Default repository limits
Proxy Repositories
Priority management Repository management
tools

Workshop: use of a proxy repository: Nexus or Artifactory …

Generation of a Maven site (mvn site) Site
plugin and customizations
Test reports (surfire)
Checkstyle, changelog,
PMD / CMD changes
Technical documentation (JavaDoc), sources (JXR)
Qualimetry: Maven and Sonar

Workshop: Generation of the site and various reports on the project

Functional tests with Fit and FitNesse
Functional tests and TDD

Workshop: Running functional tests

Duration

2 days

Price

£ 1280

Audience

All

Prerequisites

Knowledge of Java

Reference

JAV167-F

Sessions

From 06/04/2021 to 08/04/2021 (example)

Dates ?

Dates ?

Java SE / Java EE, Build tools