Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Shaggar posted:

maven's package management stuff works. nuget would be ok if it didnt have support for scripting lol

maven suffers from java’s problem of only one version of a package being available on the classpath at a given time unless your dependencies generated shaded jars

Adbot
ADBOT LOVES YOU

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

crazypenguin posted:

They’re publicly testing the new http index now at least

:toot:

cool av
Mar 2, 2013

Blinkz0rz posted:

maven suffers from java’s problem of only one version of a package being available on the classpath at a given time unless your dependencies generated shaded jars

right, it works

Shaggar
Apr 26, 2006

Blinkz0rz posted:

maven suffers from java’s problem of only one version of a package being available on the classpath at a given time unless your dependencies generated shaded jars

i dont see the problem

Sapozhnik
Jan 2, 2005

Nap Ghost
it works until you need to use guava, which is "maintained" by googleoids

unfortunately most Java things directly or indirectly use guava. the smarter projects vendor whatever version they're using.

Sapozhnik
Jan 2, 2005

Nap Ghost
breaking interface change? sure just run an automated refactor across our gigantic monorepo nbd

anyway can't stay and chat i have a promotion package i need to assemble

Shaggar
Apr 26, 2006
i would just not use guava or w/e. i mean i havent written java in years at this point cause .net has completely usurped it, but its not surprising that goog is doing poo poo to gently caress up what was the one decent build system

tazjin
Jul 24, 2015


Gaukler posted:

Are you programming on top of a civil war battle site? Do you naturally produce unsafe levels of RF radiation?

good ideas; I'll book appointments with a radiologist and an exorcist right away

crazypenguin posted:

They’re publicly testing the new http index now at least

cocoapod or cargo?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

cool av posted:

right, it works

i’m the runtime exception that occurs when one of your dependency’s dependency uses a different version of another dependency than another one of your dependencies with a slightly different api that you’ll never see until your app blows up in production

akadajet
Sep 14, 2003

barkbell posted:

new guy on the team opened his first pr to change all the linting rules because he didnt like them. what a power move

nudgenudgetilt posted:

plot twist: no linter was currently being used and the new guy was proposing they try one out


early on at my current job I tried to add some linting rules after discussing it because there were none and people got mad at me.

Shaggar
Apr 26, 2006

Blinkz0rz posted:

i’m the runtime exception that occurs when one of your dependency’s dependency uses a different version of another dependency than another one of your dependencies with a slightly different api that you’ll never see until your app blows up in production

iirc maven will warn you about this so you can fix it, but since not all version changes are breaking it doesnt error.

cool av
Mar 2, 2013

Blinkz0rz posted:

i’m the runtime exception that occurs when one of your dependency’s dependency uses a different version of another dependency than another one of your dependencies with a slightly different api that you’ll never see until your app blows up in production

im the conceit that dependencies having their own differently versioned copy of their dependencies solves this problem

Cold on a Cob
Feb 6, 2006

i've seen so much, i'm going blind
and i'm brain dead virtually

College Slice
this is why i use as few dependencies as possible and why i'll never ever ever EVER touch node

Xarn
Jun 26, 2015

pokeyman posted:

wait, cargo looked at cocoapods's decision to make the package index a git repo that caused github to say "pls no we can't handle the traffic" and said "let's copy that"?

And it's not the only newish tool doing this, vcpkg (MS's C++ pkg manager) also does this and I can already feel the performance getting worse linearly over time.

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
maven rules.

i've never run into an issue with weird mismatched dependencies because i don't touch libraries that bring in that much bullshit.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

tazjin posted:

cocoapod or cargo?

cocoapods switched over to a http thing a few years ago so i assume cargo

Soricidus
Oct 21, 2010
freedom-hating statist shill

CRIP EATIN BREAD posted:

maven rules.

i've never run into an issue with weird mismatched dependencies because i don't touch libraries that bring in that much bullshit.

yeah it’s a theoretical problem but it really doesn’t come up much in the real world

even with guava, the apis people actually use are pretty stable so I’ve yet to run into a case where naively picking the newest version doesn’t work

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Shaggar posted:

i mean i havent written java in years at this point cause .net has completely usurped it
let's not take it too far now

Deffon
Mar 28, 2010

Dependency conflicts in Java has been a problem at my current and previous job, it's definitely not theoretical.

For all it's faults, Gradle warns you about version conflicts while maven picks one of indirect dependencies using some bad heuristic.
You need to print the dependency tree and ctrl+f for the same artifact with different versions to discover the cause.
Since some artifacts provide the same java classes (jakarta vs javax for a while e.g.) it can sometimes be a pain to debug as the JVM only tells you that some class was incorrect/missing.

These problems usually occur with libraries like Guava that became "too commonly used to introduce breaking changes" because they provided utility that the standard library should have provided to begin with.
Examples include collection classes, stream utilities, http clients, logging facilities, maybe more.

Some libraries like Apache Commons, OkHttp and JUnit wised up and released major versions under new package names to avoid this problem.

tazjin
Jul 24, 2015


simply use some crazy plugin with XML config to rewrite symbol names in your binaries, that's totally sane, no need to worry about name clashes!

DrPossum
May 15, 2004

i am not a surgeon
lol if you rely on anyone else's code aka "dependencies"

CPColin
Sep 9, 2003

Big ol' smile.
Only trust your fists
Code will never help you

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


CPColin posted:

Only trust your fists
Code will never help you

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

CPColin posted:

Only trust your fists
Code will never help you

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

nuget out

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


nuget what nugive

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
and my javax

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003

Sapozhnik posted:

it works until you need to use guava

you don't. ever.

distortion park
Apr 25, 2011


CRIP EATIN BREAD posted:

maven rules.

i've never run into an issue with weird mismatched dependencies because i don't touch libraries that bring in that much bullshit.

this is the truth. nuget might suck, idk, but I've never found out because I hardly need any deps and they rarely have transitive 3rd party ones (other than newtonsoft)

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

cool av posted:

im the conceit that dependencies having their own differently versioned copy of their dependencies solves this problem

it doesn’t completely but having a sealed ownership pattern for dependencies means that at least you don’t have to worry that your direct dependencies are quietly being replaced by indirects

Xarn
Jun 26, 2015

Deffon posted:



Some libraries like Apache Commons, OkHttp and JUnit wised up and released major versions under new package names to avoid this problem.

Cowards

Shaggar
Apr 26, 2006

distortion park posted:

this is the truth. nuget might suck, idk, but I've never found out because I hardly need any deps and they rarely have transitive 3rd party ones (other than newtonsoft)

yeah nugets failings are largely stuff thats been removed like scripts that run on package install/uninstall (lmao what a terrible idea) or its poor integration into msbuild which is more of a problem with msbuild which sucks

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


my favourite thing to do with our internal nuget repo is name packages with stupid version suffixes that the package browser then won't display by default and confuse the poo poo out of everyone

Sapozhnik
Jan 2, 2005

Nap Ghost
meanwhile people continue not to give any shits about jdk9 modules (despite them looking fairly reasonable i guess?)

Soricidus
Oct 21, 2010
freedom-hating statist shill

Sapozhnik posted:

meanwhile people continue not to give any shits about jdk9 modules (despite them looking fairly reasonable i guess?)

they’re pretty good, op. most popular libraries have a fixed module name now, so it’s feasible to use them, and an increasing number are fully modularised. we switched our code over to modules a couple of years ago and haven’t regretted it at all. it’s very nice having more control over api surface.

the tooling is not great tho

i vomit kittens
Apr 25, 2019


are the git tools in jetbrains ides a pile of poo poo or am i just an idiot? i'm used to sublime merge and i've been trying to gently caress around with git in PyCharm but everything except for a simple commit ends up being a loving nightmare. every time i click "merge main into poo poo-branch". the commit that gets created shows poo poo-branch reverting all of the changes that would have been applied from main instead of applying them like i would expect

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

did car forum poster deploy something today

DrPossum
May 15, 2004

i am not a surgeon

i vomit kittens posted:

are the git tools in jetbrains ides a pile of poo poo or am i just an idiot? i'm used to sublime merge and i've been trying to gently caress around with git in PyCharm but everything except for a simple commit ends up being a loving nightmare. every time i click "merge main into poo poo-branch". the commit that gets created shows poo poo-branch reverting all of the changes that would have been applied from main instead of applying them like i would expect

I use those tools only for making commits, diffs, rollbacks, merge conflicts, and looking at the history for which it does really well. Anything more complicated including merging other branches I pop a terminal

Presto
Nov 22, 2002

Keep calm and Harry on.

i vomit kittens posted:

Everything except for a simple commit ends up being a loving nightmare.
Well yes, because that's git in a nutshell.

Adbot
ADBOT LOVES YOU

DrPossum
May 15, 2004

i am not a surgeon
the problem with git is it was made by moon man linux tovalds who is both insane and an rear end in a top hat

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply