veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

297
active users

#maven

2 posts2 participants0 posts today

Maven 4: Still XML. Still boring. Still Winning.

What's so ugly about Maven?
Oh, right, XML. The ancient language feared by the hipster cult of Gradle.

But let's be honest:
You don't write build files every day. You come back after months, forget everything, and now… you're debugging a Groovy poem.
Maven? You squint at the XML, and boom. Autocomplete, structure, sanity.

Maven 4? Still XML. Still boring. Still… Winning at automations.
Yes there are more features, and yes you can use other DSL's than XML with polyglot or any other extension like also before.
Something new and interesting could be the BOM packaging and requirement of java 17. You can always build lower stuff also with 17. It's simply Java.

My killer feature of Maven:
👉 Stable, sandboxed plugins, run directly from the command line. No need to create bloated build files.
No copy-pasting the same config into 12 submodules and repositories.
All automated. All under my control.
No need to depend on the next third party cloud elf named like dependabot.
Or an SDK Man for switching java versions.
All I need is simply a JAR file and a build tool which does not disrupt me.

✨ Favourite Maven Spells - aka plugins running on my CI without defining them:
mvn wrapper:wrapper - Because of consistency, no jar binary inside my repo.
mvn dependency:tree - See who brought the uninvited guests.
mvn versions:update-properties - Auto-update without the bots.
mvn license:add-third-party - keep track of used licenses
mvn org.owasp:dependency-check-maven:check - Security without sacrifice.
[...]

Stop waiting for the next shiny thing, you can always contribute to any tool.
Start building. Or better automate it.

#Maven4#maven#cicd

Is there any way to actively test if a maven dependency scope is set to “test” but would be required to be “compile”/“runtime”? I broke a build that way but can’t think of any way to catch that.

I'm working on enabling the #DigiPres parts of our org by making some of the #COPTR Tool Grid apps available securely in a managed #Windows environment - first cab off the rank is a #Java app with bundled #JRE, which won't play well with our env 😕

does anyone have experience using #maven & #jpackage as part of a build pipeline to create OS-native installers? my short-term target is a Windows MSI, but once that's in place the same pipeline should be able to spit out native installers for macOS (which we also use) & Linux (which we don't - yet 😈)

I'm at the point where I'm about to clone the repo & start tinkering 😫 but would much rather re-use something already built than figure it out from docs & example code...

#boost4reach pls 🙏

#GLAM
#ausGLAM

Java developers: If you're using the Eclipse LSP in your editor and Maven on the command line, the former will cause problems if you have annotation processors.

If you're suffering from random errors with your Lombok, Protobuf or other annotation processed magic beans, you can use this trick when running mvn on the command line:

alias mci="pgrep -f org.eclipse.jdt.ls | xargs kill -STOP ; mvn clean; mvn install -DskipTests ; pgrep -f org.eclipse.jdt.ls | xargs kill -CONT; xeyes"

1) Pause Eclipse LSP processes
2) Run Maven as normal
3) Resume Eclipse LSP processes

This took me a *long* time to figure out.

I'm trying to publish my first #Java library on maven central. I am able to find it at central.sonatype.com and maven can resolve it from there.

But I can't find it neither on search.maven.org nor on mvnrepository.com. It is a release version (not a snapshot), it is GPG signed and there are source and javadoc jars too.

Any ideas what I am doing wrong?

search.maven.orgMaven Central Repository SearchOfficial search by the maintainers of Maven Central Repository

You develop a #Java library.

You have a #Maven build.

You have a fixed set of Build Phases.

You publish two main artifacts:
(1) Jar
(2) pom

To do good to all your users, you want to do a number of things in the 'package' phase.

- Zip your stuff (maven-jar-plugin)
- Include 3rd party classes (maven-shade-plugin)
- Add module-info (moditect-maven-plugin)
- Add Gradle Metadata (gradle-module-metadata-maven-plugin)
- Maybe more...

All these modify or rely on (1) and (2).

What do you do?

#privacy in trouble building: #Google is using data from ALL people's devices to feed it into #Maven (a AI trained for geopolitics and targeting enemies) the #1984 #dystopia #Google is #evil now #spy on all data #wtf what can you do?

STOP THIS MADNESS! #BETTERWORLD IS POSSIBLE!

get a pixel 7 pro or 8 pro or 9 pro and install grapheneos.org/ #grapheneos while this is not 100% grantee secret service will NOT collect ur data, it MASSIVELY reduces the amount of 500 pre installed privacy problematic apps on #smartphone
#google #fiveeyes #snowden #samsung #android #geopolitics