2011-01-13 7 views
2

Ich würde gerne in der Lage sein Dinge zu tun, wie die Verzeichnis und Datei Namen von einem vollständigen Pfad in Hudson/Jenkins Gelee-Skript zu trennen.Pfadfunktionen für Jelly-Skript verfügbar?

Zum Beispiel, wenn ich /dir1/dir2/dir3/file.ext Ich möchte (in Jelly-Skript) erhalten Zugriff auf /dir1/dir2/dir3 und file.ext.

Sind die Java-Funktionen wie getPath() und getName() für Jelly-Skripte verfügbar?

Antwort

0

Dion Gillards Jelly: Executable XML Deck war wirklich hilfreich bei der Aussortierung. Von den Dias erfuhr ich über die invoke (und invokeStatic) Tags, die genau das waren, was ich brauchte. Die Apache FilenameUtils class hat einige sehr schöne statische Methoden für den Umgang mit Dateinamen und es ist in Hudson enthalten.

<j:jelly xmlns:j="jelly:core"> 
    <j:set var="fullpath" value="/dir1/dir2/dir3/file.ext"/> 

    <!-- get the path without the filename --> 
    <j:invokeStatic var="justpath" method="getPath" className="org.apache.commons.io.FilenameUtils"> 
    <j:arg value="${fullpath}"/> 
    </j:invokeStatic> 

    <!-- get just the filename --> 
    <j:invokeStatic var="justname" method="getName" className="org.apache.commons.io.FilenameUtils"> 
    <j:arg value="${fullpath}"/> 
    </j:invokeStatic> 
</j:jelly> 

In dem obigen Beispiel JUSTPATH ​​ wird-/dir1/dir2/dir3/ und justname gesetzt wird, um file.ext eingestellt werden.

Verwandte Themen