Gabi und Sascha
Kategorien : Alle | Berlin | Bücher | Fotografie | Java | Linkhalde | Weichware | Verfassung
Die nicht ganz verstandenen Dinge

Heute zwei Dinge, die ich noch nicht ganz verstanden habe.

Objects#requireNonNull(…)

Einmal in java.util.Objects#requireNonNull(T obj, String message). Wurde in Java 7 neu ein­ge­führt. Und ich frage mich, warum die message ein String sein muss. Warum nicht Object und darauf toString() aufrufen - wenn es benötigt wird. So muss die Nachricht leider schon vorher zusammen gebaut werden. Das kann eventuell teuer sein. Einzige Erklärung: beim toString()-Aufruf kann natürlich eine Exception auftreten.

dotGitDirectory Parameter im git-commit-id-plugin

Im pl.project13.maven:git-commit-id-plugin muss immer der komplette Pfad zum .git Verzeichnis an­ge­ge­ben werden. Das führt dazu, dass das Plugin in jedem Projekt hinterlegt werden muss - um den dotGitDirectory zu konfigurieren. Dabei kann das .git Verzeichnis doch einfach gesucht und gefunden werden, indem im Verzeichnis­baum nach oben gewandert wird. Irgendwann muss das Verzeichnis ja kommen. Oder die Wurzel des Dateisystems. Noch habe ich keine Ahnung warum das nicht implementiert ist.

Hmm… Vendor branch?