[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

jh_build / maven build process



hi,

I am in the process of updating the libjsyntaxpane-java package.
The new version is built using maven ("mvn package") upstream.

In the current libjsyntaxpane-java build, the META-INF/** files do not
end up in jsyntaxpane.jar: e.g.:
META-INF/services/jsyntaxpane/syntaxkits/bashsyntaxkit/config.properties
is missing.

The current build system calls jh_build which does this:
  find src/main/java -name *.java -and -type f -print0 | xargs -0 /usr/lib/jvm/default-java/bin/javac -cp :debian/_jh_build.jsyntaxpane -d debian/_jh_build.jsyntaxpane -source 1.5 -target 1.5
  [...]
  /usr/lib/jvm/default-java/bin/jar cfm /tmp/y/libjsyntaxpane-java/jsyntaxpane.jar ../_jh_manifest.jsyntaxpane jsyntaxpane

I tried to set JH_JAR_EXTRA=src/main/resources in debian/rules, but then
I get this directory structure in the jar:
src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/bashsyntaxkit/config.properties
(the src/main/resources needs to be stripped off)

I can hack around the problem using this:
override_dh_install:
        (cd src/main/resources && jar uf ../../../jsyntaxpane.jar META-INF)
        dh_install

With this change, both packages depending on the new libjsyntaxpane-java
(umlet and freeplane) work. But is there a cleaner solution?

I also read here: http://wiki.debian.org/Java/Packaging that:
"jh_build is a very simple build system provided by javahelper for
packages which don't come with an upstream build system or come with a
broken one"
--> so shall I switch to maven-debian-helper for the package?
I tried to run "mh_make", but it seems the maven-jflex-plugin is
missing in debian :-/ => so maybe the solution above is ok?

Thanks and Best Regards,
-- 
Felix Natter


Reply to: