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

Re: mh_make and resolving pom dependencies



Thanks for the quick reply.
but can you clarify as to

1. what is the use of ~/.m2 directory?

2. is there anyway to give ignoreRules from pom.xml or from mvn command line? 

3. where can I find the complete list of elements which can be specified in pom.xml 

On Thu, Nov 6, 2014 at 1:53 PM, Emmanuel Bourg <ebourg@apache.org> wrote:
Le 06/11/2014 08:53, Raaj S a écrit :

Hi Raaj,

> 1. are we supposed to search for deb package for each dependency in
> pom.xml?

Yes. I suggest using 'apt-file find <artifactId> | grep pom' to search
for the deb package.

> 2. if yes then what is use of .m2 repository and all the jars in it?

The local repository in the user directory is not used when building
Debian packages. The system directory in /usr/share/maven-repo is used
exclusively.

> 3. why does mh_make look into /usr/share/maven-repo or which is the
> export variable which points it. changing $REPO is not making it look
> into ~/.m2


This is a consequence of the Debian Free Software Guidelines. If you
want to add a package in Debian it has to be built from sources,
including its dependencies. And the sources have to be available as a
buildable Debian package.

This means you can't download compiled code over the Internet during the
build like a jar from a remote Maven repository. To work around this
issue we assemble a system repository made of Maven artifacts from
Debian packages only.

Note that this constraint really apply to *official* Debian packages. If
you are building a package for your own usage or for your company,
mh_make is not the best tool. In this case I recommend using jdeb
(https://github.com/tcurdt/jdeb).

> 4. why do we need a deb package for a pom jar dependency if at all we
> need it.

Not sure to understand what you mean here. I assume you are referring to
the parent poms like the commonly used sonatype oss-parent. You can tell
mh_make to ignore them.

Emmanuel Bourg



Reply to: