[Debian-med-packaging] openjfx usage in megan-ce

Andreas Tille andreas at an3as.eu
Sat May 20 19:07:16 UTC 2017


Hi Felix,

thanks for your very helpful hints.

On Sat, May 20, 2017 at 07:36:42PM +0200, Felix Natter wrote:
> 
> It seems the CLASS_PATH in debian/rules is not used during build, we
> need to patch "build.classpath" in antbuild/build.xml, like this (last
> patch):
> 
> --- a/antbuild/build.xml
> +++ b/antbuild/build.xml
> @@ -21,7 +21,10 @@
>  
>      <path id="build.classpath">
>          <fileset dir="/usr/share/java/"  includes="jloda.jar"/>
> -
> +        <fileset dir="/usr/share/java/"  includes="colt.jar"/>
> +        <fileset dir="/usr/share/java/"  includes="commons-math3.jar"/>
> +        <fileset dir="/usr/share/java/"  includes="gson.jar"/>
> +        <fileset dir="/usr/share/java/openjfx/jre/lib/ext"  includes="jfxrt.jar"/>
>      </path>
>  
>      <!-- init -->

OK, applied this (and some more according to your hints) which was
helpful so far.
 
> (or, as an alternative, succeed in making build.xml use CLASS_PATH)

Hmmm, any hint from debian-java list?  While the patch works its less
convenient to maintain compared to CLASS_PATH.
 
> Note that you need to include all these libraries in debian/manifest
> too, otherwise the program will fail during runtime (which might not be
> noticed until a particular functionality is used).

Thanks for the hint - I've tried to keep this in sync.
 
> gson and javax are found, now that we change the correct classpath, but
> several other libraries are used:
> 
> build1.log:53:    [javac] import malt.align.SimpleAligner4DNA;
> build1.log:56:    [javac] import malt.util.MurmurHash3;
> 
> --> there is only 'smalt' in Debian?

No, that's really malt[1].  The problem seems to be that malt needs
megan-ce and megan-ce needs malt classes. :-(  No idea how I could
resolve this circular dependency. :-((
 
> build1.log:76:    [javac] import Jama.Matrix;
> 
> --> libjama-java / /usr/share/java/jama.jar

Added.
 
> build1.log:106:    [javac] import com.install4j.api.update.UpdateDescriptorEntry;
> 
> --> probably not in Debian?

I'll checkout whather I can find the source.  Upstream provides some JAR

    https://github.com/danielhuson/megan-ce/blob/master/jars/i4jruntime.jar
 
> build1.log:115:    [javac] import org.controlsfx.control.spreadsheet.SpreadsheetView;
> build1.log:144:    [javac] import org.controlsfx.control.spreadsheet.GridBase;
> build1.log:147:    [javac] import org.controlsfx.control.spreadsheet.SpreadsheetCell;
> build1.log:150:    [javac] import org.controlsfx.control.spreadsheet.SpreadsheetCellType;
> build1.log:168:    [javac] import org.controlsfx.control.spreadsheet.*;
> build1.log:181:    [javac] import org.controlsfx.control.spreadsheet.SpreadsheetColumn;
> build1.log:184:    [javac] import org.controlsfx.control.spreadsheet.SpreadsheetColumn;
> 
> --> ?

I probably need to package http://fxexperience.com/controlsfx/
 
> build1.log:138:    [javac] import contrasts.Contrasts;
> 
> --> ?

That JAR is in upstream source:

   https://github.com/danielhuson/megan-ce/blob/master/jars/contrasts.jar

Need to checkout where to find the source.

 
> build1.log:141:    [javac] import org.apache.commons.codec.binary.Base64;
> 
> --> libcommons-codec-java / /usr/share/java/commons-codec.jar

Added.
 
> build1.log:190:    [javac] import org.springframework.http.HttpEntity;
> build1.log:193:    [javac] import org.springframework.http.HttpHeaders;
> build1.log:196:    [javac] import org.springframework.http.HttpMethod;
> build1.log:199:    [javac] import org.springframework.http.ResponseEntity;
> build1.log:202:    [javac] import org.springframework.web.client.RestTemplate;
> 
> libspring-web-java / /usr/share/java/spring3-web.jar

Added as well.
 
> Cheers and Best Regards,

Thanks a lot so far

        Andreas.

[1] https://anonscm.debian.org/git/debian-med/malt.git 

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list