I actually researched my list, most the technologies were used internally for years and either publically released after better public alternatives had been adopted or it seems buzz reached me years after Google’s first release.
Between 2012-2015 I used to consult on Apache Ivy projects (ideally moving them to Maven and purging the insanity people had written). As a result I would get called in when project had dependency issues.
The biggest culprits were Guava/GSon, projects would often choose to use them (because Google) and then would discover a bug that had been fixed in a later patch release (e.g. they used 2.2.1 and 2.2.2 had the fix). However the reason they used 2.2.1 was because a library they needed did. Bumping up the version usually caused things to break.
The standard solution was to ask’why’ they needed Guava/GSon and everytime you would find they are usually some function found in one of the Apache Commons libraries. So I would pull down the commons library rewrite the bit (often they worked identically)
Fun story in 2016-2017 I got called to consult on a lot of Gradle projects to fix the same kind of stupid things people did with Apache Ivy. Ivy knew the Gradle ‘feautres’ were a massive headache in 2012 and told you not to use Maven for those reasons. Ce La vie.
I actually researched my list, most the technologies were used internally for years and either publically released after better public alternatives had been adopted or it seems buzz reached me years after Google’s first release.
Between 2012-2015 I used to consult on Apache Ivy projects (ideally moving them to Maven and purging the insanity people had written). As a result I would get called in when project had dependency issues.
The biggest culprits were Guava/GSon, projects would often choose to use them (because Google) and then would discover a bug that had been fixed in a later patch release (e.g. they used 2.2.1 and 2.2.2 had the fix). However the reason they used 2.2.1 was because a library they needed did. Bumping up the version usually caused things to break.
The standard solution was to ask’why’ they needed Guava/GSon and everytime you would find they are usually some function found in one of the Apache Commons libraries. So I would pull down the commons library rewrite the bit (often they worked identically)
Fun story in 2016-2017 I got called to consult on a lot of Gradle projects to fix the same kind of stupid things people did with Apache Ivy. Ivy knew the Gradle ‘feautres’ were a massive headache in 2012 and told you not to use Maven for those reasons. Ce La vie.