Översikt och bakgrund
Kort om varför och hur Gradle utvecklades
- Build tools for Java
- 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 (~ 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