profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/ldaley/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Luke Daley ldaley @gradle Brisbane, Australia.

gradle/gradle 12362

Adaptable, fast automation for all

eriwen/gradle-js-plugin 378

Gradle plugin for working with JS

ldaley/Confluence.tmbundle 21

A TextMate Bundle for Atlassian's Confluence

ldaley/apache-camel-grails-plugin 12

Integrates the Apache Camel Integration Framework with Grails.

ldaley/gr8conf-eu-2012-talks 10

Slides and demos from my talks at http://gr8conf.eu/

ldaley/Gldapo 7

An Object Oriented LDAP interface for the Groovy programming language

esoeproject/grails-spep-dependencies 3

SPEP Grails plugin dependencies

ldaley/alkemist.tmbundle 3

My Personal TextMate Bundle

ldaley/Almost-Plain-Text.tmbundle 3

A TextMate bundle for the Almost Plain Text (APT) markup format

esoeproject/grails-spep-spep-war 2

Dependencies for the Grails SPEP plugin

push eventgradle/gradle

Luke Daley

commit sha b877a7ca7a628c7d595ee2c69fa7474a59cb6944

Use more specific name to scope to just file inputs

view details

Luke Daley

commit sha 12ddd06105bc4db6bb1546c80942bbcb69aad67e

Add some direction on commenting property attribute changes

view details

push time in 3 days

PullRequestReviewEvent

push eventgradle/gradle

Luke Daley

commit sha b2bd46554998145658b3ef40e180a1a625aa8c7a

Fix test

view details

push time in 3 days

push eventgradle/gradle

Luke Daley

commit sha 29510ae7d3365574891150edd27a15d1de2529a5

Simplify state management for avoiding visiting inconsequential directories

view details

push time in 3 days

push eventgradle/gradle

Luke Daley

commit sha 1ac333a675b8e4853cb8fcb1f5e899cc99a59d1f

Move implementation to implementation

view details

Luke Daley

commit sha 3c0c8ea63c51a47de9f462bdf402a08377040470

Avoid excessive string garbage when communicating input property attributes Also improves documentation on relevant interface

view details

push time in 3 days

Pull request review commentgradle/gradle

Update SnapshotTaskInputsBuildOperationResult to convey new attributes, and do not traverse empty directories when the sensitivity ignores them

      */     String getIdentifier(); +    /**+     * UsedByScansPlugin+     */+    DirectorySensitivity getDirectorySensitivity();++    /**+     * UsedByScansPlugin

I think this is more harmful than helpful. The relevant usages of this are in the codebase, and the scan plugin doesn't actually use this in any meaningful way. Said another way, anything about these methods can change, as long as the operation interface doesn't change.

facewindu

comment created time in 4 days

Pull request review commentgradle/gradle

Update SnapshotTaskInputsBuildOperationResult to convey new attributes, and do not traverse empty directories when the sensitivity ignores them

 public SnapshotTaskInputsBuildOperationResult(CachingState cachingState) {         this.cachingState = cachingState;     } +    private static final String FINGERPRINTING_STRATEGY_PREFIX = "FINGERPRINTING_STRATEGY_";+    private static final String DIRECTORY_SENSITIVITY_PREFIX = "DIRECTORY_SENSITIVITY_";+    private static final String LINE_ENDING_SENSITIVITY_PREFIX = "LINE_ENDING_SENSITIVITY_";++    enum PropertyAttribute {

Worth some documentation to indicate that the names here, once used, can't change.

facewindu

comment created time in 4 days

Pull request review commentgradle/gradle

Update SnapshotTaskInputsBuildOperationResult to convey new attributes, and do not traverse empty directories when the sensitivity ignores them

 public Object getCustomOperationTraceSerializableModel() {             class Property {

This type doesn't have to be stable at all. I suggest just having a single attributes property instead of destructuring.

facewindu

comment created time in 4 days

Pull request review commentgradle/gradle

Update SnapshotTaskInputsBuildOperationResult to convey new attributes, and do not traverse empty directories when the sensitivity ignores them

              */             String getPropertyNormalizationStrategyName(); +            Set<String> getPropertyAttributes();

Missing @since Javadoc, and documentation in general.

We should also clarify what the semantics of getPropertyNormalizationStrategyName are for 7.3 and up.

facewindu

comment created time in 4 days

Pull request review commentgradle/gradle

