From: DJ G. <dj...@op...> - 2006-07-08 04:01:18
|
Hey All, I ran into a problem with compiling the Mavenized JNI code in trunk. When I use Continuum to do builds, it puts every separate OpenNMS artifact in its own directory structure. E.g.: dgregor@socks:~/src/continuum/continuum-1.0.3> ls apps/continuum/ working-directory/ 1 11 13 15 17 19 20 22 24 26 28 3 31 33 35 4 6 8 10 12 14 16 18 2 21 23 25 27 29 30 32 34 36 5 7 9 In this case "1" is the main opennms project, "19" is opennms-rrd- rrdtool and "20" is opennms-rrdtool-jni for Linux. The pom.xml file for the "20" project (opennms-rrd-rrdtool for Linux) uses a relative path to refer to some sources that are in the "19" project (opennms-rrd-rrdtool): <source> <directory>../src/main/native</directory> <fileNames> <fileName>rrd_jinterface.c</fileName> </fileNames> </source> This isn't cool, because with the way that Continuum structures things, that path isn't valid relative to the "20" directory (it would need to be ../19/src/main/native in this case). I'm wondering if we should package up the needed source files in the opennms-rrd-rrdtool package and make it a dependency of the per- platform packages. This also seems to make sense in the Maven way of doing things because we would be explicitly spelling out the dependencies between our different packages. Better yet, maybe find a way to do per-platform JNI code without needed to have a separate package for each different architecture. Here's an interesting idea: http://docs.codehaus.org/display/MAVENUSER/Projects+With+JNI Thoughts? - djg |