You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Dave Wolf <dw...@digitalglobe.com> on 2012/04/16 22:41:45 UTC

maven-nar-plugin -- building libraries for both 32 & 64 Linux

Hi,

>From reading the documentation, I'm not quite following how to tell the maven-nar-plugin to generate both 32 & 64 versions of my project's artifacts. I'm running on a 64 bit Linux system, so it is successfully generating amd64.Linux.g++ artifacts. How can I cause it to build for not only the current build platform, but also i386-Linux-g++? 

One of pom files looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany</groupId>
  <artifactId>component-cpp-api</artifactId>
  <packaging>nar</packaging>
    
  <parent>
      <groupId>com.mycompany</groupId>
      <artifactId>securityservices-cpp</artifactId>
      <version>${component.version}</version>
  </parent>

  <dependencies>
        <dependency>
            <groupId>com.mycompany</groupId>
            <artifactId>component-cpp-validator</artifactId>
	        <version>${component.version}</version>
	        <type>nar</type>
        </dependency>
  </dependencies>

  <build>
      <plugins>
          <plugin>
              <groupId>net.mjahn</groupId>
              <artifactId>maven-nar-plugin</artifactId>
              <version>${maven-nar-plugin.version}</version>
              <extensions>true</extensions>
              <configuration>
                  <libraries>
                      <library>
                          <type>shared</type>
                      </library>
                  </libraries>
              </configuration>
          </plugin>
      </plugins>
  </build>

</project>

Thanks in advance!
Dave Wolf 


This electronic communication and any attachments may contain confidential and proprietary 
information of DigitalGlobe, Inc. If you are not the intended recipient, or an agent or employee 
responsible for delivering this communication to the intended recipient, or if you have received 
this communication in error, please do not print, copy, retransmit, disseminate or 
otherwise use the information. Please indicate to the sender that you have received this 
communication in error, and delete the copy you received. DigitalGlobe reserves the 
right to monitor any electronic communication sent or received by its employees, agents 
or representatives.


RE: maven-nar-plugin -- building libraries for both 32 & 64 Linux

Posted by Dave Wolf <dw...@digitalglobe.com>.
Will do. Thanks, I thought the GroupId was odd for a Sonotype plugin. I must have followed the wrong Google link somewhere along the way.

Dave Wolf 
Java Architect
Gorilla Logic
M: 303-956-9106
DG GL Room: x4545



-----Original Message-----
From: Wayne Fay [mailto:waynefay@gmail.com]
Sent: Tue 4/17/2012 10:04 AM
To: Maven Users List
Subject: Re: maven-nar-plugin -- building libraries for both 32 & 64 Linux
 
> From reading the documentation, I'm not quite following how to tell
> the maven-nar-plugin to generate both 32 & 64 versions of my project's

As far as I know, this plugin is not published by Apache but rather
supported by the FreeHEP team or possibly Sonatype (??):
http://java.freehep.org/freehep-nar-plugin/mail-lists.html
https://issues.sonatype.org/browse/NAR

>          <plugin>
>              <groupId>net.mjahn</groupId>
>              <artifactId>maven-nar-plugin</artifactId>

Looks like you are running Mirko's fork of the plugin. Perhaps you
should ask him for support? :)
https://github.com/mirkojahn/maven-nar-plugin

Wayne

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org



This electronic communication and any attachments may contain confidential and proprietary 
information of DigitalGlobe, Inc. If you are not the intended recipient, or an agent or employee 
responsible for delivering this communication to the intended recipient, or if you have received 
this communication in error, please do not print, copy, retransmit, disseminate or 
otherwise use the information. Please indicate to the sender that you have received this 
communication in error, and delete the copy you received. DigitalGlobe reserves the 
right to monitor any electronic communication sent or received by its employees, agents 
or representatives.


Re: maven-nar-plugin -- building libraries for both 32 & 64 Linux

Posted by Wayne Fay <wa...@gmail.com>.
> From reading the documentation, I'm not quite following how to tell
> the maven-nar-plugin to generate both 32 & 64 versions of my project's

As far as I know, this plugin is not published by Apache but rather
supported by the FreeHEP team or possibly Sonatype (??):
http://java.freehep.org/freehep-nar-plugin/mail-lists.html
https://issues.sonatype.org/browse/NAR

>          <plugin>
>              <groupId>net.mjahn</groupId>
>              <artifactId>maven-nar-plugin</artifactId>

Looks like you are running Mirko's fork of the plugin. Perhaps you
should ask him for support? :)
https://github.com/mirkojahn/maven-nar-plugin

Wayne

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: maven-nar-plugin -- building libraries for both 32 & 64 Linux

Posted by Dave Wolf <dw...@digitalglobe.com>.
Ping... :-)

Any help with this would be greatly appreciated and prevent me from having to revert to using Ant.

Thanks in advance!!!

Dave Wolf 


-----Original Message-----
From: Dave Wolf
Sent: Mon 4/16/2012 2:41 PM
To: users@maven.apache.org
Subject: maven-nar-plugin -- building libraries for both 32 & 64 Linux
 
