Friss meine Hose!

Pants 1.0 – Twitter veröffentlicht neues Build-Tool

Dominik Mohilo

© 2016 Twitter, Inc.

Bereits seit fünf Jahren arbeiten die Entwickler bei Twitter an ihrem eigenen Build-Tool. Mit der nun veröffentlichten Version 1.0 von Pants liegt das erste Major Release des Werkzeugs vor. Twitter hat damit den gleichen Weg eingeschlagen wie etwa Google, deren Entwickler mit Bazel ein Programm für den Erstellungsprozess geschrieben haben, das haargenau auf die Bedürfnisse des Unternehmens angepasst wurde.

Am Anfang von Pants stand ein Problem: Das Problem der Skalierbarkeit. Da Twitters Codebasis in einem einzigen großen Repository (monorepo) untergebracht ist, waren die bis dahin verwendeten quelloffenen Build-Tools (Apache Ant und Maven) nicht mehr in der Lage, den Anforderungen des Unternehmens gerecht zu werden. Auch Alternativen wie Bazel oder Buck kamen nicht in Frage, denn die waren zu diesem Zeitpunkt noch closed source. Die Idee, ein eigenes Build-Tool zu entwickeln, mit denen sich die Skalierungsprobleme beheben ließen, war geboren. Bereits im Jahr 2012 wurde Pants schließlich als quelloffenes Projekt vorgestellt.

Die Features von Pants

Mit Pants lassen sich große Monorepos mit einem sehr umfangreichen und feinkörnigen Abhängigkeitsmanagement erstellen und verwalten. Inkrementelle Kompilationen und Concurrent Task Execution sind ebenfalls wichtige Bestandteile des Build-Tools. Pants ist dabei polyglott und unterstützt eine Vielzahl an Programmiersprachen: Java, Python, JavaScript, Go, Scala, C/C++ und Thrift sind nur einige davon. Die Unterstützung eines Rich-Plug-in-APIs sowie die Möglichkeit, schnelle und reproduzierbare Builds anzulegen, sind weitere Kernelemente.

Da viele Entwickler bei Twitter offenbar die Entwicklungsumgebung IntelliJ IDEA verwenden, ist ein sehr gut betreutes IntelliJ Pants Plug-in erhältlich, das Pants-Projekte so importiert, dass die Entwicklungsumgebung sie versteht. Es wird sogar eine compile/test-Assistenz bereitgestellt, die darauf basiert, wie IntelliJ die Projektstruktur erkennt.

Twitter Pants 1.0

Mit dem aktuellen Update wurden die öffentlichen APIs stabiler gemacht. Zudem ist die Nutzung von caching by default möglich geworden. Die Deprecation Policy von Pants wurde für Version 1.0 ebenfalls überarbeitet und ist nun klar und konsistent. Zudem wurden einige unnötige Konfigurationen entfernt, um das Setup einfacher zu gestalten.

Zukünftig, so Twitter, soll die Entwicklung von Pants voranschreiten, wobei besonders die Verbesserung der Performance und der Unterstützung im Bereich Mobile-Entwicklung im Fokus stehen. Weitere Informationen zu Pants gibt es auf der Web-Seite des Projektes und auf GitHub.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: