Wir haben ein Gradle-Projekt, das das Java-Plugin verwendet, das ein paar Befehlszeilen-Tools hat, die es zu erstellen braucht. Das Projekt wird einfach in ein Jar mit seinen Abhängigkeiten verpackt. Wir möchten dann ein paar Startskripte, um die verschiedenen Einstiegspunkte in diesem Projekt für jedes dieser Tools zu starten.
Natürlich ist das Programm Plugin eine gute Wahl. Deshalb haben wir java in application geändert und ein mainClassName
bereitgestellt, um Startskripte und tar-Distributionen zu erstellen. Dadurch wurde ein einzelnes Anwendungs-Jar erstellt, aber nur ein Satz von Startscripts, die den angegebenen mainClassName verwendeten.
Wie können wir mehrere Startskripte für verschiedene Einstiegspunkte erstellen? (verschiedene mainClassName
's?)
Ein Ansatz, den ich ausprobiert habe, war die Erstellung einiger Unterprojekte, bei denen das -Anwendung -Plugin angewendet wurde und die einzelnen mainClassNames separat spezifiziert wurden
%Vor%Und in den Stammprojekten settings.gradle
referenziert %Vor%Das hat funktioniert - aber jedes Unterprojekt erstellt ein identisches jar (nur mit dem Namen des Unterprojekts benannt) und jeder Unterordner enthält eine Kopie dieses jar plus eine weitere Kopie aller Abhängigkeiten. Das ist ein wenig verschwenderisch. Es könnte auch für einen neuen Entwickler verwirrend sein, die Teilprojekte dort mit all diesen Aufgaben zu sehen und überhaupt keinen Code.
Gibt es einen besseren Weg, Gregle zu sagen, dass es mehrere anwendungsbezogene Aufgaben machen soll, aber den mainClassName für jeden ändern soll, ohne auf leere Unterprojekte zurückgreifen zu müssen?
Danke!
Sie können immer auf die Aufgabenebene zugreifen und die erforderlichen Aufgaben selbst konfigurieren / konfigurieren / verdrahten oder zusätzliche Aufgaben zusätzlich zu dem, was apply plugin: "application"
bietet, deklarieren. Weitere Informationen finden Sie im Kapitel Anwendungs-Plug-in im Benutzerhandbuch zu Gradle, für das entsprechende Aufgaben verfügbar sind.
Tags und Links gradle