<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gradle on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/gradle/</link><description>Recent content in Gradle on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 10 Jul 2026 08:54:25 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/gradle/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Started with Exposed: Kotlin ORM Made Simple</title><link>https://foojayio.github.io/website/today/exposed-kotlin-orm-complete-guide/</link><pubDate>Mon, 06 Jul 2026 03:39:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/exposed-kotlin-orm-complete-guide/</guid><description>&lt;h2 id="h2-0-introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;For quite some time, I have been a huge fan of and fascinated by JetBrains products, tools, and libraries because of their masterful craftsmanship in product creation and their pristine focus on building high-quality developer tools.&lt;/p&gt;
&lt;p&gt;Even more excitingly, JetBrains Java Annotated Monthly newsletters have featured most of the technical articles I wrote for Foojay on topics such as Java, Spring, Spring Boot 4, and OpenRewrite.&lt;/p&gt;
&lt;p&gt;Recently, one Kotlin Domain-Specific Language (DSL) library caught my attention. I immediately tried converting my existing Spring Boot 4 application from Java to Kotlin using Exposed, an ORM framework for Kotlin.
&lt;img src="https://foojayio.github.io/website/today/exposed-kotlin-orm-complete-guide/Exposed-1024x683.png" alt="Exposed" loading="lazy"&gt;
 Kotlin SQL Libary&lt;/p&gt;</description></item><item><title>This Dependency Update Looked Exactly Like an Account Takeover</title><link>https://foojayio.github.io/website/today/this-dependency-update-looked-exactly-like-an-account-takeover/</link><pubDate>Fri, 03 Jul 2026 08:31:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/this-dependency-update-looked-exactly-like-an-account-takeover/</guid><description>&lt;p&gt;I pointed a scanner I have been building at an old Spring project, and it flagged javax.activation. The bump was 1.1-rev-1 to 1.1.1. Prior releases carried a GPG signature. This one did not.
&lt;img src="https://foojayio.github.io/website/today/this-dependency-update-looked-exactly-like-an-account-takeover/pr-comment-682x510.png" alt="git hub diff comment on PR" loading="lazy"&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;If you have read the post-mortems of real supply-chain attacks, that pattern should make you sit up. A package that has signed its releases for years suddenly ships one unsigned. The boring explanation is a build pipeline change. The other explanation is that a different person is publishing now, and the signing key stayed behind with the old one. When ua-parser-js was hijacked in 2021, the malicious versions came from a compromised account. When event-stream went bad in 2018, it was a new maintainer nobody had vetted. The artifact looks fine. The metadata around it is what changed.&lt;/p&gt;</description></item><item><title>Enterprise Java quality gates in the age of AI</title><link>https://foojayio.github.io/website/today/enterprise-java-quality-gates-ai/</link><pubDate>Fri, 29 May 2026 07:00:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/enterprise-java-quality-gates-ai/</guid><description>&lt;img decoding="async" class="size-medium wp-image-123963" src="ChatGPT-Image-May-26-2026-04_44_09-PM-700x394.png" alt="Illustration of human developers and an AI assistant writing code together, with the code passing through an enterprise quality gate before reaching a trusted repository." width="100%"&gt;
&lt;p&gt;People and AI can write code together, but enterprise repositories still need deterministic quality gates to protect code quality.&lt;/p&gt;
&lt;br /&gt;
&lt;h2 id="h2-0-enterprise-quality-is-a-scaling-problem"&gt;Enterprise quality is a scaling problem&lt;/h2&gt;
&lt;p&gt;Enterprise Java development is not only about writing correct code. It is about keeping a large, long-lived codebase understandable, reviewable and safe to change while many people and many tools touch it over time.&lt;/p&gt;</description></item><item><title>Eliminating Flaky Tests to End World Hunger</title><link>https://foojayio.github.io/website/today/eliminating-flaky-tests-to-end-world-hunger/</link><pubDate>Thu, 23 Apr 2026 09:02:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/eliminating-flaky-tests-to-end-world-hunger/</guid><description>&lt;p&gt;Rita Mae Brown once said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Insanity&lt;/strong&gt; is doing the same thing over and over again and expecting different results.​&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;However, everyone has at least once experienced a test that failed and then passed in the next run without changing the code or the environment. In software engineering, we don&amp;rsquo;t call it insanity; we call such unpredictable failures &lt;strong&gt;flaky tests&lt;/strong&gt;. At first, they may seem like minor problems, but like clutter in a junk drawer, they become worse over time if you never take care of them.&lt;/p&gt;</description></item><item><title>Foojay Podcast #81: Maven 4 - The Future of Java Build Automation</title><link>https://foojayio.github.io/website/today/foojay-podcast-81/</link><pubDate>Mon, 03 Nov 2025 06:03:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-81/</guid><description>&lt;p&gt;&lt;strong&gt;Maven 4 is approaching its release, bringing many improvements to the build tool powering millions of Java projects.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In this Foojay Podcast episode, we talk about Apache Maven 4, a significant milestone that has been years in the making. Maven has been the backbone of Java dependency management and build automation since the early 2000s; however, the road to version 4 has been a long and deliberate one. With significant performance improvements, a modernized API for plugin developers, and changes that affect how we think about project structure, Maven 4 represents both an evolution and a revolution. What does this mean for the millions of developers who depend on Maven daily? How should teams prepare for the transition? And what&amp;rsquo;s the story behind the Maven Central Repository changes that have been making headlines? To answer these questions and more, we&amp;rsquo;re joined by a few of the many contributors who are actually building Maven 4 and stewarding its ecosystem.&lt;/p&gt;</description></item><item><title>How to Kickstart Your Jakarta EE 11 Projects with Payara Starter</title><link>https://foojayio.github.io/website/today/how-to-kickstart-your-jakarta-ee-11-projects-with-payara-starter/</link><pubDate>Tue, 23 Sep 2025 10:26:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-kickstart-your-jakarta-ee-11-projects-with-payara-starter/</guid><description>&lt;p&gt;&lt;strong&gt;Jakarta EE 11 is here, bringing powerful new capabilities for enterprise Java developers. But getting started quickly can be a challenge - that&amp;rsquo;s where the latest Payara Starter comes in. With full Jakarta EE 11 support, an updated ERD-based code generator, and a new Jakarta Faces project generator, it gives you everything you need to launch your next application with ease.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With Jakarta EE 11 now &lt;a href="https://blog.payara.fish/jakarta-ee-11-is-here-and-its-ready-for-the-cloud" title="officially released" target="_blank" rel="noopener noreferrer"&gt;officially released&lt;/a&gt;
, you are likely eager to explore its new capabilities but setting up your first application may take longer than you want. That&amp;rsquo;s where the latest version of Payara Starter steps in, giving you a fast, hassle-free way to get a fully functional Jakarta EE 11 project up and running. Read more to learn how!&lt;/p&gt;</description></item><item><title>IntelliJ IDEA and Open Liberty - Effective Java app development</title><link>https://foojayio.github.io/website/today/effective-cloud-native-java-app-development-with-open-liberty-in-intellij-idea/</link><pubDate>Fri, 12 Apr 2024 13:36:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/effective-cloud-native-java-app-development-with-open-liberty-in-intellij-idea/</guid><description>&lt;p&gt;&lt;strong&gt;See how you can use Liberty Tools for IntelliJ IDEA to enable rapid, easy, and efficient development of cloud-native Java applications with Open Liberty and WebSphere Liberty&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When it comes to integrated development environments, within the Java community, IntelliJ IDEA is the most popular IDE amongst professional developers. It is the preferred IDE of choice by two-fifths of developers, making up the biggest majority of IDE users in this community, according to JRebel&amp;rsquo;s &lt;a href="https://www.jrebel.com/resources/java-developer-productivity-report-2023" target="_blank" rel="noopener noreferrer"&gt;2023 Java Developer Productivity Report&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Elevating Java in Visual Studio Code: New Build Server for Gradle</title><link>https://foojayio.github.io/website/today/elevating-java-development-in-visual-studio-code-experience-the-new-build-server-for-gradle/</link><pubDate>Mon, 30 Oct 2023 15:24:14 +0000</pubDate><guid>https://foojayio.github.io/website/today/elevating-java-development-in-visual-studio-code-experience-the-new-build-server-for-gradle/</guid><description>&lt;h3 id="h3-0-introducing-build-server-for-gradle"&gt;Introducing Build Server for Gradle&lt;/h3&gt;
&lt;p&gt;In recent years, Gradle has become one of the most popular Java build tools due to its flexibility in configuring build processes and its powerful extensibility. In Visual Studio Code, users can import Gradle projects into their workspace for development. However, there are some areas where support for Gradle projects is not entirely satisfactory, with two major issues that users have below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compiled files are output to the &amp;lsquo;bin&amp;rsquo; directory, which differs from Gradle project&amp;rsquo;s default output location.&lt;/li&gt;
&lt;li&gt;Support for code generation, such as Annotation Processing, is suboptimal.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To address these issues, Microsoft and Gradle have joined forces to explore a novel approach to Gradle project import and building, based on the &lt;a href="https://build-server-protocol.github.io/" target="_blank" rel="noopener noreferrer"&gt;Build Server Protocol (BSP)&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>5 Ways to Identify and Manage Flaky Tests</title><link>https://foojayio.github.io/website/today/five-ways-to-use-gradle-enterprise-to-identify-and-manage-flaky-tests/</link><pubDate>Tue, 12 Sep 2023 03:57:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/five-ways-to-use-gradle-enterprise-to-identify-and-manage-flaky-tests/</guid><description>&lt;p&gt;&lt;strong&gt;Dealing with flaky tests is a significant challenge in software development. These unpredictable and inconsistent tests can pass or fail without any changes in code, casting doubt on the reliability of your toolchain and ultimately on the application itself. The presence of flaky tests can significantly impact developer confidence and productivity. To better understand why you need to address these flaky tests, read &lt;a href="https://foojayio.github.io/website/today/seven-reasons-you-should-not-ignore-flaky-tests/"&gt;Seven Reasons You Should Not Ignore Flaky Tests&lt;/a&gt;
.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>My Final Take on Gradle (vs. Maven)</title><link>https://foojayio.github.io/website/today/my-final-take-on-gradle-vs-maven/</link><pubDate>Tue, 15 Aug 2023 08:37:24 +0000</pubDate><guid>https://foojayio.github.io/website/today/my-final-take-on-gradle-vs-maven/</guid><description>&lt;p&gt;&lt;strong&gt;I tweet technical content that I consider interesting, but the funny tweets are the ones that get the most engagement.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I attended the JavaLand conference in March, stumbled upon the Gradle booth, and found this gem:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/nicolas_frankel/status/1638549568957861889" target="_blank" rel="noopener noreferrer"&gt;&lt;img src="https://foojayio.github.io/website/today/my-final-take-on-gradle-vs-maven/Screenshot-2023-08-05-at-10.03.59-754x1024.png" alt="" loading="lazy"&gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Of course, at some point, a fanboy hijacked the thread and claimed the so-called superiority of Gradle. In this post, I&amp;rsquo;d like to shed some light on my stance, so I can direct people to it instead of debunking the same &amp;ldquo;reasoning&amp;rdquo; repeatedly.&lt;/p&gt;</description></item><item><title>Build Rot: The Hidden Technical Debt in Maven and Gradle Builds</title><link>https://foojayio.github.io/website/today/build-rot-tech-debt/</link><pubDate>Fri, 21 Jul 2023 08:14:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/build-rot-tech-debt/</guid><description>&lt;p&gt;&lt;strong&gt;Discover &amp;lsquo;Build Rot&amp;rsquo;, the hidden technical debt in Maven and Gradle builds. This article explores the impact of Build Rot on build speed and test times, offering strategies for enhanced observability and Developer Productivity Engineering to optimize build processes.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Technical debt is a constant companion in the complex world of software development. It&amp;rsquo;s the price we pay for quick fixes and postponed refactoring&amp;mdash;the &amp;ldquo;we&amp;rsquo;ll do it right next time&amp;rdquo; mentality.&lt;/p&gt;</description></item><item><title>Analyzing dependencies in IntelliJ IDEA</title><link>https://foojayio.github.io/website/today/analyzing-dependencies-in-intellij-idea/</link><pubDate>Thu, 11 May 2023 09:33:40 +0000</pubDate><guid>https://foojayio.github.io/website/today/analyzing-dependencies-in-intellij-idea/</guid><description>&lt;p&gt;If you&amp;rsquo;re working on a real world project, you&amp;rsquo;re probably using external dependencies.&lt;/p&gt;
&lt;p&gt;You might need to analyze which dependencies your application uses.&lt;/p&gt;
&lt;p&gt;For example, you may want to find out how a particular version of a dependency ended up in your application.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s take a look at how IntelliJ IDEA can help you to analyze dependencies.&lt;/p&gt;
&lt;p&gt;We can view our dependencies in the Maven or Gradle tool window.&lt;/p&gt;
&lt;p&gt;Here, we can expand dependencies to show their transitive dependencies, or collapse them again.&lt;/p&gt;</description></item><item><title>How Gradle Works: Inside the Daemon</title><link>https://foojayio.github.io/website/today/how-gradle-works-inside-the-daemon/</link><pubDate>Tue, 14 Mar 2023 11:27:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-gradle-works-inside-the-daemon/</guid><description>&lt;p&gt;Previously in the &lt;em&gt;How Gradle Works&lt;/em&gt;series:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/how-gradle-works-startup/"&gt;How Gradle Works: Startup&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is the second article of the series &lt;em&gt;How Gradle Works&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll explain what happens inside the &lt;code&gt;Gradle Daemon JVM&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="h2-0-why-do-we-need-gradle-daemon"&gt;Why Do We Need Gradle Daemon?&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/how-gradle-works-startup/"&gt;the last article&lt;/a&gt;
, we mentioned that Gradle starts a &lt;code&gt;Gradle Daemon JVM&lt;/code&gt; (&amp;ldquo;the daemon&amp;rdquo;) to run the build.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.gradle.org/current/userguide/gradle_daemon.html" target="_blank" rel="noopener noreferrer"&gt;The userguide&lt;/a&gt;
 explains why we need the daemon.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Daemon is a long-lived background process that reduces the time it takes to run a build. The Daemon reduces build times by caching project information across builds, running in the background so every Gradle build doesn&amp;rsquo;t have to wait for JVM startup, benefiting from continuous runtime optimization in the JVM, and watching the file system to calculate exactly what needs to be rebuilt before you run a build.&lt;/p&gt;</description></item><item><title>How to Find &amp; Fix Vulnerabilities with IntelliJ IDEA Ultimate</title><link>https://foojayio.github.io/website/today/package-checker-find-fix-vulnerabilities-with-intellij-idea-ultimate/</link><pubDate>Mon, 13 Feb 2023 09:09:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/package-checker-find-fix-vulnerabilities-with-intellij-idea-ultimate/</guid><description>&lt;p&gt;In this article, we&amp;rsquo;re going to take a look at the &lt;a href="https://plugins.jetbrains.com/plugin/18337-package-checker" target="_blank" rel="noopener noreferrer"&gt;Package Checker plugin&lt;/a&gt;
, that&amp;rsquo;s bundled with &lt;a href="https://www.jetbrains.com/idea/" target="_blank" rel="noopener noreferrer"&gt;IntelliJ IDEA Ultimate&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll have a look at how to view known vulnerabilities in your Maven or Gradle projects, how to get more information about the known vulnerabilities in a specific dependency and how to remediate these vulnerabilities inside IntelliJ IDEA Ultimate if a new version with a fix is available.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://foojayio.github.io/website/plugin.png" title="Package Checker plugin"&gt;&lt;img src="https://foojayio.github.io/website/today/package-checker-find-fix-vulnerabilities-with-intellij-idea-ultimate/plugin.png" alt="Package Checker plugin" title="Package Checker plugin" loading="lazy"&gt;
&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>How Gradle Works: Startup</title><link>https://foojayio.github.io/website/today/how-gradle-works-startup/</link><pubDate>Thu, 09 Feb 2023 08:45:57 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-gradle-works-startup/</guid><description>&lt;p&gt;This is the first article of a series &lt;em&gt;How Gradle Works&lt;/em&gt;, which includes the following topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How Gradle starts up&lt;/li&gt;
&lt;li&gt;How many JVMs are involved in a Gradle build&lt;/li&gt;
&lt;li&gt;What happens in each JVM during the build&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We&amp;rsquo;ll explain the first topic &lt;em&gt;How Gradle Starts Up&lt;/em&gt; in this blog.&lt;/p&gt;
&lt;p&gt;Before reading on, we assume you are familiar with basic JVM/Gradle concepts (jar, classpath, wrapper, daemon, project, task, etc.).&lt;/p&gt;
&lt;h2 id="h2-0-how-gradle-starts-up"&gt;How Gradle Starts Up&lt;/h2&gt;
&lt;p&gt;There are many ways to start a Gradle build:&lt;/p&gt;</description></item><item><title>Modular Monolithic in Practice</title><link>https://foojayio.github.io/website/today/modular-monolithic-in-practice/</link><pubDate>Wed, 25 Jan 2023 08:01:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/modular-monolithic-in-practice/</guid><description>&lt;p&gt;With the usage of microservices in application modernization, we have seen both the advantages and disadvantages of maintaining such software development styles.&lt;/p&gt;
&lt;p&gt;When we create applications mostly in enterprise organizations, the first thing that comes to our mind now is how to decouple our applications.&lt;/p&gt;
&lt;p&gt;But there will be times when creating too many microservices is not the best way and may cost you time and money.&lt;/p&gt;
&lt;p&gt;Because of that, one alternative is to leverage the use of modules.&lt;/p&gt;</description></item><item><title>Managing Dependencies in IntelliJ IDEA</title><link>https://foojayio.github.io/website/today/managing-dependencies-in-intellij-idea/</link><pubDate>Tue, 10 Jan 2023 15:13:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/managing-dependencies-in-intellij-idea/</guid><description>&lt;p&gt;In this tutorial, following on from &lt;a href="https://foojayio.github.io/website/today/viewing-dependencies-in-intellij-idea/"&gt;viewing dependencies&lt;/a&gt;
, we&amp;rsquo;re going to take a look at managing dependencies in IntelliJ IDEA.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll look at different ways to add dependencies to your project, and how to add, upgrade and remove dependencies using Package Search.&lt;/p&gt;
&lt;p&gt;There are several ways to add new dependencies to your project.&lt;/p&gt;
&lt;h2 id="h2-0-from-the-build-file-using-copy-paste"&gt;From the build file using copy-paste&lt;/h2&gt;
&lt;p&gt;You have probably copied a dependency from &lt;a href="https://mvnrepository.com/" target="_blank" rel="noopener noreferrer"&gt;Maven Repository&lt;/a&gt;
 (or another website) and pasted into your build file.&lt;/p&gt;</description></item><item><title>Building JavaFX with Gradle</title><link>https://foojayio.github.io/website/today/building-javafx-with-gradle/</link><pubDate>Thu, 05 Jan 2023 11:32:24 +0000</pubDate><guid>https://foojayio.github.io/website/today/building-javafx-with-gradle/</guid><description>&lt;p&gt;Usually Maven is my build tool of choice and for Java front-ends I sometimes still build a front-end application using ANT, Swing with Oracle&amp;rsquo;s JDK 8u202 and JDK 8&amp;rsquo;s Java Packager, but don&amp;rsquo;t tell anyone&amp;hellip;.&lt;/p&gt;
