directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Knecht <fel...@apache.org>
Subject Re: [Studio] Creating MANIFEST.MF using mvn studio:eclipse
Date Sun, 22 Feb 2009 23:02:11 GMT
> Hi,
> 
> When checking out studio from SVN and running "mvn studio:eclipse" the
> MANIFEST.MF isn't created properly. No "Export-Package" is created in
> the MANIFEST.MF.
> 
> In the following I use the "jars" plugin only.
> 
> I found out that "bundle:manifest" brings some warnings:
> --------------------------------------------
> [WARNING] Warning in manifest for
> org.apache.directory.studio:jars:jar:1.4.0-SNAPSHOT : No sub JAR or
> directory lib/studio-dsml-parser-0.4.4-SNAPSHOT.jar
> ...
> --------------------------------------------
> 
> That is because target/classes/lib with all the jars doesn't exist.

If it's everywhere only a problem of copying the missing jar files to target/classes/lib it's
probably faster to add
just something to copy the libraries. Please note that this will only work if the snapshot
repository is available
(especially for the jars module ut maybe for others as well). If the user runs "mvn studio:eclipse
-o" (-o for offline)
it'll still not work because of missing dependencies.
Maybe another solution is to have the export packages explicitly listed instead of using the
wildcard '*'. So it'll be
something like

<Export-Package>org.apache.commons.collections.keyvalue;uses:="org.apache.commons.collections";version="1.4.0.SNAPSHOT",
org.apache.log4j;uses:="org.slf4j.impl,org.apache.log4j.config,org.apache.log4j.helpers,
<snip>...<snip>
org.apache.directory.shared.asn1.ber.tlv;uses:="org.apache.directory.shared.asn1.util,
org.apache.directory.shared.asn1.primitives,
org.apache.directory.shared.asn1.codec";version="1.4.0.SNAPSHOT",
org.xmlpull.v1.builder.impl;uses:="org.xmlpull.v1,
org.xmlpull.v1.builder";version="1.4.0.SNAPSHOT"</Export-Package>

instead of

<Export-Package>!org.apache.commons.lang.enum,*</Export-Package>

As it's nicer and easier to maintain I'd look for a solution to copy the missing dependencies
into target/classes/li before.

Regards
Felix

> 
> If I run a "mvn compile" first then all jars from the lib folder are
> copied to target/classes/lib. Then "bundle:mainifest" works properly and
> creates the "Export-Package" header.
> 
> As a workaround I modified the StudioEclipseMojo and added a
>   forkMvnGoal( "compile" );
> before running "bundle:manifest".
> 
> It works but I wonder if that is a proper solution, Felix?
> 
> Kind Regards,
> Stefan
> 


Mime
View raw message