maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepesh Garg <deepes...@gmail.com>
Subject Re: Using maven as appstore for java app
Date Thu, 22 Dec 2011 10:34:27 GMT
> ---------- Forwarded message ----------
> From: Deepesh Garg <deepesh.g@gmail.com>
> To: dev@maven.apache.org
> Cc:
> Date: Wed, 21 Dec 2011 14:28:33 +0000
> Subject: Using maven as appstore for java app
> Hi,
> I was wondering if maven repository structure can be exploited to also
> distribute java applications. Same repository structure may be used on
> client side for installing and launching java apps. I see many benefit in
> doing so (cleaner application packaging, minimum download, standard
> directory structure, simple upgrade (much like Debian)).
> Are there any good reasons why maven should not be used as application
> installer and launcher? Or is it already done and I slept a bit too much.
>
> Deepesh
>
>
> ---------- Forwarded message ----------
> From: Wayne Fay <waynefay@gmail.com>
> To: Maven Developers List <dev@maven.apache.org>
> Cc:
> Date: Wed, 21 Dec 2011 10:50:17 -0600
> Subject: Re: Using maven as appstore for java app
> > I was wondering if maven repository structure can be exploited to also
> > distribute java applications. Same repository structure may be used on
>
> I'm sure this is already happening in some firms. You may find the
> Codehaus Mojo appassembler project [1] and/or the Webstart project [2]
> to be helpful in this regard.
>
> What are you specifically thinking about?
>
> [1] http://mojo.codehaus.org/appassembler/
> [2] http://mojo.codehaus.org/webstart/
>
> Wayne
>
>
>
> ---------- Forwarded message ----------
> From: Brett Porter <brett@apache.org>
> To: "Maven Developers List" <dev@maven.apache.org>
> Cc:
> Date: Thu, 22 Dec 2011 07:05:31 +1100
> Subject: Re: Using maven as appstore for java app
> As Wayne suggested, you can use Maven to assemble and distribute an
> application.
>
> For a runtime, using a maven repository makes a lot of sense. I wouldn't
> use Maven itself for this, but Maven's libraries for interacting with a
> repository.
>
> This is being used in lots of other applications, for example:
> http://karaf.apache.org/manual/latest-2.2.x/users-guide/provisioning.html
>
> - Brett
>


This is what I have in mind:
1) Have a new packaging type which indicate that this is an installable
application. Pom file for such apps can include things like description,
display name, icon file, location to put application launchers, type of
application (desktop app, mobile app, online app(?), GUI based/command line
etc)..
2) Create a maven goal to search configured repositories using criteria
specified in options (packaging type, artifact id, wildcard text search in
description etc). This function is useful on its own and in this case can
be used to search installable applications in repository.
3) Create a maven goal to install app. This will read pom description and
create application icons etc (this function will depend on platform and
will do whatever is required for current platform. Like for Linux it can
create .desktop files in specific directories or for Windows it can create
shortcuts in start menu.). This goal can also generate command line to
launch the application including all dependencies in classpath. This way
maven itself will not be required to launch the app but will still use
repository (as suggested by Brett).
4) Once the command line tools are available, a nice GUI wrapper can be
provided to search repositories for installable apps and install and
uninstall apps.

This way maven repositories can also serve the function of app store and I
think it won't require too much effort as all the hard work is already done.

Deepesh

PS: Couldn't find a way to reply to this thread so subscribed to the list
and fetched the thread by mailing to
dev-thread.100115@maven.apache.org(Where can you find this message id?
I had to kind of guess it). Apologies
if this mail looks ugly and doesn't link to original thread.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message