Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "gradle"
make code change
try to re run server
java, tomcat, gradle , eclipse, just kill me, dont torture me like this1
Why the fuck is gradle so horrible.
I literally have no idea why anyone would ever use this thing (other than being forced too because somehow the rest of the world is using it).
Every plugin has an arbitrary DSL that you have to magically know by piecing together enough snippets. At that point, no one is actually intuiting anything based on the beauty of the DSL, every build is a frankenstein of different snippets that were pasted from different versions of gradle blog posts or SO posts.
And if you do get it o work then the DSL changes, or it isn't compatible with another plugin.
I just want to write a fucking integration test in Kotlin. Can I just add an `integrationTest` task in `tasks` right next to `tasks.test`? No, obviously it goes in the `kotlin jvm() compilations` section, DUH.
The first thing anyone in the universe should have asked is "how is this better than literally hand writing a makefile"? At least then I would be able to see the commands that it ran.
Now I'm googling how to make the new jvm-test-suite plugin work when you're using the Kotlin plugin but every single result on Google for `jvm-test-suite kotlin` just returns the docs for jvm-test-suite (whose snippets obviously didn't work in my project) because those doc pages have "Kotlin" written above each of the gradle snippets.
Please just end this.
Oh and dev rant sucks too. It thinks anything separated by dots in a url.3
So I made an update to my React Native app. I changed UI of a couple of screen, added a few animations here and there, refactored how my graphQL resolvers work in the backend(no breaking changes), changed how data gets loaded into the database etc.
It worked in dev so I figured hey let's deploy it. Today is(was because it's now 3am but more on that later) a national holiday so no one goes to work so no one will use my app so I have an entire day to deploy.
I started at 15:00(because i woke up at 13:00 lol). I tested the update once again in dev and proceeded to deploy it to prod. I merged backend to master, built docker images, did migrations on the db, restarted docker-compose with new images. And now for the app. I run ./gradlew assembleRelease and it starts complaining that react-native-gesture-handler is not installed. Ugh, rm -rf node_modules && yarn install. It worked. But now gradlew crashes and logs don't tell me anything. Google tells me to change a bunch of gradle settings but none of them work. Fast forward 5h, it's around 20:00 and I isolated the issue to, again, react-native-gesture-handler. They updated from 2.2.4 to 2.3.0 which didn't fucking compile. 2 more hours passed (now 22:00) and I got v2.3.1 working which fixed the problem in 2.3.0 but made my app crash on startup. YOUR FUCKING LIBRARY GETS 250K WEEKLY DOWNLOADS AND YOU DONT EVEN BOTHER CHECKING IF IT COMPILES IN PROD ON ANDROID?! WHAT THE FUCK software-mansion?
After I solved that, my app didn't crash. Now it threw an error "Type errors: Network Request Failed" every time I fetch my legacy REST API(older parts use rest and newer use graphql. I'll refactor that in the next update). I'll spare you the debugging hell i went through but another 5h passed. Its 3am. My config had misspelled url to prod but good for dev... I hate myself and even more so react-native-gesture-handler.3
after switching job, i have found one particular way of diving into new company's code to be very effective : understanding it as a product first
as a dev i would go straight into the manifest ,yml or gradle files when joining a new company to get the understanding of the codebase as early as possible, and that was my mistake.
say , if the company's product is a food selling app that uses 5 modes of authentication : email, google, fb, mobile and sso, how can i understand the authentication code when I haven't interacted with each of them as a user? I won't know of any further screens, any further logics, steps etc that someone would do as a user , and it would be more effort to understand code without knowing of the outcome first
imho backtracking is a very good way of understanding a system. checkout the outcome first, code later1
so people who are used to automation and ci/cd , how deep you can go? i seem to find ci/cd runners not much powerful than running some gradle commands locally. what am i missing?12
aaagh someone please kill appium and smack my senior dev. dude has been given task about test automation and he's an android dev and don't know why tf can't he use espresso and ui automator.
scaling? yeah buzz off man, you are an android eng for fucks sake, don't worry about ios for now!!! appium is going to need customisation for ios/web counterparts so please, for the love of god, don't make me write one trillion lines of java , xml and a 100 more unnecessary files for making a stupid dismiss notification action 😭😭😭
He's a great engineer. the sheer amount of work he has done in the task is worth a salute. but am just 2 years in the industry and can't stand writing same line twice. And not only does he create those biiiig repetitive xml device list files, but also supports them!
another stupid thing about appium, it follows a project architecture and not a library/framework architecture. this means that unlike junit tests which are written alongside the actual code, they are written in an completely seperate , independent project with its own gradle files and dependencies.
aaagghhh, kill me!! junit test would literally go all read and screaming when a class name is slightly changed. but for appium, it gives no shit about whatever is going with the code. its just going to install the apk, look for the view id, if found it will press it, if not, it will fail the test. no automatic compile time errors !!
and since it is *so much* independent of the underlying projects it wants to test (android/ios/web) , its still stupid in principle!! because no 2 devs ever makes some app in android and ios thinking "oh yes, we should call both the notification view id as notif_view" BECAUSE THE CONCEPT OF VIEW DOES NOT EXIST IN IOS!/WEB! THEY ARE GONNA CALL IT BASED ON WHATEVER THEIR CONCEPT IS!!
i so much feel like joining some public sector service based mnc where i am one of those 1000 yo devs who got nothing better to do than write automation tests in selenium and appium3
i do nothing special or different
gradle & eclipse: those dependencies which were literally just working are now fucked up, please fix me6
building upon the love/hate relationship that I am building with web dev . (prev: https://devrant.com/rants/5111653 and https://devrant.com/rants/5112673/)
in the last 3 weeks, I have been trying (in vain) every weekend to get a hang of HTML/CSS/web dev, and the best I was able to do was to list down the various tags used in head and what element is...
and yesterday I said "fuck this shit, I know bootstrap!" and in last 48 hours I have been able to make a homepage, authentication page (login/signup/forget pwd), a course listing page and playlist screen without a video player.
it's the wrong way of doing front-end, but I made progress :D
at least now I can focus on what I really wanna do, the backend. hope I get some good tutorial/video stuff on spring+gradle+kotlin, I don't really like XML-based java beans and stuff in spring boot.
I know tidbits about node too, but the moment am gonna jump into that shit, I will be bombarded by es5, es6, functions/lambdas/classes doing the same things, jquery, elixir, and what the fuck not.
I had learned java from a teacher in a classroom course, so i kinda know how java works and how to dive into it, but web dev is soo much awkward to dive in, I get totally lost.
however, in retrospect, I feel I do have a little bit of knowledge of being a "fake" web dev 😅 . I checked out some of my old repos and I have been trying to get into "making" web projects since 2019. back then I found a brad traversy's video on Bulma CSS, which said "no CSS knowledge required" and that guy literally just wrote everything in an HTML file and was able to make a beautiful-looking website via just 1 file!
since then I have been practicing with bootstrap and bulma and have really got a knack of using those classes. i still don't understand the magic that goes behind flex or grid, hope i am able to have enough knowledge to create a framework of css or js like these awesome bulma/bootstrap!! 😄😄9
hey guys . i want to learn and make spring based backend that would provide endpoints for db and also serve some webpages . any good /modern resources that could build upon my current knowledge and explain me in a sequential manner?
I make android apps in java/kotlin which uses gradle for compiling dependencies, so i kinda understand some basic java software architecture.
i would prefer gradle/kotlin based tutorials but maven+ java tutorials are also not a problem. my main problem is to get an idea of the various "built in stuff" :
- how the app works?
- how the security works? what are those configs? how can i provide role based access, google authentications, associate security with user based db, etc... (i also don't have much idea about any general backend stuff so theoretical knowledge will also help greatly)
how do beans work? can we avoid their xmls and/or customize them from java code
- how do application.properties work?
i have a lot of questions but every article i read starts with "add this dependency in your project" , "override this class" . like am i just supposed to enable some flags and features automatically get added to my project? doesn't this limit the customisation options?and if they are limited then how much are those customisation options ? i wanna understand them all and then choose the ones that are essential2