maven works best with one artifact per project ( cohesive build).
native-maven-plugin embraces that
practice.

So you will need to pay upfront to create all the pom files per extension
type, after that maven will take care
the rest for you ( ie just like any java artifacts)

So here are my recommendation based my experience with porting a huge legacy
make project to maven 2

root
  pom.xml
  java
     pom.xml  <----- host all java projects
  native
      pom.xml <----- contains profile to pick the specfic native build at
runtime
     src/main/native  <------ native source common to all platforms
     windows-x86
        pom.xml  <------ parent pom, has all common
settings/configurations/properties specific to this os
        thirdparty
            pom.xml  <------- extract all your specific thirdparty
libraries and include files
        native-project1.
            pom.xml
         native-project2
            pom.xml
        .....
        assembly      <--- use assembly plugin to assembly your windows
bits
            pom.xml

     linux-x86
          see windows settup

     other-os
          ....

It looks tedious, but this allow changes in one os specific build  to have
no impact on others.


Hope it helps


-dan



On 6/16/06, Brad Harper <[EMAIL PROTECTED]> wrote:

I'm evaluating Maven's suitability to manage multi-platform builds
for a C++ product targeting WIN32 and *nix.

Not having applied Maven in the conventional Java context, I'm
trying to map a hypothetical project onto the end goal of deploying
a thing composed of multiple .exe files, .so or .dll libraries,
resource files, etc.

I'm aware of 'maven-native-plugin' (as well as 'cpp-tasks' from ant-
contrib). That part seems obvious enough.

I'm struggling with issue of granularity and how to use Maven,
given the notion that each project should produce one primary output.

Does that mean I would have a sub-project (module) for each .exe/.so
and then use profile-based assembly/assemblies to deploy?

Or does it mean I would need to define a specialized plug-in to
compile/link apps and a new packaging type that represents the
final deployment-ready arrangement.

Cheers,

Brad

[EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to