[maven4ios] Re: Deploying Non-Maven Based Libraries

  • From: "Holl, Marcus" <marcus.holl@xxxxxxx>
  • To: "maven4ios@xxxxxxxxxxxxx" <maven4ios@xxxxxxxxxxxxx>
  • Date: Tue, 22 Jan 2013 12:51:01 +0100

Hi Jon,

Attached you can find a zip file containing a deploy script (deploy.sh) with 
some additional resources. This script might serve as an example how an upload 
into a remote repository can be performed. This script file is just an example 
rather than a ready-to-use solution. We use a similiar script for uploading 
external resources that are available as binaries alongside with the headers 
and – maybe – additional resources.

The script expects the resources that should be deployed in a certain directory 
structure. This structure is documented inside deploy.sh.

In contrast to the straight-forward java use case we have several side 
artifacts. The layout in general is

${repoRoot}/your/group/id/<ArtifactId>/<Version>/

<GroupId>-<Version>-<Configuration>-<SDK>.a  <!-- The lib -->
<GroupId>-<Version>-<Configuration>-<SDK>.headers.tar <!-- The headers -->
<GroupId>-<Version>.pom
<GroupId>-<Version>.tar
<GroupId>-<Version>.bundle <!-- additional resources -->


In case you have no nexus available you could fake a remote repository in your 
local file system. This "remote" repo can be added in your settings.xml. 
Afterwards the artifacts gets resolved from your remote repo fake into your 
local repository as usual. The config file used by deploy.sh and located beside 
that script works with such a remote repo fake (see property "remoteRepo").

In case of additional questions do not hesitate to ask again.

Best regards,
Marcus Holl






From: Jon Cobb <jon.cobb@xxxxxxx<mailto:jon.cobb@xxxxxxx>>
Reply-To: "maven4ios@xxxxxxxxxxxxx<mailto:maven4ios@xxxxxxxxxxxxx>" 
<maven4ios@xxxxxxxxxxxxx<mailto:maven4ios@xxxxxxxxxxxxx>>
Date: Monday, January 21, 2013 10:05 PM
To: "maven4ios@xxxxxxxxxxxxx<mailto:maven4ios@xxxxxxxxxxxxx>" 
<maven4ios@xxxxxxxxxxxxx<mailto:maven4ios@xxxxxxxxxxxxx>>
Subject: [maven4ios] Deploying Non-Maven Based Libraries

So, I'm setting up my builds to use Xcode-Maven and am super excited about it.

One thing I want to make sure that I am doing correctly is putting non-maven 
deployed libraries into my repositories correctly.

For example, let's say I'm using Urban Airship for push notifications.  Urban 
Airship's library comes pre-compiled (not a set of class files like a lot of 
other "libraries"), but to my knowledge has no associated pom file (or maybe 
they are also using xcode-maven and I'm not looking hard enough...let's assume 
they are NOT maven based).  Assuming that their library is a static library and 
a set of header files, what is the best way to insert such a structure into my 
local repository so it can be referenced as a dependency in my xcode-maven 
builds?  I know with standard maven/java in order to deploy .jar files, it's a 
simple one line cmd line job.  But the jar is completely self contained, obj-c 
libraries usually have headers and possibly bundles to go along with them.

Is it possible to do this with xcode-maven?  Would I need to create my own pom 
and bundle the files up into a zip to deploy into my local repository?  Is it 
best to base the structure of the zip off of what I see in my local repository 
already or is there documentation on the format?

Thanks for any insight you can provide,

--Jon


Attachment: upload.zip
Description: upload.zip

Other related posts: