Illegal Argument

171: Breaking (up) The Build

03.19.2021 - By Mark Derricutt, Greg Amer and Richard VowlesPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

In an unprecedented show of activity - merely two weeks after the new years first episode (170) Mark and Greg are back, this time joined by Andres Almiray (Oracle) and Stephen Connolly (Cloudbees) to discuss all things build, modules, this weeks Java 16 release, and why Java programmers should take a look at the rust programming language. Hosts Mark Derricutt - @talios Greg Amer Guests Andres Almiray - @aalmiray Stephen Connolly - @connollys Table of Contents 00:00:15 Intro 00:00:37 Guest Introductions 00:02:05 Java 16 Released! 00:02:47 Jenkins and JDK Versions 00:04:38 var changes = LIPSERVICE; 00:05:11 Improve your Java by learning Rust 00:07:31 Hey Bruno - It's NOT YAML! 00:10:22 Project Liliput 00:11:31 Java Turning 26 00:13:30 Java for CLIs? 00:16:47 Modules: Thought on The Java Platform Module System 00:18:12 Modules: Modules and Versioning 00:19:15 Modules: Semantic Versioning 00:22:19 Build: Hijacking The Maven Release Process 00:26:40 Explicit Merge Commits 00:29:16 Build: JDK Dependency (Lacking) In Maven 00:31:21 Kotlin Standard Library Versions 00:31:53 Libraries should avoid Guava 00:35:36 Jackson Version 3 Changes 00:39:10 Modules: The Lack Of Runtime Versioning In Modules 00:39:46 Modules: Agents And Module Systems 00:40:39 Run The Damn Tests Twice 00:46:00 Modules: Module Systems and Debugging 00:55:02 The Ecosystem Is More Than Code 00:55:46 Build: The Hinderance of IDEs 00:56:47 Build: Mixins In Maven 01:02:18 Build: The Perfect POM is with a BOM 01:07:17 Build: Custom Lifecycles as Mixins 01:10:09 Build: Gradle is Surprises and Deathtraps 01:11:31 Build: Maven Consumer POM and POM 4.0.0 01:14:16 Build: Project Dependency Trees Proposal 01:23:28 Build: Maven 4 and 5 Releases 01:26:49 Build: Plugin Phases and Execution Order 01:33:05 Build: Interim Hacks and Abstractions Considered Harmful 01:39:33 The Problem with Preview Features News Oracle Announces Java 16 Project Lilliput - OpenJDK proposal to reduce the Java object header by half or more would lower memory and CPU usage on all Java workloads. Pull Requests merging instanceof Pattern matching https://github.com/openjdk/jdk/pull/2544 https://github.com/openjdk/jdk/pull/2879 https://github.com/openjdk/jdk/pull/2913 JEP 401: Primitive Objects (Preview)and many other new JEPs landed for JDK 17. Caffeine cache goes 3.0 and with it - JDK11 baseline Links Semantic Versioning git-timestamp-maven-plugin Git Log's --first-parent Option The rise of Kotlin's stdlib and the versioning conflicts that may arise guava-beta-checkerfor Error Prone Jackson Release 3 Plans Build Health PomChecker 1.1.0 has been released! Problems with sorting, tidying poms Build / life cycle order Maven Bill of Materials Maven Tiles / Mixins Crafting better Gradle builds with the Kordamp Gradle Plugin suite with Andres Almiray (YouTube Video) Proposal: Project Dependency Trees schema Plugin Execution & Property Ordering Tests Module Systems Java Platform Module System / Jigsaw Layrry- Including an excellent video demonstration of Layrry in action with JavaFX. OSGi Runtime Dependencies (build is only half the picture)

More episodes from Illegal Argument