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

Re: maven-repo-helper questions



On Wed, 2016-01-06 at 20:19 +0100, Felix Natter wrote:
> > $ dpkg -L libflamingo-java | sort
> > /.
> > /flamingo
> > /flamingo/build
> > /flamingo/build/libs
> > /flamingo/build/libs/flamingo-7.3-javadoc.jar
> > /flamingo/build/libs/flamingo-7.3-sources.jar
> > /usr
> > [...]

Installing this deb would create /flamingo, i.e. a folder in your
filesystem root. This is probably not what you want (and why lintian is
complaining).

Are *-sources.jar necessary for your package to function? If not, they
should probably be left out of the deb file. I can't find another
debian package that includes a sources.jar.

The javadoc jar shouldn't really be necessary if you have a package for
the html javadoc as well. If anything, it would probably be more
appropriate in the -doc deb.

Ignoring these 2 jars should fix a lot of the lintian errors. Remember
that you can have a deb with a pom without an attached jar if the pom
is necessary.

> > 
> > But how can I avoid it? mh_install(1) does not say much about --
> > artifact

Looking at the source, mh_install passes its --artifact line to
mh_installjar and mh_installjar appears to only handle a single jar at
a time. The options passed to mh_install are forwarded to the
appropriate mh_install{jar,pom,site} tool. The options for controlling
where a jar goes include --java-lib and --dest-jar. See help for those
tools to explain the options.

It looks like you want to install multiple jars per pom file? hsqldb
installs multiple jars with a single pom although is probably not the
best example. gradle (especially the -plugins deb) installs multiple
jars in a single deb although each just happen to have an associated
pom.

If you want multiple jars per pom, perhaps you can list the same pom
multiple times with different artifacts in the *.pom file? Another
solution is to use the java-helper and jlibs files for that particular
deb.

> could you please point me to the documentation for how
> maven-repo-helper makes the connection between a pom (line in
> pkg.poms)
> and the corresponding jar?

[1] might be your best shot (although I haven't looked too hard). I've
turned to the source for answers. All this tells me is that you have to
explicitly provide the jar thru --artifact (there is no automatic
connection). Those packages that don't list an artifact in *.poms use
different helpers to get the jar where it needs to be, i.e. the maven-
debian-helper can install the jar rather than mh_installjar from repo-
helper.

> What option shall I use if --artifact is inadequate?

If the gradle helper doesn't do what you want, don't be afraid to use
another helper or some of the extension hooks. I haven't used the
gradle helper so can't tell you if there's an hook thats more
appropriate.

Andrew

[1] https://github.com/Debian/maven-repo-helper/tree/master/doc

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: