DrAmandaLMartin

Developer Advocate for Gradle Build Tool
FOSS enthusiast
Scuba, Sailor and Caver

DrAmandaLMartin boosted:
GradleGradle
2022-12-14
2022-12-14

Stay Up-to-date with #gradle by following @Gradle

DrAmandaLMartin boosted:
Julia Evansb0rk
2022-12-10

a debugging manifesto

1. inspect, don't squash

try to fix the bug (crossed out, bad)

understand what happened (check marks, good)

2. being stuck is temporary

person (thinking): I WILL NEVER FIGURE THIS OUT

... 2 minutes later...

person (thinking): wait, I haven't tried X...

3. trust nobody and nothing

person (thinking): "this library can't be buggy... or CAN IT???"

arrow pointing to person says: "slowly growing horror"

4. it's probably your code

person (thinking): "I KNOW my code is right!"

... 2 hours later ...

person (thinking): "ugh, my code WAS the problem!"

5. don't go it alone

person: "hey, have you seen this problem before?"

6. there's always a reason

computers are always logical, even when it doesn't feel that way

7. build your toolkit

person (thinking): wow, the CSS inspector makes debugging SO MUCH EASIER

8. it can be an adventure

person (thinking): you wouldn't BELIEVE the weird bug I found...

by Julia Evans (@b0rk) and Marie Claire LeBlanc Flanagan (@omarieclaire)

more like this at https://wizardzines.com
2022-12-07

Yes, #grade is hiring a Tech Writer! This is not your normal TW role. Software engineers that have a passion and skill for writing would make the strongest candidates.

linkedin.com/jobs/view/3381309

2022-12-07

Design Specs are now public for #Gradle
blog.gradle.org/design-spec-an
🥳

DrAmandaLMartin boosted:
Jendrik Johannesjendrik
2022-12-06

Once you split your project into components, you can have multiple compile classpaths. You can leverage that to have neatly isolated components with "plain old Java" at development time.

Of course, you should use to set this up.

Learn how this works, and why to distinguish between 'implementation' and 'api' scopes, in my second video on Java Modularity.

youtube.com/watch?v=Z5n9VK3sOn

Understanding Gradle #27 – Multiple Compile Classpaths
2022-12-05

I just tried out Twitodon (twitodon.com) to find people to follow on Mastodon based on who I follow on Twitter. The more people that use it, the more people it'll be able to find and suggest.

DrAmandaLMartin boosted:
Martijn BAARDAbaarda@mastodon.green
2022-12-04

A sleeping elephant family photographed by a drone…

Although there is plenty of room, they sleep close together. They fit almost like puzzle pieces.
DrAmandaLMartin boosted:
Hubert Klein Ikkinkmrhaki@mastodon.online
2022-12-02
2022-12-02

For Gradle 8.0, should the default be to write the resolved version? If a dynamic version is given, the resolved version is listed. The default is a reproducible build with the version used, not the dynamic version.

🧵6/6

Provide your feedback here - forms.gle/kfpcaTWYC58MSDRPA

2022-12-02

For example, if you supply version 2+ for your build, the output shows "2+" but perhaps 3 was used. Later, if you want to make the same build, you again supply 2+, but this time, perhaps 6 is used as it is 2+, clearly a non-reproducible build.

🧵5/6

2022-12-02

VariantVersions
The best practice is to explicitly lock the versions used. But, if you do use dynamic versions, that value is persisted into the output. Currently, dynamic versions are never reproducible since who knows what version is used. docs.gradle.org/current/usergu
🧵4/6

2022-12-02

Flag `reproducibleFileOrder`
The ordering of files in an archive can vary from system to system. If a project is built on Windows and the same project is built at the same time on Linux, they will be different because of how these files are ordered.
🧵3/6

2022-12-02

Flag `preserveFileTimestamps`
When Gradle compiles code, there is a timestamp that is added. So a jar made today will (by default) not match a jar made tomorrow, even if everything's the same.
🧵2/6

2022-12-02

The idea surrounds reproducible builds. Shadow Plugin author @johnrengelman@twitter.com sums it up nicely here imperceptiblethoughts.com/shad

🧵1/6

2022-12-02

I am conducting a survey for #gradle about reproducible builds and the default flags. Would love your input. More details in the thread or just fill out the form:
forms.gle/b5BX8BLehzQj6WdAA

DrAmandaLMartin boosted:
Hubert Klein Ikkinkmrhaki@mastodon.online
2022-11-30

New post JDriven blog: Generic Derivation - a comparison #Functional Programming #Scala #TypeDriven #magnolia blog.jdriven.com/2022/11/Gener

2022-11-29

The November #Gradle Build Tool newsletter has content from some of the best and brightest in the Gradle community. Including @mrhaki
@Aurimas
@jendrik
@britter
@eskatos
Worth a read!
newsletter.gradle.org/2022/11

2022-11-28

Time to make your voice heard on #Gradle Build Tool documentation. Share your thoughts on what we should focus on and how to improve. Want input from all users, regardless of usage! Take this short survey and share your input: docs.google.com/forms/d/e/1FAI

2022-11-27

@Cara this was my first programming book! Brings back memories! I always read my school books to my kids, price of getting a doctorate while being a mom.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst