Thanks, that helped.
Still have more questions
Is it possible to override default behavior and run maven with specific profile like mvn -P profile ?
On Sun, Jan 29, 2012 at 9:06 AM, Ludovic Claude <ludovic.claude@laposte.net> wrote:
To add jars to maven repo when the build system is not Maven, use the
tools provided by maven-repo-helper. There is a tutorial here:
file:///usr/share/doc/maven-repo-helper/tutorial.html
Ludovic
On 28/01/2012 01:20, ribalkin@gmail.com wrote:
> Thank you, my bad.
> One more question:
> What is the right way of adding jar to maven repo for existing ant based
> package?
>
> --
> Sent from my Android phone with K-9 Mail. Please excuse my brevity.
>
> Ludovic Claude <ludovic.claude@laposte.net> wrote:
>
> * * Hello Boris,
>
> * * You should not try to package only a module of this project
> * * (google-http-client) but the whole project, then select which modules
> * * you want to include and maybe split the final binaries into several
> * * packages.
>
> * * So in short do the following:
>
> * * hg clone https://code.google.com/p/google-http-java-client/
> * * cd google-http-java-client
> * * hg update 1.6
> * * mh_make
> * * [...]
> * * This project contains modules. Include all modules?
> * * [y]/n > n
> * * Analysing google-http-client/pom.xml...
> * * Include the module google-http-client/pom.xml ?
> * * [y]/n > y
>
> * * This is required because the parent POM located at the root of the
> * * project contains important information such as the versions for the
> * * dependencies. This quite usual in Maven projects and considered
> * * best
> * * practice.
>
> * * Ludovic
>
> * * On 21/01/2012 04:05, Boris Ribalkin wrote:
> * * > Hi,
> * * >
> * * > One more question on mh_make.
> * * > I am trying to package google-http-client
> * * > (https://google-http-java-client.googlecode.com/hg/google-http-client/pom.xml)
> * * > which depends on com.google.code.gson
> * * > (http://google-gson.googlecode.com/svn/tags/gson-2.1/). So I packaged
> * * > gson first and it was fine, but when I run mh_make on google-http-client
> * * > it says the following:
> * * >
> * * > * * This dependency cannot be found in the Debian Maven repository.
> * * > * * Ignore this dependency?
> * * > * * * com.google.code.gson:gson:jar:null
> * * > * * y/[n] >
> * * > * * > dpkg --search /usr/share/maven-repo/com/google/code/gson/gson
> * * &
> * * *gt;
> * * *Found libgson-java*
> * * > * * > dpkg --status libgson-java
> * * > * * [error] Package libgson-java (2.1-1) is already installed and
> * * > * * contains a possible match,
> * * > * * but I cannot resolve library com.google.code.gson:gson:jar:*null* in it.
> * * > * * [error] Please check manually that the library is up to date,
> * * > * * otherwise it may be necessary to package version null in Debian.
> * * > * * Try again to resolve the dependency?
> * * > * * [y]/n >
> * * > * * Rescanning /usr/share/maven-repo...
> * * > * * Resolving com.google.code.gson:gson:jar:null of scope runtime...
> * * > * * In pom.xml, cannot find the version for dependency
> * * > * * com.google.code.gson:gson:jar:null from this POM or its parent POMs
> * * > * * [warning] Option --no-parent has been set for POM file pom.xml,
> * * > * * maybe it was not a good idea and you should first package the parent
> * * > * * POM __super__:__pom__

om:null
> * * &
> * * *gt;
> * * [check dependency with bundle type]
> * * > * * > dpkg --status libgson-java
> * * > * * [error] Package libgson-java (2.1-1) is already installed and
> * * > * * contains a possible match,
> * * > * * but I cannot resolve library com.google.code.gson:gson:jar:null in it.
> * * > * * [error] Please check manually that the library is up to date,
> * * > * * otherwise it may be necessary to package version null in Debian.
> * * > * * Try again to resolve the dependency?
> * * > * * [y]/n >
> * * >
> * * >
> * * > Is this because dependency has no version, but how then junit dependency
> * * > is found if it has no version as well?
> * * > What is the proper way of fixing this?
> * * >
> * * > Thanks.
> * * >
> * * > On Thu, Dec 8, 2011 at 9:17 PM, Boris Ribalkin <ribalkin@gmail.com
> * * > <mailto:ribalkin@gmail.com>> wrote:
> * * >
> * * > * * Hi Ludovic,
> * * >
> * * > * * Actually I am the owner of the uclo
> * * *ud
> * * project on github

so I can
> * * > * * make any changes you suggested. Wil let you know if it will work.
> * * >
> * * > * * Thanks!
> * * >
> * * > * * On Dec 8, 2011 4:58 PM, "Ludovic Claude" <ludovic.claude@laposte.net
> * * > * * <mailto:ludovic.claude@laposte.net>> wrote:
> * * >
> * * > * * * * Hello Boris,
> * * >
> * * > * * * * It looks like you are almost there. Your project is hosted on
> * * > * * * * Github,
> * * > * * * * but I don't support yet Git, so the debian/watch used to find
> * * > * * * * the latest
> * * > * * * * version and get the upstream code is not generated by mh_make.
> * * >
> * * > * * * * However there are lots of other packages which get their sources
> * * > * * * * from
> * * > * * * * Github (basex, plexus-cipher, junit4, libjdom1-java), so you can
> * * > * * * * study
> * * > * * * * their packaging using apt-get source <package>.
> * * >
> * * > * * * * This watc
> * * *h file
> * * should in theory get the latest release of uCloud,
> * * > * * * * expect that it does not...
> * * >
> * * > * * * * cat <<EOF > debian/watch
> * * > * * * * version=3
> * * > * * * * http://githubredir.debian.net/github/cyberb/uCloud/ (.*).tar.gz
> * * > * * * * EOF
> * * >
> * * > * * * * You should ask the project owner to tag in Git the latest release,
> * * > * * * * otherwise it's not possible to know what to download. Or better, he
> * * > * * * * should use maven-release-plugin to create a release of the project.
> * * >
> * * > * * * * After you get this detail sorted, then you should add those lines to
> * * > * * * * debian/rules:
> * * >
> * * > * * * * get-orig-source:
> * * > * * * * * * * *uscan --download-version $(DEB_UPSTREAM_VERSION)
> * * > * * * * --force-download --rename
> * * >
> * * > * * * * Finally, if you work on Ubuntu and use Laun
> * * *chpad,
> * * then you
> * * > * * * * should store
> * * > * * * * your packaging in bzr:
> * * >
> * * > * * * * sudo apt-get install bzr-builddeb
> * * > * * * * bzr init
> * * > * * * * mkdir .bzr-builddeb/
> * * > * * * * echo -e '[BUILDDEB]
merge = True' > .bzr-builddeb/default.conf
> * * > * * * * bzr add .
> * * >
> * * > * * * * and you can build your package with
> * * >
> * * > * * * * bzr bd
> * * >
> * * > * * * * Well that's the usual procedure. In your case, since it's
> * * > * * * * difficult to
> * * > * * * * get the upstream sources, you need to download *them yourself
> * * > * * * * and put
> * * > * * * * them in a tar.gz file which you should call
> * * > * * * * ucloud_1.0.0.orig.tar.gz and
> * * > * * * * copy it in the parent directory. Doing so will make bzr bd / debuild
> * * > * * * * happy since they don't have to download the sources.
> * * >
> * * > * * * * Consider also joining the Debian Java team, as
> * * * it's
> * * full of
> * * > * * * * active and
> * * > * * * * knowledgable developers
> * * > * * * * (http://wiki.debian.org/Teams/JavaPackaging).
> * * > * * * * Once your package is ready, you can ask to include it in Debian
> * * > * * * * and it
> * * > * * * * will land some time later into Ubuntu.
> * * >
> * * > * * * * Cheers,
> * * > * * * * Ludovic
> * * >
> * * > * * * * On 08/12/2011 07:31, Boris Ribalkin wrote:
> * * > * * * * > Hi,
> * * > * * * * >
> * * > * * * * > Thanks for the info, your new package is much better.
> * * > * * * * > After running mh_make in the root of my project, looks like
> * * > * * * * everything
> * * > * * * * > went fine, just one exception at the end:
> * * > * * * * >
> * * > * * * * >> Cannot recognize the download url
> * * > * * * * > (scm:git:https://github.com/cyberb/uCloud.git).
> * * > * * * * > I've tried different scm urls, but it is always the same, is
> * * > * * * * it OK?
> * * > * * * * >
> * * > * * * * > than I ran debuild and got the following error:
> * * > * * * * >
> * * > * * * * >> This package has a Debian revision number but there does not
> * * > * * * * seem to be
> * * > * * * * > an appropriate original tar file or .orig directory in the
> * * > * * * * parent directory;
> * * > * * * * > (expected one of ucloud_1.0.0.orig.tar.gz,
> * * > * * * * ucloud_1.0.0.orig.tar.bz2,
> * * > * * * * > ucloud_1.0.0.orig.tar.lzma, *ucloud_1.0.0.orig.tar.xz or
> * * > * * * * ucloud.orig)
> * * > * * * * > continue anyway? (y/n) y
> * * > * * * * >
> * * > * * * * > and then
> * * > * * * * >
> * * > * * * * >> dpkg-source: error: can't build with source format '3.0
> * * >
>
> * * (quilt)': no
> * * > * * * * > orig.tar file found
> * * > * * * * > dpkg-buildpackage: error: dpkg-source -b ucloud gave error
> * * > * * * * exit status 255
> * * > * * * * > debuild: fatal error at line 1348:
> * * > * * * * > dpkg-buildpackage -rfakeroot -D -us -uc failed
> * * > * * * * >
> * * > * * * * > Do you have any idea what is wrong?
> * * > * * * * >
> * * > * * * * > Thanks again for the help!
> * * > * * * * >
> * * > * * * * > On Tue, Dec 6, 2011 at 6:09 PM, Ludovic Claude
> * * > * * * * > <ludovic.claude@laposte.net
> * * > * * * * <mailto:ludovic.claude@laposte.net>
> * * > * * * * <mailto:ludovic.claude@laposte.net
> * * > * * * * <mailto:ludovic.claude@laposte.net>>> wrote:
> * * > * * * * >
> * * > * * * * > * * Privet Boris,
> * * > * * * * >
> * * > * * * * > * * Packaging a multi-module Maven project should be quite
> * * > * * * * easy now,
> * * *as
> * * you
> * * > * * * * > * * can run Maven itself for the build and use
> * * > * * * * maven-debian-helper to
> * * > * * * * > * * install the jars at the proper location. Of course you
> * * > * * * * need to have all
> * * > * * * * > * * dependencies already packaged in Debian/Ubuntu.
> * * > * * * * >
> * * > * * * * > * * I have written a tool which should assist you create the
> * * > * * * * packaging for a
> * * > * * * * > * * Maven project, it's called mh_make and can be found in the
> * * > * * * * > * * maven-debian-helper package. Here's an old wiki page which
> * * > * * * * explains how
> * * > * * * * > * * to use it.
> * * > * * * * >
> * * > * * * * > * * http://wiki.debian.org/Java/MavenDebianHelper
> * * > * * * * >
> * * > * * * * > * * As it's still work in progress, there might be bugs but if
> * * > * * * * you're lucky
>
> * * *>
> * * * * *> * * it will do most of the work for you. I'm interested in
> * * > * * * * your feedback of
> * * > * * * * > * * course. You should install at least the latest
> * * > * * * * maven-repo-helper and
> * * > * * * * > * * maven-debian-helper packages from my PPA with the command
> * * > * * * * > * * sudo apt-add-repository ppa:ludovicc/ppa && sudo apt-get
> * * > * * * * update
> * * > * * * * > * * sudo apt-get upgrade
> * * > * * * * >
> * * > * * * * > * * Ludovic
> * * > * * * * >
> * * > * * * * > * * On 06/12/2011 08:22, Boris Rybalkin wrote:
> * * > * * * * > * * > Hi,
> * * > * * * * > * * >
> * * > * * * * > * * > As I see you are supporting multiple java packages on
> * * > * * * * launchpad, but I
> * * > * * * * > * * > am trying to create my first.
> * * > * * * * > * * > Could you help me a little with multi module maven based
> * * > * * * * project?
> * * >
> * * * * * > * * > Just may be with some advices on where to go.
> * * > * * * * > * * >
> * * > * * * * > * * > I used to run "mvn package" which gives me (using
> * * > * * * * assembly plugin)
> * * > * * * * > * * ready
> * * > * * * * > * * > to use distribution folder with all the JARs and run
> * * > * * * * scripts. But
> * * > * * * * > * * now I
> * * > * * * * > * * > am thinking of creating PPA so I can share the app and
> * * > * * * * here I have
> * * > * * * * > * * some
> * * > * * * * > * * > problems
> * * > * * * * > * * > My package recipe:
> * * > * * * * > * * https://code.launchpad.net/~ribalkin/+recipe/ucloud-
> * * > * * * * <https://code.launchpad.net/%7Eribalkin/+recipe/ucloud-> <https://code.launchpad.net/%7Eribalkin/+recipe/ucloud->>;
> * * > * * * * > * * <https://code.launchpad.net/%7Eribalkin/+recipe/ucloud-> <https://code.launchpad.net/%7Eribalkin/+recipe/ucloud->>;
> * * > * * * * > * * > imported-daily
> * * > * * * * > * * > I've red http://developer.ubuntu.com/packaging/html and
> * * > * * * * > * * > http://wiki.debian.org/Java/MavenBuilder but it has no
> * * > * * * * details.
> * * > * * * * > * * >
> * * > * * * * > * * > Am I right that every maven module should be installed
> * * > * * * * as a separate
> * * > * * * * > * * > java library during the build process
> * * > * * * * (mh_installpoms/mh_installjar)?
> * * > * * * * > * * > Also even if I do so, I do not see in launchpad build
> * * > * * * * log that mvn
> * * > * * * * > * * > package actually started for any of my module.
> * * > * * * * > * * >
> * * >
> * * * * * * > * * > Thank for any help!
> * * > * * * * >
> * * > * * * * >
> * * > * * * * >
> * * > * * * * >
> * * > * * * * > --
> * * > * * * * > Boris Rybalkin
> * * > * * * * > ribalkin@gmail.com <mailto:ribalkin@gmail.com>
> * * > * * * * <mailto:ribalkin@gmail.com <mailto:ribalkin@gmail.com>>
> * * >
> * * >
> * * >
> * * >
> * * > --
> * * > Boris Rybalkin
> * * > ribalkin@gmail.com <mailto:ribalkin@gmail.com>
--
Boris Rybalkin
ribalkin@gmail.com