Heterogener Build

Hallo zusammen,

gibt es best practices, um heterogene builds sauber in die CI einzubinden? Mit heterogen meine ich hier, dass das Hauptprojekt eine Java Webanwendung ist, in der aber bootstrap mit Anpassungen verwendet wird. Durch die Anpassungen von bootstrap muss auch dessen Build vorher durchlaufen. Dazu würde aber eine nodeJS- und Ruby-Umgebung benötigt. Ruby ginge zwar über JRuby, aber das wäre auch frickelig.
Eine Alternative wäre, ein weiteres Projekt anzulegen, in dem nur die Anpassungen von bootstrap enthalten sind und dafür auch ein eigenes CI-Projekt zu erzeugen. Über artifactory könnte dann das angepasste Paket eingebunden werden. Problematisch dabei wäre die Erzeugung einer jar aus nodeJS heraus, die dann ins Repo geladen werden kann.

Gibt es Alternativen? Was haltet ihr für die eleganteste Lösung?

Viele Grüße
Christian

Bootstrap nicht anpassen und alles nötige sauber über CSS und/oder LESS-Variablen überschreiben?

Du kannst auch einfach ein Mavenplugin nutzen, um via NodeJS alles mit zu bauen.

@TheDarkRose : andere Anpassungen als den LESS (bzw. SASS) Code wird es nicht geben. Allerdings muss der jeweils kompiliert werden, was meinem Kenntnisstand nach in Java nicht so ohne weiteres geht.
Mit dem anrollenden Bootstrap 4 kommt auch noch ein CSS-Postprozessor zum Einsatz, welcher auch eingebunden werden will.

@Sym : der Build läuft grundsätzlich über gradle, sodass mir ein Mavenplugin nichts bringt. Für gradle gibt es auch diverse Plugins, um grunt zu verwenden, die machen auf mich aber keinen allzu stabilen Eindruck. Zumindest habe ich die Integration nicht wirklich sauber hinbekommen. Es läuft zwar, aber ist alles andere als schön.