&lt;p&gt;Over time, as I wanted to move forward with some more lightweight front-ends, I started building JavaFX applications.&lt;/p&gt;
&lt;p&gt;Of course, I don&amp;rsquo;t want to lock customers into JDK maintenance contracts; for backend software and servers, where the customer usually has their own runtime architecture, that&amp;rsquo;s easy, but for GUIs, I generally don&amp;rsquo;t want to ship a full JDK anymore, I want to use modular Java, ship a JDK of my choice, and provide a proper build system for it all. So that&amp;rsquo;s it, I use the following components and software:&lt;/p&gt;</description></item><item><title>Viewing Maven and Gradle Dependencies in IntelliJ IDEA</title><link>https://foojayio.github.io/website/today/viewing-dependencies-in-intellij-idea/</link><pubDate>Wed, 07 Dec 2022 08:54:13 +0000</pubDate><guid>https://foojayio.github.io/website/today/viewing-dependencies-in-intellij-idea/</guid><description>&lt;p&gt;In this article, we&amp;rsquo;re going to take a look at different ways to view your external dependencies in IntelliJ IDEA.&lt;/p&gt;
&lt;h2 id="h2-0-introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;re working on a real-world application, your project will probably use external libraries and frameworks.&lt;/p&gt;
&lt;p&gt;Occasionally, you might want to see which dependencies your project uses, for various reasons.&lt;/p&gt;
&lt;p&gt;There are several ways to view dependencies in &lt;a href="https://www.jetbrains.com/idea/" title="IntelliJ IDEA" target="_blank" rel="noopener noreferrer"&gt;IntelliJ IDEA&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;Each view has a different focus.&lt;/p&gt;
&lt;h2 id="h2-1-dependency-management-config-file"&gt;Dependency management config file&lt;/h2&gt;
&lt;p&gt;You can find direct dependencies in the dependency management config file. Direct dependencies are the dependencies that your project depends on directly.&lt;/p&gt;</description></item><item><title>Introducing Gradle Test Suites</title><link>https://foojayio.github.io/website/today/introducing-gradle-test-suites/</link><pubDate>Tue, 06 Dec 2022 13:28:26 +0000</pubDate><guid>https://foojayio.github.io/website/today/introducing-gradle-test-suites/</guid><description>&lt;p&gt;This article was initially published at &lt;a href="https://blog.gradle.org/introducing-test-suites" target="_blank" rel="noopener noreferrer"&gt;blog.gradle.org&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;As projects grow in size and complexity and otherwise mature, they tend to accumulate a large collection of automated tests.&lt;/p&gt;
&lt;p&gt;Testing your software at &lt;a href="https://martinfowler.com/articles/practical-test-pyramid.html" target="_blank" rel="noopener noreferrer"&gt;multiple levels of granularity&lt;/a&gt;
 is important to surface problems quickly and to increase developer productivity.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://docs.gradle.org/7.3/release-notes.html#new-features-and-usability-improvements" target="_blank" rel="noopener noreferrer"&gt;Gradle 7.3&lt;/a&gt;
, released November 2021, the Gradle team introduced a new feature called Declarative Test Suites.&lt;/p&gt;
&lt;p&gt;Using this feature makes it much easier to manage different types of tests within a single Gradle JVM project without worrying about low level &amp;ldquo;plumbing&amp;rdquo; details.&lt;/p&gt;</description></item><item><title>A Better Way To Use Gradle With Github Actions</title><link>https://foojayio.github.io/website/today/a-better-way-to-use-gradle-with-github-actions/</link><pubDate>Wed, 21 Sep 2022 12:54:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/a-better-way-to-use-gradle-with-github-actions/</guid><description>&lt;h2 id="h2-0-running-gradle-builds-on-github-actions"&gt;Running Gradle builds on GitHub Actions&lt;/h2&gt;
&lt;p&gt;GitHub Actions provides a convenient and powerful CI platform for projects hosted on GitHub. To enhance the experience of building Gradle projects on GitHub Actions, the Gradle team has developed the &lt;code&gt;gradle-build-action&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Together with Gradle Build Scans™, the &lt;code&gt;gradle-build-action&lt;/code&gt; provides deep integration between Gradle and GitHub Actions, providing easier setup and a better experience when building and testing your Gradle project with GitHub Actions.&lt;/p&gt;</description></item><item><title>Java on Azure Tooling Update – June 2022</title><link>https://foojayio.github.io/website/today/java-on-azure-tooling-update-june-2022/</link><pubDate>Mon, 13 Jun 2022 07:40:38 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-on-azure-tooling-update-june-2022/</guid><description>&lt;p&gt;Hi everyone, welcome back to June update of Java on Azure Tooling.&lt;/p&gt;
&lt;p&gt;In this update, we will introduce the new application-centric view on Azure toolkit for IntelliJ that will make the interface more user-friendly.&lt;/p&gt;
&lt;p&gt;In addition, we have added support for more Azure services.&lt;/p&gt;
&lt;p&gt;For Gradle plugins, we have some new features for Azure Web Apps and Azure Functions.&lt;/p&gt;
&lt;p&gt;We hope you like these new features and share your feedback with us. So let us get right into it&amp;hellip;&lt;/p&gt;</description></item></channel></rss>