Hi,

>From reading the documentation, I'm not quite following how to tell the maven-nar-plugin to generate both 32 & 64 versions of my project's artifacts. I'm running on a 64 bit Linux system, so it is successfully generating amd64.Linux.g++ artifacts. How can I cause it to build for not only the current build platform, but also i386-Linux-g++? 

One of pom files looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany</groupId>
  <artifactId>component-cpp-api</artifactId>
  <packaging>nar</packaging>
    
  <parent>
      <groupId>com.mycompany</groupId>
      <artifactId>securityservices-cpp</artifactId>
      <version>${component.version}</version>
  </parent>

  <dependencies>
        <dependency>
            <groupId>com.mycompany</groupId>
            <artifactId>component-cpp-validator</artifactId>
	        <version>${component.version}</version>
	        <type>nar</type>
        </dependency>
  </dependencies>

  <build>
      <plugins>
          <plugin>
              <groupId>net.mjahn</groupId>
              <artifactId>maven-nar-plugin</artifactId>
              <version>${maven-nar-plugin.version}</version>
              <extensions>true</extensions>
              <configuration>
                  <libraries>
                      <library>
                          <type>shared</type>
                      </library>
                  </libraries>
              </configuration>
          </plugin>
      </plugins>
  </build>

</project>

Thanks in advance!
Dave Wolf 




This electronic communication and any attachments may contain confidential and proprietary 
information of DigitalGlobe, Inc. If you are not the intended recipient, or an agent or employee 
responsible for delivering this communication to the intended recipient, or if you have received 
this communication in error, please do not print, copy, retransmit, disseminate or 
otherwise use the information. Please indicate to the sender that you have received this 
communication in error, and delete the copy you received. DigitalGlobe reserves the 
right to monitor any electronic communication sent or received by its employees, agents 
or representatives.


RE: maven-nar-plugin -- building libraries for both 32 & 64 Linux

Posted by Dave Wolf <dw...@digitalglobe.com>.
Curtis,

Thank you! That solution works great! We're off and running now. Yes, open source communities are grand.

Cheers,

Dave Wolf 
Java Architect
Gorilla Logic



-----Original Message-----
From: ctrueden.wisc@gmail.com on behalf of Curtis Rueden
Sent: Tue 4/17/2012 12:57 PM
To: Maven Users List
Subject: Re: maven-nar-plugin -- building libraries for both 32 & 64 Linux
 
Hi Dave,


>From reading the documentation, I'm not quite following how to tell the
> maven-nar-plugin to generate both 32 & 64 versions of my project's
> artifacts.
>

The ImageJ2 project uses the maven-nar-plugin to build a cross-platform
launcher for our Java application.

We use gcc to build on Windows, Mac OS X and Linux, in 32-bit and 64-bit
modes.

Here is our POM:
    https://github.com/imagej/imagej/blob/master/core/launcher/pom.xml

We use the duns version of the plugin, forked to the scijava organization:
    https://github.com/scijava/maven-nar-plugin

Since the plugin is not deployed to any other public repository (that I
know of), we have deployed the snapshot version at:

http://maven.imagej.net/content/repositories/snapshots/org/apache/maven/plugins/maven-nar-plugin/

We have also made an interim "release" of the plugin and deployed it to:

http://maven.imagej.net/content/repositories/thirdparty/org/apache/maven/plugins/maven-nar-plugin/

We use Jenkins to do the build, with a separate profile for each
architecture. You can read a detailed description of how to configure
things here:
    http://trac.imagej.net/ticket/832#comment:11

You are welcome to use either of these versions if they suit your needs.
Also feel free to pilfer from the POM if it helps your project!

Isn't open source grand? :-)

Regards,
Curtis


On Mon, Apr 16, 2012 at 3:41 PM, Dave Wolf <dw...@digitalglobe.com> wrote:

> Hi,
>
> From reading the documentation, I'm not quite following how to tell the
> maven-nar-plugin to generate both 32 & 64 versions of my project's
> artifacts. I'm running on a 64 bit Linux system, so it is successfully
> generating amd64.Linux.g++ artifacts. How can I cause it to build for not
> only the current build platform, but also i386-Linux-g++?
>
> One of pom files looks like this:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0">
>  <modelVersion>4.0.0</modelVersion>
>  <groupId>com.mycompany</groupId>
>  <artifactId>component-cpp-api</artifactId>
>  <packaging>nar</packaging>
>
>  <parent>
>      <groupId>com.mycompany</groupId>
>      <artifactId>securityservices-cpp</artifactId>
>      <version>${component.version}</version>
>  </parent>
>
>  <dependencies>
>        <dependency>
>            <groupId>com.mycompany</groupId>
>            <artifactId>component-cpp-validator</artifactId>
>                <version>${component.version}</version>
>                <type>nar</type>
>        </dependency>
>  </dependencies>
>
>  <build>
>      <plugins>
>          <plugin>
>              <groupId>net.mjahn</groupId>
>              <artifactId>maven-nar-plugin</artifactId>
>              <version>${maven-nar-plugin.version}</version>
>              <extensions>true</extensions>
>              <configuration>
>                  <libraries>
>                      <library>
>                          <type>shared</type>
>                      </library>
>                  </libraries>
>              </configuration>
>          </plugin>
>      </plugins>
>  </build>
>
> </project>
>
> Thanks in advance!
> Dave Wolf
>
>
> This electronic communication and any attachments may contain confidential
> and proprietary
> information of DigitalGlobe, Inc. If you are not the intended recipient,
> or an agent or employee
> responsible for delivering this communication to the intended recipient,
> or if you have received
> this communication in error, please do not print, copy, retransmit,
> disseminate or
> otherwise use the information. Please indicate to the sender that you have
> received this
> communication in error, and delete the copy you received. DigitalGlobe
> reserves the
> right to monitor any electronic communication sent or received by its
> employees, agents
> or representatives.
>
>


This electronic communication and any attachments may contain confidential and proprietary 
information of DigitalGlobe, Inc. If you are not the intended recipient, or an agent or employee 
responsible for delivering this communication to the intended recipient, or if you have received 
this communication in error, please do not print, copy, retransmit, disseminate or 
otherwise use the information. Please indicate to the sender that you have received this 
communication in error, and delete the copy you received. DigitalGlobe reserves the 
right to monitor any electronic communication sent or received by its employees, agents 
or representatives.


Re: maven-nar-plugin -- building libraries for both 32 & 64 Linux

Posted by Curtis Rueden <ct...@wisc.edu>.
Hi Dave,


>From reading the documentation, I'm not quite following how to tell the
> maven-nar-plugin to generate both 32 & 64 versions of my project's
> artifacts.
>

The ImageJ2 project uses the maven-nar-plugin to build a cross-platform
launcher for our Java application.

We use gcc to build on Windows, Mac OS X and Linux, in 32-bit and 64-bit
modes.

Here is our POM:
    https://github.com/imagej/imagej/blob/master/core/launcher/pom.xml

We use the duns version of the plugin, forked to the scijava organization:
    https://github.com/scijava/maven-nar-plugin

Since the plugin is not deployed to any other public repository (that I
know of), we have deployed the snapshot version at:

http://maven.imagej.net/content/repositories/snapshots/org/apache/maven/plugins/maven-nar-plugin/

We have also made an interim "release" of the plugin and deployed it to:

http://maven.imagej.net/content/repositories/thirdparty/org/apache/maven/plugins/maven-nar-plugin/

We use Jenkins to do the build, with a separate profile for each
architecture. You can read a detailed description of how to configure
things here:
    http://trac.imagej.net/ticket/832#comment:11

You are welcome to use either of these versions if they suit your needs.
Also feel free to pilfer from the POM if it helps your project!

Isn't open source grand? :-)

Regards,
Curtis


On Mon, Apr 16, 2012 at 3:41 PM, Dave Wolf <dw...@digitalglobe.com> wrote:

> Hi,
>
> From reading the documentation, I'm not quite following how to tell the
> maven-nar-plugin to generate both 32 & 64 versions of my project's
> artifacts. I'm running on a 64 bit Linux system, so it is successfully
> generating amd64.Linux.g++ artifacts. How can I cause it to build for not
> only the current build platform, but also i386-Linux-g++?
>
> One of pom files looks like this:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0">
>  <modelVersion>4.0.0</modelVersion>
>  <groupId>com.mycompany</groupId>
>  <artifactId>component-cpp-api</artifactId>
>  <packaging>nar</packaging>
>
>  <parent>
>      <groupId>com.mycompany</groupId>
>      <artifactId>securityservices-cpp</artifactId>
>      <version>${component.version}</version>
>  </parent>
>
>  <dependencies>
>        <dependency>
>            <groupId>com.mycompany</groupId>
>            <artifactId>component-cpp-validator</artifactId>
>                <version>${component.version}</version>
>                <type>nar</type>
>        </dependency>
>  </dependencies>
>
>  <build>
>      <plugins>
>          <plugin>
>              <groupId>net.mjahn</groupId>
>              <artifactId>maven-nar-plugin</artifactId>
>              <version>${maven-nar-plugin.version}</version>
>              <extensions>true</extensions>
>              <configuration>
>                  <libraries>
>                      <library>
>                          <type>shared</type>
>                      </library>
>                  </libraries>
>              </configuration>
>          </plugin>
>      </plugins>
>  </build>
>
> </project>
>
> Thanks in advance!
> Dave Wolf
>
>
> This electronic communication and any attachments may contain confidential
> and proprietary
> information of DigitalGlobe, Inc. If you are not the intended recipient,
> or an agent or employee
> responsible for delivering this communication to the intended recipient,
> or if you have received
> this communication in error, please do not print, copy, retransmit,
> disseminate or
> otherwise use the information. Please indicate to the sender that you have
> received this
> communication in error, and delete the copy you received. DigitalGlobe
> reserves the
> right to monitor any electronic communication sent or received by its
> employees, agents
> or representatives.
>
>