Bonjour,

Je suis actuellement en train d'essayer de faire un paquet pour iReport (http://jasperforge.org/projects/ireport).
Mais avant de pouvoir attaquer le paquet, il faudrait déjà que j'arrive à compiler le projet à partir des sources et qu'il soit fonctionnel

Je ne pense pas que dans un paquet, on puisse faire appel à Netbeans, j'ai donc écrit des fichiers build.xml afin d'utiliser ant.

voici un exemple pour heartbeat.jar :
<project default="jar">

  <!-- Java classpath addition (all jar files to compile tests with this) -->
  <path id="classpath">
    <fileset dir="../ireport-designer/build/jar/">
      <include name="ireport-designer.jar"/>
    </fileset>

    <fileset dir="/usr/share/netbeans/6.8/platform11/modules/">
      <include name="org-openide-windows.jar"/>
    </fileset>

    <fileset dir="/usr/share/netbeans/6.8/platform11/lib/">
      <include name="org-openide-modules.jar"/>
      <include name="org-openide-util.jar"/>
    </fileset>
  </path>

  <target name="clean">
    <delete dir="build/classes"/>
    <delete dir="build/jar"/>
  </target>

  <target name="compile" depends="clean">
    <mkdir dir="build/classes"/>
    <javac srcdir="src" destdir="build/classes" classpathref="classpath"/>

    <copy todir="build/classes">
         <fileset dir="src">
              <exclude name="**/*.java"/>
            </fileset>
    </copy>
  </target>

  <target name="jar" depends="compile" >
    <tstamp/>
    <manifest file="MANIFEST.MF">
      <attribute name="Built-Date" value="${TODAY}"/>
    </manifest>
    <mkdir dir="build/jar"/>
    <jar destfile="build/jar/heartbeat.jar" 
     basedir="build/classes" 
     includes="**/*.*"
     manifest="MANIFEST.MF" />
  </target>

</project>
La partie compilation des sources fonctionne et me produit bien des jars semblables à ceux téléchargeable directement.

Malheureusement, cela ne fonctionne pas à cause, je pense, du fichier MANIFEST.MF le mien est quasi vide :
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 14.0-b16 (Sun Microsystems Inc.)
Built-Date: January 16 2011
alors qu'il devrait être comme cela :
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 11.2-b01 (Sun Microsystems Inc.)
OpenIDE-Module-Public-Packages: -
OpenIDE-Module-Module-Dependencies: com.jaspersoft.ireport/1 > 1.0, org.openide.modules > 7.3.1, org.openide.util > 7.10.1.1, org.openide.windows > 6.18.1
OpenIDE-Module-Java-Dependencies: Java > 1.5
OpenIDE-Module-Implementation-Version: 101031
AutoUpdate-Show-In-Client: true
OpenIDE-Module: com.jaspersoft.ireport.heartbeat
OpenIDE-Module-Install: com/jaspersoft/ireport/heartbeat/Installer.class
OpenIDE-Module-Localizing-Bundle: com/jaspersoft/ireport/heartbeat/Bundle.properties
OpenIDE-Module-Specification-Version: 1.0
OpenIDE-Module-Requires: org.openide.modules.ModuleFormat1
il y a bien un fichier manifest.mf fourni dans les sources qui contient :
Manifest-Version: 1.0
OpenIDE-Module: com.jaspersoft.ireport.heartbeat
OpenIDE-Module-Install: com/jaspersoft/ireport/heartbeat/Installer.class
OpenIDE-Module-Localizing-Bundle: com/jaspersoft/ireport/heartbeat/Bundle.properties
OpenIDE-Module-Specification-Version: 1.0
Malheureusement, je ne sais comment recopier ce qui est fourni dans le manifest.mf des sources dans celui que je génère et gérer ces dépendances : OpenIDE-Module-Module-Dependencies
Je ne pense pas qu'ajouter une sucession de <attribute name="..." value "..."> en dur soit la solution, mais je n'arrive pas à en trouver d'autres.

Savez vous comment générer proprement un fichier MANIFEST.MF avec les infos OpenIDE-* renseignées ?
Malheureusement, le build.xml donné correspond à une version de ireport vieille de 2 ans.

Seul iReport for netbeans est maintenu. Et de ce fait le build.xml fourni nécessite netbeans et est plutot incompréhensible pour moi.

C'est la raison pour laquelle, je suis reparti de zéro. il me reste le souci du manifest.mf