New around here? Register your SA Forums Account here!

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
Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
well the kotlin stuff at least gives you decent autocomplete

why anyone ever thought using groovy was a good idea for gradle is beyond me

Adbot
ADBOT LOVES YOU

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


i think you should use whatever the rest of your team uses

makes it easier to ask questions

Blinkz0rz
May 27, 2001

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

Sagacity posted:

why anyone ever thought using groovy was a good idea

got me op

Soricidus
Oct 20, 2010
freedom-hating statist shill

Boiled Water posted:

i think you should use whatever the rest of your team uses

makes it easier to ask questions

typical questions when using maven:
- which bit of the pom do I add dependencies to?
- what’s the xml element I need to use?
- oh the ide does it all for me anyway? cool

typical questions when using gradle:
- what the gently caress does this bit do?
- what do you mean, nobody knows?
- please god, if you exist and ever helped anybody, can’t you please let me die?

Beamed
Nov 26, 2010

Then you have a responsibility that no man has ever faced. You have your fear which could become reality, and you have Godzilla, which is reality.


Soricidus posted:

typical questions when using maven:
- which bit of the pom do I add dependencies to?
- what’s the xml element I need to use?
- oh the ide does it all for me anyway? cool

typical questions when using gradle:
- what the gently caress does this bit do?
- what do you mean, nobody knows?
- please god, if you exist and ever helped anybody, can’t you please let me die?

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
your build process should not involve "scripts" of any kind, hth

your build should be entirely declarative - these files make up a single unit, it depends on these other units. converting that dependency graph into actual compiler executions is the job of the build system, which should have a standard plugin for compiling stuff in the language that you're using.

big shtick energy
May 27, 2004


Jabor posted:

your build process should not involve "scripts" of any kind, hth

your build should be entirely declarative - these files make up a single unit, it depends on these other units. converting that dependency graph into actual compiler executions is the job of the build system, which should have a standard plugin for compiling stuff in the language that you're using.

I want to live in this wonderful fantasy land

Shaggar
Apr 26, 2006
stop using bad languages/tools.

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

DuckConference posted:

I want to live in this wonderful fantasy land

that fantasy land is maven

PokeJoe
Aug 24, 2004

gradle sucks

animist
Aug 28, 2018
someone just needs to add some tiny syntax change to maven so that you can write your xml in a thing that looks like gradle and then all the flighty aesthetic devs will come back

distortion park
Apr 25, 2011


animist posted:

someone just needs to add some tiny syntax change to maven so that you can write your xml in a thing that looks like gradle and then all the flighty aesthetic devs will come back

how about a groovy script which generates the xml then runs maven

Blinkz0rz
May 27, 2001

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

Jabor posted:

your build process should not involve "scripts" of any kind, hth

your build should be entirely declarative - these files make up a single unit, it depends on these other units. converting that dependency graph into actual compiler executions is the job of the build system, which should have a standard plugin for compiling stuff in the language that you're using.

someone has never cracked the hood on a maven plugin

Soricidus
Oct 20, 2010
freedom-hating statist shill

Blinkz0rz posted:

someone has never cracked the hood on a maven plugin

a fair point. the thing is that writing maven plugins is the last resort, and you definitely know you’re doing something weird if you have to fall back on it, and then you have to do it properly so you end up with something you can reuse and maybe publish ... whereas in gradle, writing* random bits of custom code in the middle of your build declarations is the totally standard way to achieve a wide range of common outcomes.

* copy-pasting from stack overflow or previous projects

ThePeavstenator
Dec 18, 2012

:burger::burger::burger::burger::burger:

Establish the Buns

:burger::burger::burger::burger::burger:

jit bull transpile posted:

that fantasy land is maven

Or even NuGet now

akadajet
Sep 14, 2003

Shaggar posted:

stop using bad languages/tools.

like.... ???

akadajet
Sep 14, 2003

i was helping an intern pull down all of our projects and set them up on his laptop. i don't know why, but we constantly had to restart visual studio to make it not get confused about what nuget dependencies needed to be installed.

Bloody
Mar 3, 2013

Ms build is good as long as you don't seek out the stupid and bad parts

Bloody
Mar 3, 2013

nuget can be pretty dense about restoring packages

Bloody
Mar 3, 2013

especially if you wanna downgrade a package in a solution

ThePeavstenator
Dec 18, 2012

:burger::burger::burger::burger::burger:

Establish the Buns

:burger::burger::burger::burger::burger:
Using PackageReference for NuGet makes dependency management really straightforward. The only unintuitive thing about NuGet that I've had to explain to interns since we converted our remaining old codebases to use it is how "Closest Version Wins" works.

e:

Bloody posted:

nuget can be pretty dense about restoring packages

Bloody posted:

especially if you wanna downgrade a package in a solution

These types of issues went away once we got away from the old packages.config and all the fuckery that comes with binding redirects. Usually dumping your local NuGet cache will solve it though.

ThePeavstenator fucked around with this message at 20:36 on Jun 9, 2019

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

animist posted:

someone just needs to add some tiny syntax change to maven so that you can write your xml in a thing that looks like gradle and then all the flighty aesthetic devs will come back

https://github.com/takari/polyglot-maven

Shaggar
Apr 26, 2006

animist posted:

someone just needs to add some tiny syntax change to maven so that you can write your xml in a thing that looks like gradle and then all the flighty aesthetic devs will come back

keep everything as is so we recognize gradle users on sight and can keep them out of our code base

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

Shaggar posted:

keep everything as is so we recognize gradle users on sight and can keep them out of our code base

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

ThePeavstenator posted:

Using PackageReference for NuGet makes dependency management really straightforward. The only unintuitive thing about NuGet that I've had to explain to interns since we converted our remaining old codebases to use it is how "Closest Version Wins" works.

How does "Closest Version Wins" work?

ThePeavstenator
Dec 18, 2012

:burger::burger::burger::burger::burger:

Establish the Buns

:burger::burger::burger::burger::burger:

Finster Dexter posted:

How does "Closest Version Wins" work?

If you have something like these 2 dependency chains:

MyProject -> Lib1 -> Lib2 -> Lib3(>=v2)
MyProject -> Lib4 -> Lib3(>=v1)

You'll get Lib3 v1 when NuGet fetches the dependencies to MyProject since the shortest dependency chain wants v1, even though v2 is compatible with both.

You resolve this by adding a reference to Lib3 v2 directly to MyProject.

redleader
Aug 18, 2005

Engage according to operational parameters
please take all build system chat to its historic home, the PL thread

eschaton
Mar 7, 2007

the knowledge knower. a wisdom imparter. irritatingly self-assertive. odorous.
but what is a build system really but a whole bunch of terrible programming

pseudorandom name
May 6, 2007

what if my build system is completely declarative?

pseudorandom
Jun 16, 2010



Yam Slacker

eschaton posted:

but what is a build system really but a whole bunch of terrible programming





You see, terrible build systems and terrible programming keep each other in check. Neither could exist without the other, but if either existed alone it would quickly React and destroy all of software development as we know it.

floatman
Mar 17, 2009
What is build system I just downloaded libraries from GitHub and commit them into my PHP project repository.
I've also made changes to these libraries in the 3rd party libraries themselves. Don't worry I've committed the changes into the project repository as well.

Powerful Two-Hander
Mar 9, 2004

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



imagine I quoted the poster from the last time this came up:

i just click "build" in VS and kick back :smug:

PleasureKevin
Jan 2, 2011

DONT THREAD ON ME posted:

having weird file structures is bad, but giving juniors agency is good. listen to them when they start complaining about your weird files.

it's not the juniors who don't like the file structure, it's the seniors. my workplace is hiring senior after senior after senior. I don't know if this is normal but it's driving me mad.

like in the story I told, the guy gets hired, drops into slack, posts a link like "How to Stop Being a lovely Developer and Write Good, Consistent Code by Sir Lord Bill Gate PHD", then suggests everything needs to be changed, gets told no, and does it anyway.

then just today, a new senior is hired. first thing he does, posts a dumbass article/book link about how to organize code and files and poo poo. says we need to refactor now. this is AFTER the other neckbeard came in and already reorganized everything according to "industry standard".

seriously, two identical neckbeards come in weeks apart and try impose their same rigid dogma, EVEN THOUGH IT'S ALREADY THERE. I am so tired of having the same conversation with them that says "we need more consistency and rules blah blah blah".

like why create a folder called "configs" that contains one single other folder called "styles" which contains exactly 1 file called "index.json" that has 3 lines of code, and that files is used by exactly 1 other file somewhere else? why??? just loving put the 3 lines where you need it until you actually do need to re-use those 3 lines. Jesus Christ.

animist
Aug 28, 2018

eschaton posted:

but what is a computer really but a whole bunch of terrible programming

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER



sounds like you've hired neckbeard enterprise programmers with emphasis on enterprise

Carthag Tuek
Oct 15, 2005

altid pamo når du går
veje du burd' kende
overleved' barneår
lig' til livets ende

you shouldnt put your code in json files, kevin

PleasureKevin
Jan 2, 2011

Krankenstyle posted:

you shouldnt put your code in json files, kevin

it's actually .js files but I thought I'd get less mockery by saying it was json.

Soricidus
Oct 20, 2010
freedom-hating statist shill

Powerful Two-Hander posted:

imagine I quoted the poster from the last time this came up:

i just click "build" in VS and kick back :smug:

tell us more about the ci system that uses presumably a little robot to click build in vs, it sounds fun

Carthag Tuek
Oct 15, 2005

altid pamo når du går
veje du burd' kende
overleved' barneår
lig' til livets ende

PleasureKevin posted:

it's actually .js files but I thought I'd get less mockery by saying it was json.

you lie

Adbot
ADBOT LOVES YOU

Aramoro
Jun 1, 2012




PleasureKevin posted:

it's actually .js files but I thought I'd get less mockery by saying it was json.

You'd get less mockery if you were a less terrible programmer but we are where we are.

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