AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Thema durchsuchen
Ansicht
Themen-Optionen

[Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

Ein Thema von Luckie · begonnen am 7. Sep 2011 · letzter Beitrag vom 12. Sep 2011
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 8. Sep 2011, 09:56
Äh ja, hätte ich auch drauf kommen können.

Mein Aufruf sieht jetzt so aus:
Code:
ant -f "C:\Dokumente und Einstellungen\mp\Eigene Dateien\Datawerk\Projekte\Java Unit Testing Build Automation\Demos\AntClover\build.xml" CloverSetup Cleanup BuildProject UnitTests CloverReportHTML CloverReportXML > build.log
pause
Aber in der Logdatei steht nur
Zitat:
Buildfile: C:\Dokumente und Einstellungen\mp\Eigene Dateien\Datawerk\Projekte\Java Unit Testing Build Automation\Demos\AntClover\build.xml

CloverSetup:
Und passieren tut auch nichts.

Was könnte ich denn noch falsch machen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 9. Sep 2011, 10:52
OK, irgendwas mit Clover stimmt da nicht. Ich habe es mal rausgenommen.
Code:
ant Cleanup BuildProject UnitTests CloverReportHTML CloverReportXML > build.log
So jetzt findet er die JUnit nicht. ich habe schon alle Varianten ausprobiert mit <classpath>. Aber es will nicht.
Zitat:
[javac] [loading java\lang\Object.class(java\lang:Object.class)]
[javac] C:\Dokumente und Einstellungen\mp\Eigene Dateien\Datawerk\Projekte\Java Unit Testing Build Automation\Demos\AntClover\srcTest\CalcTest.java:7 : package org.junit does not exist
[javac] import static org.junit.Assert.*;
Code:
<classpath>
      <pathelement path="${classpath}"/>
      <pathelement location="lib/helper.jar"/>
    </classpath>
Zitat:
failed to create task or type classpath Cause: The name is undefined.
Wie macht man es richtig?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#3

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 9. Sep 2011, 11:45
Die Dokumentation zum JUnit Task in Ant ist hier:

http://ant.apache.org/manual/Tasks/junit.html

es gibt fünf Möglichkeiten, die erste ("Put both junit.jar and ant-junit.jar in ANT_HOME/lib") ist am einfachsten.

Die vierte, mit <classpath> Anweisungen für beide JUnit Dateien (junit.jar und ant-junit.jar), geht nur innerhalb eines taskdef Elements, d.h. man würde junit als neuen Task definieren, das geht, ist aber umständlich weil es junit als Task ja schon gibt.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 9. Sep 2011, 11:51
ja, die Doku habe ich auch gefunden, nur war sie nicht sehr hilfreich.

Ich habe es jetzt so probiert:
Code:
<path id="classpath.junit">
       <pathelement location="C:/Programme/Eclipse/plugins/org.junit4_4.3.1/junit.jar" />      
   </path>

<target name="UnitTests">      
      <junit printSummary="true" showOutput="true">
         <classpath refid="classpath.junit" />
         <formatter type="brief" usefile="false"/>
         <classpath >
            <pathelement location="${bin_dir}"/>         
         </classpath>
         <batchtest>
            <fileset dir="${bin_dir}">
               <include name="*Test.class"/>
            </fileset>
         </batchtest>         
      </junit>
   </target>
Das will auch nicht.

Eigentlich wollte ich es ja vermeiden Dateien rumzukopieren. Werde ich aber dann wohl machen.

Vielen Dank für deine Hilfe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#5

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 9. Sep 2011, 11:58
Ich habe es jetzt so probiert:
Code:
...      
      <junit printSummary="true" showOutput="true">
         <classpath refid="classpath.junit" />
         ...
         </batchtest>         
      </junit>
Das will auch nicht.
Das classpath Element innerhalb von junit ist nur dazu da, den classpath zu setzen den die von junit kompilierten und ausgeführten Klassen benötigen.

Den classpath von junit kann man hier nicht mehr setzen, das muss schon vorher geschehen, damit JUnit überhaupt ausgeführt werden kann. u.a. kann man auch Ant per -lib Parameter den Pfad zu JUnit übergeben, dann muss man keine Dateien kopieren.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 9. Sep 2011, 12:00
Ich habe sie jetzt einfach kopiert. Geht. Jetzt muss ich nur noch Clover mit Ant zum laufen bringen. Da verabschiedet er sich einfach:
Zitat:
Buildfile: C:\Dokumente und Einstellungen\mp\Eigene Dateien\Datawerk\Projekte\Java Unit Testing Build Automation\Demos\AntClover\build.xml

Cleanup:
[delete] Deleting C:\Dokumente und Einstellungen\mp\Eigene Dateien\Datawerk\Projekte\Java Unit Testing Build Automation\Demos\AntClover\bin\Calc.class
[delete] Deleting C:\Dokumente und Einstellungen\mp\Eigene Dateien\Datawerk\Projekte\Java Unit Testing Build Automation\Demos\AntClover\bin\CalcTest.class

CloverSetup:
Aufruf:
Code:
ant Cleanup CloverSetup BuildProject UnitTests CloverReportHTML CloverReportXML > build.log
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 10. Sep 2011, 07:02
Moin Luckie,

beachte bitte dass Eclipse eine eigene Ant-Installation mitbringt. Wenn du die im Path verlinkt hast, ist alles super und die Libraries sind da. Wenn du aber eine eigene Ant-Installation gemacht hast verwenden Eclipse und dein "normales" Ant verschiedene Library-Verzeichnisse, in denen eventuell nicht alle benoetigten Libraries vorhanden sind.

Ein paar kleine Tipps zu Ant:
  • Das default-Attribut im project-Tag gibt an, welches Target standardmaessig ausgefuehrt wird. Dann brauchst du nur noch "ant" auszufuehren und schon laeuft alles
  • Wenn du den Targets eine Description gibst, kannst du dir mit "ant -p" anzeigen lassen, welche Targets es gibt und was sie machen. Das ist praktisch wenn man mal mit fremden Ant-Files konfrontiert wird. In der Liste werden Targets ohne Description gar nicht angezeigt - so kannst du sie nach aussen hin wenigstens verschleiern.
  • Zu den Classpaths: benutze nie absolute Pfade. Verwende stattdessen die Property ${ant.library.dir} um dich ins lib-Verzeichnis deiner Ant-Installation leiten zu lassen, wo das Zeug liegen sollte.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole

  Alt 12. Sep 2011, 09:44
So, ich habe noch mal von vorne angefangen und in Bamboo für das Projekt einen neuen Plan erstellt, basierend auf dieser Build-XML Datei:
Code:
<?xml version="1.0"?>

<project name="Clover" default="" basedir=".">
   <description>Build file</description>
   
   <property name="src_dir" location="./src"/>
   <property name="srcTest_dir" location="./srcTest"/>
   <property name="bin_dir" location="./bin"/>   
   
   <property name="clover.jar" location="C:/Programme/Clover/lib/clover.jar"/>
   <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/>
      
    <target name="CloverSetup">
      <clover-setup initstring="CloverDB/clover_coverage.db"/>
    </target>

   <target name="Cleanup">
      <delete verbose="true">
         <fileset dir="${bin_dir}">            
             <include name="*.class"/>      
         </fileset>
      </delete>
   </target>
   
   <target name="BuildProject">
      <mkdir dir="${bin_dir}"/>
      <javac destdir="${bin_dir}" verbose="true">         
         <src>
            <pathelement location="${src_dir}"/>
            <pathelement location="${srcTest_dir}"/>
         </src>            
      </javac>
   </target>
   
   <target name="UnitTests">      
      <junit printSummary="true" showOutput="true">         
         <!-- <formatter type="brief" usefile="false"/> -->
         <formatter type="xml"/>
         <classpath >
            <pathelement location="${bin_dir}"/>
            <pathelement path="${clover.jar}"/>
         </classpath>
         <batchtest>
            <fileset dir="${bin_dir}">
               <include name="*Test.class"/>
            </fileset>
         </batchtest>         
      </junit>
   </target>
   
   <target name="CloverReportHTML">
      <clover-report>
         <current outfile="report_html">
            <format type="html"/>
         </current>
      </clover-report>
   </target>
   
   <target name="CloverReportXML">
         <clover-report>
            <current outfile="report_xml\report.xml">
            <!-- <current outfile="C:\Dokumente und Einstellungen\mp\bamboo-home\xml-data\build-dir\FB-TD-JOB1\report.xml"> -->
               <format type="xml"/>
            </current>
         </clover-report>
   </target>
</project>
Diese kann ich mit Ant über die Konsole aufrufen und es wird jede Target ausgeführt. Diese Build-Datei funktionieert also.

Jetzt habe ich mit Bamboo einen neuen Plan erstellt und dort einen Task angelegt, der nur die Target "Cleanup" ausführt. Es wird kein Report generiert. Und nach dem der Plan ausgeführt wurde bekomme ich folgende Fehlermeldung:
Zitat:
No failed tests found, a possible compilation error occurred.
Die Target wurde auch nicht ausgeführt. In dem Verzeichnis befinden sich weiterhin die alten Dateien.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz