Gradle för JVM byggnation

Gradle representerar tredje generationens byggverktyg. Till skillnad från föregångarna, så använder Gradle ett programmeringsspråk (Groovy) för skriptdefinition, vilket innebär att det är enkelt att formulera programmatiska byggregler. I denna kurs, går vi snabbt och effektiv igenom det du behöver veta för att börja jobba med Gradle direkt efter kursen.

Gradle för JVM byggnation
2 dagar
Beginner
Java programmerare
Kunna skriva Java applikationer
  • Java JDK
  • Gradle
  • JetBrains IntelliJ IDEA || MS Visual Code
Här ser du vilka kursdatum som är tillgängliga. Klicka på en av datumknapparna för att anmäla dig till ett kurstillfälle. På kursen pratar läraren svenska, medan vårt kursmaterial alltid är författat på engelska.

Du sitter bekvämt framför datorn och deltar i kursen via internet. Vi använder programvaran Zoom för alla våra fjärrkurser.

I priset ingår kursmaterial som PDF.

Pris: 10 000 kr + MOMS/VAT (25%)

Du sitter bekvämt i ett av våra klassrum, vilka finns centralt placerade i Stockholms innerstad (Östermalmstorg).

I priset ingår tryckt kursmaterial (och som PDF), samt kaffe/te med smörgås på förmiddagen och kaffe/te med bulle på eftermiddagen.

Pris: 16 000 kr + MOMS/VAT (25%)

Om ni är tre eller fler personer från samma företags, kan ni beställa en företagsanpassad kurs. Då håller vi kursen på ett datum som passar er. Antingen på plats i era lokaler eller som en fjärrkurs. Vi kan även mixa fjärr- och klassrumskurs, om några av er önskar delta på distans medan resten föredrar att ses på plats.

Företagsanpassad Kurs

Här är ett sammandrag av vad du får lära dig på kursen.

  • Compile and build Java applications
  • Build Java web applications
  • Manage Maven repositories and proxies with Gradle
  • Configure multi-project

Background and Overview

Kort om varför och hur Gradle utvecklades

Build tools for Java and JVM languages

  • Merits and limitations of Ant and Maven
  • GAnt
  • Properties and objectives of Gradle
  • Gradle installation
  • Installation
  • Configuration
  • Simple tasks
  • Dependent tasks
  • Log levels
  • Getting help from Gradle

Intro to Groovy

Gradle använder språket Groovy (ung. Java++) som skript-språk. Här går vi igenom det viktigaste så att du kan förstå syntaxen i ett Gradle skript.

  • Basic syntax
  • Data types
  • Operators
  • Closures (lambda expressions)
  • Java API enhancements
  • Builders
  • Overview of Groovy frameworks

The target application

Genomgång av det exempel-projekt vi använder för alla övningar

Building Java applications

  • Applying plugins
  • Standard project layout
  • Customizations
  • Source sets
  • Creating JARs
  • Executable JARs
  • Generating JavaDocs

Dependency Management

  • What is a dependency
  • What is an artefact repository
  • What is transitive dependencies
  • How to configure dependencies
  • Preconfigured public repositories
  • Configuration of repositories
  • How to find 3rd party JAR files

Testing

  • Test sources layout
  • Test dependencies
  • Test reports
  • JUnit
  • TestNG
  • Spock

Building Web Applications

  • The web project layout
  • Customizations
  • Using the jetty plugin

Gradle Tools

  • The Gradle GUI App
  • The Gradle Wrapper
  • The Gradle Daemon
  • The init task
  • IDE support

The Gradle API

  • The Gradle API JavaDocs
  • The Project interface
  • The Task interface
  • Different ways to define properties
  • Build phases

Using Maven Proxies & Repos

  • Maven proxy
  • Internal Maven repo
  • Overview of servers
  • Configure an internal repo
  • Configure publishing of artefact

Multi-Project Builds

  • Multi-project layout
  • Common configurations
  • Sub-project dependencies

Using Gradle Plugins

  • Overview of standard plugins
  • Installation of plugins
  • Searching for community plugins
  • Installation and configuration of community plugins

Generating Reports

  • Overview of standard report plugins
  • Usage of some report pluginsm such as summary, checkstyle, findbugs and more

Programming Gradle

  • Default task
  • Task type
  • Dynamic tasks
  • Useful factory methods
  • Using Ant tasks in Gradle scripts
  • Task documentation

Writing Plugins

  • Understanding the difference between tasks and plugins
  • How to define tasks and plugins
  • User-defined tasks
  • Task configuration
  • User-defined plugins
  • Plugin configuration