Skip to content

Instantly share code, notes, and snippets.

@chb0github
Last active Jul 19, 2017
Embed
What would you like to do?
Delete me

Maven v Gradle

  • Gradle is definitely a functionally superior tool
  • Gradle is dramatically faster to build - small multi-modules builds this is insignificant
  • Many of Gradle's benefits are edge case or non-applicable
  • Gradle uses DSL and has a very steep learning curve.
  • DDL in maven means there is little question of what's expected
  • DSL requires constant hunting on the internet and inside code
  • Gradle uses Groovy which wil run java code but isn't Java - It's definitely it's own language
  • Generic build tool for doing specific Java build/release
  • Standard build/release steps for Java are not supported natively (maven release:prepare release:perform) and 3rd party plugins take wildly divergent approaches
  • Some Gradle features are 'geeks-gone-wild' and serve no actual benefit. Eg. custom defined dependency scope
  • No real expertise on Gradle.

Use of master/dev branches v 1 branch

  • When you have a single release artifact (jar or docker image) multiple branches only add to the complication
  • SNAPSHOTs allow for sharable artifacts without production releases
  • Axiom: Sterling employees are your customers too! Don't release for company integration anything that isn't production ready.
  • always release on master - chose which artifact deploys to which env.
  • Default branch to be master

Coding standards what’s working and not

  • Sorting imports is dumb

Commit/merge privs

  • We are all grown ups. You break it, you buy it
  • No one is special

Tech debt

  • Custom Error handlers a re producing the wrong messages and codes
  • Custom end points
  • Not using event driven programming
  • No framework in place to keep microservices in sync
  • No configuration discovery
  • No service discovery
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment