Bonjour,
J'essaie de créer un bundle OSGi à partir de Ant en me basant sur un tout petit projet Maven. (cf. deploying a POJO into Fuse ESB 4.2, les sources sont sur la page).
Enfin bref, même sans regarder les sources, voici l'arbo du projet:
- src
- main
- java
- com
- progress
- pso
- payments_api
- PaymentsApi.java
- resources
- META-INF
- spring
- bundle-context.xml
- bundle-context-osgi.xml
- log4j.properties
- test
Quand je crée mon jar via maven, ça me récupère tous les fichiers/dossiers du dossier recources et ça me les places à la racine du jar.
Comment je fais pour le faire avec Ant ?
Voilà où j'en suis :
Petite question aussi au passage... Comment je fais pour que mon manifest soit généré à la volée et inséré dans le Jar.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <?xml version="1.0" encoding="utf-8" ?> <project name="payments-api" basedir="." default="main"> <property name="src.dir" value="src/main/java"/> <property name="build.dir" value="build"/> <property name="classes.dir" value="${build.dir}/classes"/> <property name="dist.dir" value="${build.dir}/dist"/> <property name="lib.dir" value="lib"/> <property name="version" value="0.0.1-SNAPSHOT"/> <path id="classpath"> <fileset dir="${lib.dir}" includes="**/*.jar"/> </path> <target name="clean"> <delete dir="${build.dir}"/> </target> <target name="compile"> <mkdir dir="${classes.dir}"/> <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/> </target> <target name="dist" depends="compile"> <mkdir dir="${dist.dir}"/> <jar destfile="${dist.dir}/${ant.project.name}-${version}.jar" basedir="${classes.dir}" manifest="META-INF/MANIFEST.MF"> <manifest> <attribute name="Bundle-Name" value="${ant.project.name}"/> <attribute name="Bundle-Version" value="${version}"/> </manifest> </jar> </target> <target name="run" depends="dist"> <java fork="true"> <classpath> <path refid="classpath"/> <path location="${dist.dir}/${ant.project.name}-${version}.jar"/> </classpath> </java> </target> <target name="clean-build" depends="clean,dist"/> <target name="main" depends="clean,run"/> </project>
Je suis sûr que c'est pas trop compliqué, mais je sais même pas quoi chercher surtout sur Google...
Merci d'avance.
PS : En fait mon .jar va simplement contenir tout ce qui se trouve dans le dossier java (sous forme compilé) et tout ce qui se trouve dans le dossier resources... "côte à côté"...
Partager