Hi John, John Bito wrote at Donnerstag, 5. März 2009 22:50:
> I'm interested in Jörg's experience. In the documentation, it appears > that the NAR project artifact is always a jar and the native binaries are > attached artifacts. I haven't seen a way to configure NAR to produce an > a.out executable as the project artifact. Please inform me how that > should be done. we use it either to build a shared DLL (from C or C++ code) that is used as a plugin for a non-Java application or to create JNI DLLs. One module is used to create the shard library, in another module we unpack the nar and create a ZIP (using the assembly plugin, but you might have used also something like nsis-plugin/izpack-plugin to create an installer). Settings in the Global POM, that is inherited everywhere: <build> <pluginManagement> <plugins> <plugin> <groupId>org.freehep</groupId> <artifactId>freehep-nar-plugin</artifactId> <version>2.0-alpha-10</version> <extensions>true</extensions> <configuration> <targetDirectory>${project.build.directory}/nar</targetDirectory> </configuration> </plugin> ... </plugins> </pluginManagement> ... </build> <dependencyManagement> <dependencies> <dependency> <groupId>my.group</groupId> <artifactId>simple-plugin</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> </dependencyManagement> In the POM that builds the shard lib: <groupId>my.group</groupId> <artifactId>simple-plugin</artifactId> <packaging>nar</packaging> <version>1.0-SNAPSHOT</version> .... <build> <sourceDirectory>src/main/cpp</sourceDirectory> <plugins> <plugin> <groupId>org.freehep</groupId> <artifactId>freehep-nar-plugin</artifactId> <configuration> <runtime>static</runtime> <linker> <name>msvc</name> </linker> <libraries> <library> <type>shared</type> </library> </libraries> <cpp> <defines> <define>SIMPLEPROVIDER_EXPORTS</define> </defines> <optimize>speed</optimize> </cpp> </configuration> </plugin> </plugins> </build> In that creates the assembly: <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> ... </plugin> <plugin> <groupId>org.freehep</groupId> <artifactId>freehep-nar-plugin</artifactId> <executions> <execution> <goals> <goal>nar-download</goal> <goal>nar-unpack</goal> <goal>nar-assembly</goal> </goals> </execution> </executions> <configuration> <classifiers> <classifier>x86-Windows-msvc-shared</classifier> </classifiers> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>my.group</groupId> <artifactId>simple-plugin</artifactId> </dependency> ... </dependencies> Hope this helps, Jörg --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email