Jak mogę uzyskać wartość aktualnej docelowej ant?Jak mogę uzyskać wartość aktualnej mrówki docelowej?
Czy istnieje specjalna zmienna o nazwie TARGET?
Jak mogę uzyskać wartość aktualnej docelowej ant?Jak mogę uzyskać wartość aktualnej mrówki docelowej?
Czy istnieje specjalna zmienna o nazwie TARGET?
Chyba nie można, chyba spędzić trochę czasu kodowania własnych zadań własnych (http://ant.apache.org/manual/tutorial-writing-tasks.html)
Wbudowany właściwości można wyświetlać są: basedir, ant.file, ant.version, mrówka. project.name, ant.java.version
po uruchomieniu ant pomocą -projecthelp
Arg
ant -projecthelp
dostaniesz listę głównych celów określonych w build.xml (lub inny plik build jako zadeklarowane w linii poleceń).
podstawie the issue trzeba załatać ant lub używanego javascript:
<target name="test">
<script language="javascript">
project.setNewProperty("current_target", self.getOwningTarget());
</script>
<echo>${current_target}</echo>
</target>
Użycie 'setNewProperty()' potraktuje '$ {current_target}' jako niezmienny (tak jak zwykle działa Ant). Jeśli chcesz nadpisać wartość '$ {current_target}', użyj zamiast tego 'setProperty()'. – Scribblemacher
W mrówek 1.8.2 można użyć $ {ant.project.invoked-cele}
Jednak patrząc na popełnić logi http://svn.apache.org/viewvc?view=revision&revision=663061 Zgaduję produkty dostępne od 1.7.1
Pokazuje tylko cele, które zostały początkowo uruchomione, a nie cel, w którym aktualnie się znajdujesz. –
Moja odpowiedź, używając antcontrib
<macrodef name="showtargetname">
<attribute name="property"/>
<sequential>
<!-- make temporary variable -->
<propertycopy name="__tempvar__" from="@{property}"/>
<!-- Using Javascript functions to convert the string -->
<script language="javascript"> <![CDATA[
currValue = [project-name].getThreadTask(java.lang.Thread.currentThread()).getTask().getOwningTarget().getName();
[project-name].setProperty("__tempvar__", currValue);
]]>
</script>
<!-- copy result -->
<var name="@{property}" value="${__tempvar__}"/>
<!-- remove temp var -->
<var name="__tempvar__" unset="true"/>
</sequential>
</macrodef>
Zastosowanie:
<showtargetname property="mycurrenttarget"/>
Nazwa bieżącego celu uruchomiony? – rodrigoap