Update SnapshotTaskInputsBuildOperationResult to convey new attributes, and do not traverse empty directories when the sensitivity ignores them

 public String getPropertyNormalizationStrategyName() {             return propertyNormalizationStrategyIdentifier;

Worth a comment in the code to that effect.

facewindu

comment created time in 4 days

Pull request review commentgradle/gradle

Update SnapshotTaskInputsBuildOperationResult to convey new attributes, and do not traverse empty directories when the sensitivity ignores them

 public void visitInputFileProperties(final InputFilePropertyVisitor visitor) {                     state.propertyName = entry.getKey();                     state.propertyHash = fingerprint.getHash();                     state.propertyNormalizationStrategyIdentifier = fingerprint.getStrategyIdentifier();+                    Set<PropertyAttribute> propertyAttributes = new TreeSet<>();

minor: I suggest extracting a method for determining the attributes for a property.

facewindu

comment created time in 4 days

PullRequestReviewEvent
PullRequestReviewEvent

issue commentgradle/gradle

Display critical execution path: build scan and console output

HI @vlsi and @mathjeff - build scans do provide this information, but it requires a recentish version of Gradle. You can find more information at https://gradle.com/enterprise/releases/2021.2/#identify-the-task-critical-path-of-gradle-builds.

vlsi

comment created time in 9 days

issue commentgradle/gradle

Incremental annotation processing does not find dependent classes with `proc:only`

Do you have some numbers for this?

No I don't.

wolfs

comment created time in 12 days

issue commentgradle/gradle

Incremental annotation processing does not find dependent classes with `proc:only`

How does doing it in two steps fix that?

The generated source can be text patched before being being compiled.

wolfs

comment created time in 12 days

issue commentgradle/gradle

Incremental annotation processing does not find dependent classes with `proc:only`

It's creating strictly more work than doing everything in one go.

In the case where I discovered this, it is to work around bugs in the annotation processors that result in uncompilable code being produced. I've just found a workaround with --sourcepath and --implicit:none that allows us to keep things separated and use incremental processing with a small cost. If we were to disable incremental processing with proc:only this will break.

A secondary reason is to support a cheaper generateSource task that generates all the source needed for effective working in an IDE.

wolfs

comment created time in a month

delete branch ratpack/ratpack

delete branch : feature/gradle-continuous-blocking-main

delete time in a month

push eventratpack/ratpack

Luke Daley

commit sha b35633fc221078348e4d83ec64235ef66e82c353

Allow Gradle continuous build support to work when app blocks and waits for app to stop

view details

Luke Daley

commit sha cd4f56f949ca2e6e5e2226d461e534e086f063a2

Merge pull request #1612 from ratpack/feature/gradle-continuous-blocking-main Allow Gradle continuous build support to work when app blocks and waits for app to stop

view details

push time in a month

create barnchratpack/ratpack

branch : feature/gradle-continuous-blocking-main

created branch time in a month

push eventratpack/ratpack

Luke Daley

commit sha 807d5e366cac7241ef14c0615a075bbafa704cf0

Version 1.10.0-milestone-3

view details

Luke Daley

commit sha 5da131c6a63e18d7f20613f0aaca9583403b85c4

Resume version 1.10

view details

Luke Daley

commit sha d0e9b24f29f1a2e93d936a8ba90a0f0762e0eecf

Do not log broken pipe exceptions

view details

push time in a month

issue commentgradle/gradle

a "error" about build-scan buildScanPublished interface

Hello @JadeWu233.

The documentation is outdated and incorrect. There is currently no way to be notified when the the uploading has completed from the plugin.

You will need to poll/retry the link given until the upload has completed.

JadeWu233

comment created time in 2 months

issue openedgradle/gradle

Exceptions thrown by user code in Kotlin scripts is ignored during IDEA sync

In my case, I wanted to have the build fail-fast if a critical condition was not met. I added logic to settings.gradle.kts to throw an exception if the condition was not met. This worked, except for when performing “sync” in IDEA. There, the exception was silently thrown.

Expected Behavior

The exception should have caused the build to fail fast, as it does when performing any other kind of “non sync” build.

Current Behavior

The exception is silently swallowed.

Context

I have a hunch that IDEA is doing this intentionally in order to sidestep compilation problems in scripts. That is, it tries to degrade gracefully when there are problems with scripts.

Steps to Reproduce

  • Ensure your settings script is written in Kotlin (i.e. settings.gradle.kts).
  • Add throw Exception("!") to a path that will be executed.
  • Invoke a build directly (e.g. via CLI) - should fail
  • Import/sync the project in IDEA, does not fail

Note: if the script is Groovy, the exception propagates.

created time in 2 months

pull request commentgradle/gradle

Gracefully handle HTTP build cache services rejecting too-large entries

@bot-gradle test rfm

ldaley

comment created time in 2 months