Pi-hole: Custom DNS entry

Via, and.

IntelliJ: Gradle task mit jedem Reimport ausführen

IntelliJ bietet per Rechtsklick die Möglichkeit, Trigger für Tasks anzuhaken (Screenshot aus der Doku geklaut):

Via build.gradle kann man das über das Plugin “gradle-idea-ext-plugin” automatisieren – im Rootprojekt:

Und im Unterprojekt dann:

Achtung, in DSL spec v. 0.2 heißt es

  • beforeSync – before each Gradle project sync. Will NOT be executed on initial import

ka, aber spätestens danach funktioniert es.

Ubuntu/AdoptOpenJDK: Zertifikat importieren

Obacht: Den Alias darf (sollte) man anpassen, aber das Passwort ist tatsächlich “changeit” 🙃

WiX: Escape echo

CustomAction führt ein Kommando aus, und das ist bspw. ein Shell-Befehl. In diesem Fall ein echo in eine Datei:

Will man als Teil von “foobar” jetzt Sonderzeichen mit ausgeben, muss man XML-, WiX-/MSI-, und CMD-Escaping kombinieren – oder man hält sich einfach eine Waffe an den Kopf, das geht schneller:

  • " gibt " aus, & ein & – so weit, so klar. Wenn man davon absieht, dass & eigentlich auch ein CMD-Steuerzeichen ist 🤷🏼‍♂️
  • ^&lt; gibt ein < aus, ^&gt; ein > (man beachte die ^, via)
  • [\[] gibt [ aus, [\]] ein ] (via)

WiX: Install features options

Das Feature-Element hat einige UI-relevante Attribute, die nicht selbsterklärend sind:

  • Absent='disallow' schaltet “The feature will not be installed” aus – wie man für mandatorische Features das Dropdown insgesamt deaktiviert, weiß ich nicht. Ja, man kann das ganze Feature verstecken (Display='hidden'), aber nicht nur das Dropdown 🤷🏻‍♂️
  • AllowAdvertise='no' schaltet “The feature will be installed when needed” aus
  • “The feature and all of its subfeatures will be installed locally” (in früheren Versionen auch “Entire feature will be installed on local hard drive”) kann laut Internet nicht entfernt werden… andere Quellen legen nahe, dass man das über die Subfeatures und Komponenten steuert, aber ich hatte damit keinen Erfolg.

Gradle: Replace in Copy task

Eine Ersetzung:

Mehrere Ersetzungen:

via

Vagrant Invalid value VBOXSVGA

VBoxManage.exe: error: Error in (line 120) — Invalid value ‘VBOXSVGA’ in Display/@controller attribute.

Kann offenbar passieren, wenn eine VM unter Linux erstellt und dann unter Windows gestartet wird. Lösung: Die .ovf-Datei der VM öffnen, und

in

ändern. Beides von hier.

PowerShell: Zertifikatsprüfung deaktivieren

via. PS, in einem Vagrantfile so zu escapen – man beachte auch die Einrückungen:

HTH

Gradle: Include/exclude tests

Exclude set of tests (via) and/or categories:

Pass collection from shell (via, and):

Run single test only (via):

Exclude all tests from build task:

to be completed