diff options
author | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-10-31 08:57:59 +0100 |
---|---|---|
committer | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-10-31 08:57:59 +0100 |
commit | 3eff363d20e095c82a5a57220e681ed9c7c0cf65 (patch) | |
tree | 9a3ad63b7dfcb57edd5f0eb57efdb50d42ffe812 /src | |
parent | 327a7e538d35ca6a582e2d812a2d1c8afd625d17 (diff) | |
download | maven-nar-plugin-3eff363d20e095c82a5a57220e681ed9c7c0cf65.tar.gz maven-nar-plugin-3eff363d20e095c82a5a57220e681ed9c7c0cf65.tar.bz2 maven-nar-plugin-3eff363d20e095c82a5a57220e681ed9c7c0cf65.tar.xz maven-nar-plugin-3eff363d20e095c82a5a57220e681ed9c7c0cf65.zip |
Libs now in correct place in target, part of NAR-90
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/apache/maven/plugin/nar/NarSystemGenerate.java | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/src/main/java/org/apache/maven/plugin/nar/NarSystemGenerate.java b/src/main/java/org/apache/maven/plugin/nar/NarSystemGenerate.java deleted file mode 100644 index d33df60..0000000 --- a/src/main/java/org/apache/maven/plugin/nar/NarSystemGenerate.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.apache.maven.plugin.nar; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Iterator; - -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; - -/** - * Generates a NarSystem class with static methods to use inside the java part of the library. - * - * @goal nar-system-generate - * @phase generate-sources - * @requiresProject - * @author Mark Donszelmann - */ -public class NarSystemGenerate - extends AbstractCompileMojo -{ - - public void execute() - throws MojoExecutionException, MojoFailureException - { - if ( shouldSkip() ) - return; - - // get packageName if specified for JNI. - String packageName = null; - String narSystemName = null; - String narSystemDirectory = null; - boolean jniFound = false; - for ( Iterator i = getLibraries().iterator(); !jniFound && i.hasNext(); ) - { - Library library = (Library) i.next(); - if ( library.getType().equals( Library.JNI ) ) - { - packageName = library.getNarSystemPackage(); - narSystemName = library.getNarSystemName(); - narSystemDirectory = library.getNarSystemDirectory(); - jniFound = true; - } - } - - if ( !jniFound || packageName == null) - return; - - File narSystemTarget = new File(getMavenProject().getBasedir(), narSystemDirectory); - - // make sure destination is there - narSystemTarget.mkdirs(); - - getMavenProject().addCompileSourceRoot( narSystemTarget.getPath() ); - - File fullDir = new File( narSystemTarget, packageName.replace( '.', '/' ) ); - fullDir.mkdirs(); - - File narSystem = new File( fullDir, narSystemName + ".java" ); - getLog().info("Generating "+narSystem); - try - { - String artifactId = getMavenProject().getArtifactId(); - String version = getMavenProject().getVersion(); - FileOutputStream fos = new FileOutputStream( narSystem ); - PrintWriter p = new PrintWriter( fos ); - p.println( "// DO NOT EDIT: Generated by NarSystemGenerate." ); - p.println( "package " + packageName + ";" ); - p.println( "" ); - p.println( "/**" ); - p.println( " * Generated class to load the correct version of the jni library" ); - p.println( " *" ); - p.println( " * @author maven-nar-plugin" ); - p.println( " */" ); - p.println( "public class NarSystem" ); - p.println( "{" ); - p.println( "" ); - p.println( " private NarSystem() " ); - p.println( " {" ); - p.println( " }" ); - p.println( "" ); - p.println( " /**" ); - p.println( " * Load jni library: "+artifactId+"-"+version ); - p.println( " *" ); - p.println( " * @author maven-nar-plugin" ); - p.println( " */" ); - p.println( " public static void loadLibrary()" ); - p.println( " {" ); - p.println( " System.loadLibrary(\"" + artifactId + "-" - + version + "\");" ); - p.println( " }" ); - p.println( "}" ); - p.close(); - fos.close(); - } - catch ( IOException e ) - { - throw new MojoExecutionException( "Could not write '" + narSystemName + "'", e ); - } - } -} |