Skript starten nach Build

Alles zur oder um die NetBeans IDE

Moderator: wegus

Antworten
GBunge
Beiträge: 33
Registriert: 25.05.2013, 12:54

Skript starten nach Build

Beitrag von GBunge » 23.06.2015, 19:43

Hallo,
momentan entwickle ich eine Java-Library, die ich nach dem Build im Ordner /usr/local/lib speichern will.
Nun habe ich irgendwo gelesen, daß man ein eigenes Skript sowohl vor dem eigentlichen Build-Prozess, als
auch danach automatisch von der IDE starten lassen kann.
Das Kopieren des Library-JARfiles in den Ordner möchte ich durch ein Skript erledigen lassen.

Allerdings hat mein 'googeln' dazu nichts gebracht.

Desshalb nun zwei Fragen.
1. wie teile ich der IDE mit, daß da ein Skript ausgeführt werden soll.
2. kann das Skript ein Bash-Script sein?

Gruß GBunge

Benutzeravatar
wegus
Beiträge: 458
Registriert: 26.09.2006, 09:07

Re: Skript starten nach Build

Beitrag von wegus » 24.06.2015, 07:38

schau in die build.xml Deines Projektes (Ist in der Files Ansicht zu sehen)! Dort siehst Du die verschiedenen Ankerpunkte (events) zu denen Du Aktionen definieren kannst. Dies ist die Steuer-Datei für ant. Du kannst jede Art von ant-task an diesen stellen selbst definieren. Es gibt auch erweiterte Ant-Tasks die dann scp statt nur copy zulassen etc. Einführungen in ant gibt es viele im Web. Eine hab ich auf die Schnelle hier gefunden: https://ant.apache.org/manual/tutorial- ... thAnt.html
Wenn etwas zu einfach klingt um wahr zu sein, dann ist es oft auch nicht wahr!

GBunge
Beiträge: 33
Registriert: 25.05.2013, 12:54

Re: Skript starten nach Build

Beitrag von GBunge » 24.06.2015, 11:58

Hallo wegus,

Deinen Hinweis ( link ) habe ich verinnerlicht.
Darauf habe ich im build.xml folgendes geändert:

An example of overriding the target for project execution could look like this:

<target name="run" depends="SimpleTest2-impl.jar">
<exec dir="bin" executable="launcher.exe">
<arg file="${dist.jar}"/>
</exec>
</target>

Notice that the overridden target depends on the jar target and not only on
the compile target as the regular run target does. Again, for a list of available
properties which you can use, check the target you are overriding in the
nbproject/build-impl.xml file.
Um die Angelegenheit richtig zu verstehen, habe ich in meinem HOME
eine Bash-Datei ( executable ) 'hallo.sh' gespeichert.
Dann habe den XML-Code abgeändert in:

Code: Alles auswählen


   <target name="-post-jar" depends="SimpleTest2-impl.jar">
        <exec dir="/Users/gb" executable="hallo.sh">
        </exec>
    </target>

Wenn ich danach in der IDE 'Run | Clean and Build Main Project' aufrufe,
kommt folgender Fehler, den ich nicht ganz verstehe:

Code: Alles auswählen

ant -f /Users/gb/NetBeansProjects/SimpleTest2 -Dnb.internal.action.name=rebuild clean jar
Circular dependency: -do-jar <- SimpleTest2-impl.jar <- -post-jar <- -do-jar
BUILD FAILED (total time: 0 seconds)
Offensichtlich mache ich nocht etwas total falsch!

Ich hoffe Du kannst mir nochmals helfen.

Gruß GBunge

Benutzeravatar
wegus
Beiträge: 458
Registriert: 26.09.2006, 09:07

Re: Skript starten nach Build

Beitrag von wegus » 24.06.2015, 12:41

Wieviele Jars erstellst Du denn?
Wenn es nur eines ist, dann nimm doch mal das

Code: Alles auswählen

depends
tag aus dem task raus! Alternativ um Probleme beim ausführen des Shellskripts auszuklammern ( danach klingt die Fehlermeldung ja aber nicht) führe erstmal statt des Skriptes ein einfache echo in dem task aus:

Code: Alles auswählen

<echo>executing a script here</echo>
Wenn etwas zu einfach klingt um wahr zu sein, dann ist es oft auch nicht wahr!

Benutzeravatar
wegus
Beiträge: 458
Registriert: 26.09.2006, 09:07

Re: Skript starten nach Build

Beitrag von wegus » 24.06.2015, 15:15

Jedenfalls tut es bei mir ein

Code: Alles auswählen

    <target name="-post-jar">
            <echo>###Zippen ist fertig!</echo>
    </target>
Wenn etwas zu einfach klingt um wahr zu sein, dann ist es oft auch nicht wahr!

GBunge
Beiträge: 33
Registriert: 25.05.2013, 12:54

Re: Skript starten nach Build

Beitrag von GBunge » 25.06.2015, 10:37

Hallo wegus,

erst mal Dank für schnelle Antworten.
Es klappt jetzt, so wie ich es möchte.
Versuchshalber habe ich das 'depends' wieder reingenommen.
Da kam wieder der gleiche Fehler.

Weiterhin viel Spass mit Java!

Gruß GBunge

GBunge
Beiträge: 33
Registriert: 25.05.2013, 12:54

Re: Skript starten nach Build

Beitrag von GBunge » 26.06.2015, 12:46

Hallo wegus,
spontan fällt mir noch eine Frage ein und ich hoffe, auch diese kannst Du mir beantworten.
In der IDE aktiviere ich 'Package as' um ein Bundle für den Mac anzulegen.
Mein gebildetes 'SimpleTest.app' kopiere ich gern in einen Ordner, in dem ich alle fertigen Java.app's speichere.

Die Frage ist nun, gibt es eine Möglichkeit auch das zu automatisieren?
Wird 'Package as' ebenfalls durch ein XML-File kontrolliert, das man wie das
'build.xml' erweitern kann?

Gruß GBunge

Benutzeravatar
wegus
Beiträge: 458
Registriert: 26.09.2006, 09:07

Re: Skript starten nach Build

Beitrag von wegus » 30.06.2015, 07:35

moin,
also nach dem was hier in Abschnitt 7.8 steht:

http://docs.oracle.com/cd/E40938_01/doc ... _japps.htm

Ist das ein ant-Task der sich den fxpackager von Java zu Nutze macht. Wo genau dieser Task liegt, dass ist mir aber auch unklar! Ich habe schon so manches mal versucht einen manuellen eigenen packaging task zu schreiben eben um ihn zu individualisieren. Da sind aber einige Dinge zu berücksichtigen.
Wenn etwas zu einfach klingt um wahr zu sein, dann ist es oft auch nicht wahr!

Antworten