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

Re: maven-repo-helper questions



Andrew Schurman <arcticwaters@gmail.com> writes:

> 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
>> > [...]

hello Andrew,

> 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.

Thanks, it looks like maven-repo-helper has a problem with installing
source/javadoc jars (but that may be intentional).

Explicitly specifying the version:
  --artifact=flamingo/build/libs/flamingo-7.3.jar
(which avoids installing -sources.jar/-javadoc.jar)
works fine :-)

>> > 
>> > 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.

No, I only need one jar per binary package and per pom.

>> 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

Ah, this is good documentation, I overlooked this in
dpkg -L maven-repo-helper!

Many Thanks (also for your previous help!) and Best Regards!
-- 
Felix Natter


Reply to: