From 846700d44b67b22835b57a1c04f17043db8323a3 Mon Sep 17 00:00:00 2001 From: Mark Donszelmann Date: Thu, 1 Oct 2009 14:33:24 +0200 Subject: Moved files in from freehep-nar-plugin version 2.0-alpha-11-SNAPSHOT --- .../java/org/apache/maven/plugin/nar/Java.java | 126 +++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 src/main/java/org/apache/maven/plugin/nar/Java.java (limited to 'src/main/java/org/apache/maven/plugin/nar/Java.java') diff --git a/src/main/java/org/apache/maven/plugin/nar/Java.java b/src/main/java/org/apache/maven/plugin/nar/Java.java new file mode 100644 index 0000000..ac6d4c0 --- /dev/null +++ b/src/main/java/org/apache/maven/plugin/nar/Java.java @@ -0,0 +1,126 @@ +// Copyright FreeHEP, 2005-2007. +package org.freehep.maven.nar; + +import java.io.File; +import java.util.Iterator; +import java.util.List; + +import net.sf.antcontrib.cpptasks.CCTask; +import net.sf.antcontrib.cpptasks.CUtil; +import net.sf.antcontrib.cpptasks.types.CommandLineArgument; +import net.sf.antcontrib.cpptasks.types.LibrarySet; +import net.sf.antcontrib.cpptasks.types.LinkerArgument; + +import org.apache.maven.plugin.MojoFailureException; + +/** + * Java specifications for NAR + * + * @author Mark Donszelmann + * @version $Id: plugin/src/main/java/org/freehep/maven/nar/Java.java 0ee9148b7c6a 2007/09/20 18:42:29 duns $ + */ +public class Java { + + /** + * Add Java includes to includepath + * + * @parameter expression="" default-value="false" + * @required + */ + private boolean include = false; + + /** + * Java Include Paths, relative to a derived ${java.home}. + * Defaults to: "${java.home}/include" and "${java.home}/include/os-specific". + * + * @parameter expression="" + */ + private List includePaths; + + /** + * Add Java Runtime to linker + * + * @parameter expression="" default-value="false" + * @required + */ + private boolean link = false; + + /** + * Relative path from derived ${java.home} to the java runtime to link with + * Defaults to Architecture-OS-Linker specific value. + * FIXME table missing + * + * @parameter expression="" + */ + private String runtimeDirectory; + + /** + * Name of the runtime + * + * @parameter expression="" default-value="jvm" + */ + private String runtime = "jvm"; + + private AbstractCompileMojo mojo; + + public Java() { + } + + public void setAbstractCompileMojo(AbstractCompileMojo mojo) { + this.mojo = mojo; + } + + public void addIncludePaths(CCTask task, String outType) throws MojoFailureException { + if (include || mojo.getJavah().getJniDirectory().exists()) { + if (includePaths != null) { + for (Iterator i=includePaths.iterator(); i.hasNext(); ) { + String path = (String)i.next(); + task.createIncludePath().setPath(new File(mojo.getJavaHome(mojo.getAOL()), path).getPath()); + } + } else { + String prefix = mojo.getAOL().getKey()+".java."; + String includes = NarUtil.getDefaults().getProperty(prefix+"include"); + if (includes != null) { + String[] path = includes.split(";"); + for (int i=0; i as part of "); + } + } + mojo.getLog().debug("Using Java Rumtime Directory: "+runtimeDirectory); + + LibrarySet libset = new LibrarySet(); + libset.setProject(mojo.getAntProject()); + libset.setLibs(new CUtil.StringArrayBuilder(runtime)); + libset.setDir(new File(javaHome, runtimeDirectory)); + task.addLibset(libset); + } + } + } +} -- cgit v1.2.3