FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Java

 
 
LinkBack Thread Tools
 
Old 01-21-2012, 02:05 AM
Boris Ribalkin
 
Default maven packaging

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
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
[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> wrote:


Hi Ludovic,


Actually I am the owner of the ucloud 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> 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 watch 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 Launchpad, 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>> 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->

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




--
Boris Rybalkin
ribalkin@gmail.com
 
Old 01-24-2012, 09:41 PM
Ludovic Claude
 
Default maven packaging

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
> *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
> [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 ucloud 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 watch 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 Launchpad, 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->
> > > 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>


--
To UNSUBSCRIBE, email to debian-java-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4F1F3389.2020009@laposte.net">http://lists.debian.org/4F1F3389.2020009@laposte.net
 
Old 01-27-2012, 11:20 PM
"ribalkin@gmail.com"
 
Default maven packaging

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->
> > > 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>
 
Old 01-29-2012, 01:06 PM
Ludovic Claude
 
Default maven packaging

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>


--
To UNSUBSCRIBE, email to debian-java-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4F25524F.7090704@laposte.net">http://lists.debian.org/4F25524F.7090704@laposte.net
 
Old 02-09-2012, 03:01 AM
Boris Ribalkin
 
Default maven packaging

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
 
Old 02-12-2012, 04:15 PM
"ribalkin@gmail.com"
 
Default maven packaging

sorry for so many questions, but I've found everything I need:

DEB_MAVEN_ARGS and maven.properties.



Thanks.

--

Sent from my Android phone with K-9 Mail. Please excuse my brevity.

"ribalkin@gmail.com" <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->
> > > 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>
 

Thread Tools




All times are GMT. The time now is 10:13 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org