Skip to content

Commit

Permalink
Add Gradle Enterprise Extension
Browse files Browse the repository at this point in the history
This adds build caching and build scans.

The changes required disabling scans when using the maven invoker
plugin in order to not cause duplicate build scans when invoking other
maven builds. There is also an empty `.mvn` folder in the
spring-boot-starters project to prevent duplicate build scans as well
since there is no way to pass properties to the maven-javadoc-plugin.

The checkstyle plugin was causing a cache miss with the
`propertyExpansion` because it contains an absolute path. The absolute
path is now ignored and instead the files are added as inputs to the
checkstyle plugin. This only enables the local build cache. The remote
cache is not yet enabled.

On my local machine:

./mvnw clean install build times go from about 30 minutes to about 10 minutes.
./mvnw clean install -Pfull build times go from about 60 minutes to about 13 minutes.

See spring-projectsgh-22089
  • Loading branch information
runningcode authored and wilkinsona committed Jul 24, 2020
1 parent f68671e commit e41a53c
Show file tree
Hide file tree
Showing 8 changed files with 69 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ transaction-logs
secrets.yml
.gradletasknamecache
.sts4-cache
.mvn/.gradle-enterprise/gradle-enterprise-workspace-id
12 changes: 12 additions & 0 deletions .mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<extensions>
<extension>
<groupId>com.gradle</groupId>
<artifactId>gradle-enterprise-maven-extension</artifactId>
<version>1.5.3</version>
</extension>
<extension>
<groupId>io.spring.ge.conventions</groupId>
<artifactId>gradle-enterprise-conventions-maven-extension</artifactId>
<version>0.0.5</version>
</extension>
</extensions>
13 changes: 13 additions & 0 deletions .mvn/gradle-enterprise.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<gradleEnterprise
xmlns="https://www.gradle.com/gradle-enterprise-maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.gradle.com/gradle-enterprise-maven https://www.gradle.com/schema/gradle-enterprise-maven.xsd">
<server>
<url>https://ge.spring.io</url>
</server>
<buildScan>
<publishIfAuthenticated>true</publishIfAuthenticated>
</buildScan>
<buildCache>
<local><enabled>true</enabled></local>
</buildCache>
</gradleEnterprise>
33 changes: 33 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -250,5 +250,38 @@
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.gradle</groupId>
<artifactId>gradle-enterprise-maven-extension</artifactId>
<!-- There is a build warning because we don't specify the version here. We do this instead of specifying the verison number twice -->
<configuration>
<gradleEnterprise>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<inputs>
<fileSets>
<fileSet>
<name>allowlist</name>
<paths>
<path>${main.basedir}/src/checkstyle</path>
</paths>
<normalization>RELATIVE_PATH</normalization>
</fileSet>
</fileSets>
<properties>
<property>
<name>propertyExpansion</name>
<value>ignoredValue</value>
</property>
</properties>
</inputs>
</plugin>
</plugins>
</gradleEnterprise>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This file is empty so that the starters project does not generate multiple build scans.
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
<addTestClassPath>true</addTestClassPath>
<skipInvocation>${skipTests}</skipInvocation>
<streamLogs>true</streamLogs>
<properties>
<scan>false</scan>
</properties>
</configuration>
</execution>
</executions>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,9 @@
<addTestClassPath>true</addTestClassPath>
<skipInvocation>${skipTests}</skipInvocation>
<streamLogs>true</streamLogs>
<properties>
<scan>false</scan>
</properties>
</configuration>
</execution>
</executions>
Expand Down
3 changes: 3 additions & 0 deletions spring-boot-samples-invoker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
<pomIncludes>
<pomInclude>pom.xml</pomInclude>
</pomIncludes>
<properties>
<scan>false</scan>
</properties>
</configuration>
<executions>
<execution>
Expand Down

0 comments on commit e41a53c

Please sign in to comment.