Ich gebe zu, ich bin noch ziemlich neu, aber ich hatte nicht erwartet, etwas so Einfaches wie das folgende Beispiel nicht verstehen zu können. Ich kann die grddle Dokumentation über das Überprüfen lesen, ob eine Projekteigenschaft gesetzt worden ist oder nicht, einen hasProperty (Schnur propertyName) Anruf verwendend und ich sitze hier und habe keine Idee, warum etwas so grundlegendes nicht funktioniert.
Ich glaube, mein Geist muss so sehr "ant-like" orientiert sein, dass ich sicher etwas Grundlegendes verpasse.
%Vor%und Aufruf dieser Aufgabe mit dem folgenden Befehl:
%Vor%Meine Fragen wären also:
null
? Dies ist von der Großbuch-Dokumentation und ich glaube, ich lese es richtig
19.2.1. Nach Projekteigenschaften suchen
Sie können auf eine Projekteigenschaft in Ihrem Buildskript zugreifen, indem Sie einfach ihren Namen verwenden, wie Sie eine Variable verwenden würden. Wenn diese Eigenschaft nicht vorhanden ist, wird eine Ausnahme ausgelöst und der Build schlägt fehl. Wenn Ihr Build-Skript auf optionalen Eigenschaften basiert, die der Benutzer möglicherweise festgelegt hat, müssen Sie möglicherweise in einer Datei "gradle.properties" prüfen, ob es existiert, bevor Sie darauf zugreifen. Sie können dies tun, indem Sie die Methode hasProperty ('propertyName') verwenden, die true oder false zurückgibt.
Sie müssen hasProperty
explizit auf der Instanz project
aufrufen - ohne sie wird hasProperty
in einem lokalen Kontext aufgerufen. Das folgende Beispiel funktioniert:
system
ist nicht im Skript definiert) werden aus der project
-Instanz genommen. Wenn Sie die Eigenschaft system
nicht übergeben, wird eine Ausnahme für println
. project.hasProperty('propName')
project
Instanz und Systemeigenschaften über die Klasse System
auf Projekteigenschaften zugreifen. -D
switch - gradle -Dprop=value
Tags und Links gradle