Maven introspection

27 views
Skip to first unread message

dieter.h...@googlemail.com

unread,
Apr 16, 2015, 7:46:26 PM4/16/15
to pl...@googlegroups.com
With Python you can somehow learn it by querying it. Looks at properties of objects to find out what they can 'do' etc.

I wonder if there is a similar way to understand Maven? Let's say I want to find out the commands that allow me to:

1. deploy an Android artifact that I can submit to the Google store including Proguard stripping, signing, whatever needed.

or.

2. I want to do the same for iOS.

What are the commands? Can I somehow find them out on my own?

Michael Bayne

unread,
Apr 20, 2015, 9:31:54 PM4/20/15
to pl...@googlegroups.com
On Thu, Apr 16, 2015 at 4:46 PM, <dieter.h...@googlemail.com> wrote:
I wonder if there is a similar way to understand Maven?

Unfortunately there's no good way to ask Maven to tell you all the things you can do with it because a) there are thousands of things you can do with it, and b) many of those things are in external plugins, which only become available when you integrate them with your build.

However, I can at least answer your questions below and point you in some useful directions.

Let's say I want to find out the commands that allow me to:

1. deploy an Android artifact that I can submit to the Google store including Proguard stripping, signing, whatever needed.

This POM shows you what you need to do all the stuff to deploy to the Google Play store for a PlayN Android game:


You can check out that whole repository, and Pokeros is a complete example of a game shipped to the Google Play store (https://play.google.com/store/apps/details?id=com.samskivert.mashups.pokeros).

The command to create a signed and zip-aligned apk is shown in a comment in the POM. It is:

mvn package -Pandroid -Psign -Dkeystore.password=YOURPASSWORD

The POM has the keystore set to ${user.home}/.android/pokeros.keystore but you would naturally want to reference your own keystore in your own POM.

2. I want to do the same for iOS.

That same project is also shipped to the iOS App Store (https://itunes.apple.com/us/app/pokeros/id794672036)

Look in the ios subdirectory for all the metadata there.


Unfortunately I haven't converted Pokeros over to the new RoboVM backend, though that's on my short list of things to do. So the command to build a shippable IPA in the Pokeros project isn't the way you'd do it for a new project.

Indeed, I haven't actually shipped an iOS app with the RoboVM backend, so I need to actually go through those motions and document the process. Someone else may have, in which case, feel free to pipe up.

What are the commands? Can I somehow find them out on my own?

I'll make a note to put both a "how to ship your game, on Android, and iOS" section in the docs of the new PlayN website (http://playn.io) and also just a general Maven command reference for all the Maven commands that one might find useful relating to a PlayN game.


Brigt Vik

unread,
Apr 21, 2015, 4:30:13 AM4/21/15
to pl...@googlegroups.com

I'll make a note to put both a "how to ship your game, on Android, and iOS" section in the docs of the new PlayN website (http://playn.io) and also just a general Maven command reference for all the Maven commands that one might find useful relating to a PlayN game.

Thanks, that would be super useful!
Reply all
Reply to author
Forward
0 new messages