diff options
author | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-18 16:40:23 +0100 |
---|---|---|
committer | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-18 16:40:23 +0100 |
commit | 4c70a81345c566d7b4dd6dc2fad51fe70726c8f0 (patch) | |
tree | e4394385ba7610bdee04af81abedcbbc0bc169ae /src/main/java/org/apache/maven/plugin/nar/Lib.java | |
parent | 59a81bc23a42a82dca675b8c7cd661a3c0fa40db (diff) | |
download | maven-nar-plugin-4c70a81345c566d7b4dd6dc2fad51fe70726c8f0.tar.gz maven-nar-plugin-4c70a81345c566d7b4dd6dc2fad51fe70726c8f0.tar.bz2 maven-nar-plugin-4c70a81345c566d7b4dd6dc2fad51fe70726c8f0.tar.xz maven-nar-plugin-4c70a81345c566d7b4dd6dc2fad51fe70726c8f0.zip |
Further cleanup
Diffstat (limited to 'src/main/java/org/apache/maven/plugin/nar/Lib.java')
-rw-r--r-- | src/main/java/org/apache/maven/plugin/nar/Lib.java | 84 |
1 files changed, 48 insertions, 36 deletions
diff --git a/src/main/java/org/apache/maven/plugin/nar/Lib.java b/src/main/java/org/apache/maven/plugin/nar/Lib.java index ab6e925..d2e7adb 100644 --- a/src/main/java/org/apache/maven/plugin/nar/Lib.java +++ b/src/main/java/org/apache/maven/plugin/nar/Lib.java @@ -72,57 +72,69 @@ public class Lib */ private List/* <Lib> */libs; - public void addLibSet( AbstractDependencyMojo mojo, LinkerDef linker, Project antProject ) + public final void addLibSet( AbstractDependencyMojo mojo, LinkerDef linker, Project antProject ) throws MojoFailureException, MojoExecutionException { + if ( name == null ) + { + throw new MojoFailureException( "NAR: Please specify <Name> as part of <Lib>" ); + } addLibSet( mojo, linker, antProject, name, directory ); } private void addLibSet( AbstractDependencyMojo mojo, LinkerDef linker, Project antProject, String name, File dir ) throws MojoFailureException, MojoExecutionException { - if ( name == null ) - { - throw new MojoFailureException( "NAR: Please specify <Name> as part of <Lib>" ); - } if ( libs == null ) { - if ( !type.equals( "framework" ) && ( dir == null ) ) - { - throw new MojoFailureException( "NAR: Please specify <Directory> as part of <Lib>" ); - } - LibrarySet libSet = new LibrarySet(); - libSet.setProject( antProject ); - libSet.setLibs( new CUtil.StringArrayBuilder( name ) ); - LibraryTypeEnum libType = new LibraryTypeEnum(); - libType.setValue( type ); - libSet.setType( libType ); - libSet.setDir( dir ); - linker.addLibset( libSet ); + addSingleLibSet( linker, antProject, name, dir ); } else { - List dependencies = mojo.getNarManager().getNarDependencies( "compile" ); - for ( Iterator i = libs.iterator(); i.hasNext(); ) + addMultipleLibSets( mojo, linker, antProject, name ); + } + } + + private void addSingleLibSet( LinkerDef linker, Project antProject, String name, File dir ) + throws MojoFailureException, MojoExecutionException + { + if ( !type.equals( "framework" ) && ( dir == null ) ) + { + throw new MojoFailureException( "NAR: Please specify <Directory> as part of <Lib>" ); + } + LibrarySet libSet = new LibrarySet(); + libSet.setProject( antProject ); + libSet.setLibs( new CUtil.StringArrayBuilder( name ) ); + LibraryTypeEnum libType = new LibraryTypeEnum(); + libType.setValue( type ); + libSet.setType( libType ); + libSet.setDir( dir ); + linker.addLibset( libSet ); + } + + private void addMultipleLibSets( AbstractDependencyMojo mojo, LinkerDef linker, Project antProject, String name ) + throws MojoFailureException, MojoExecutionException + { + List dependencies = mojo.getNarManager().getNarDependencies( "compile" ); + for ( Iterator i = libs.iterator(); i.hasNext(); ) + { + Lib lib = (Lib) i.next(); + String[] ids = name.split( ":", 2 ); + if ( ids.length != 2 ) { - Lib lib = (Lib) i.next(); - String[] ids = name.split( ":", 2 ); - if ( ids.length != 2 ) - { - throw new MojoFailureException( - "NAR: Please specify <Name> as part of <Lib> in format 'groupId:artifactId'" ); - } - for ( Iterator j = dependencies.iterator(); j.hasNext(); ) + throw new MojoFailureException( + "NAR: Please specify <Name> as part of <Lib> in format 'groupId:artifactId'" ); + } + for ( Iterator j = dependencies.iterator(); j.hasNext(); ) + { + Artifact dependency = (Artifact) j.next(); + if ( dependency.getGroupId().equals( ids[0] ) && dependency.getArtifactId().equals( ids[1] ) ) { - Artifact dependency = (Artifact) j.next(); - if ( dependency.getGroupId().equals( ids[0] ) && dependency.getArtifactId().equals( ids[1] ) ) - { - File narDir = - new File( mojo.getNarManager().getNarFile( dependency ).getParentFile(), "nar/lib/" - + mojo.getAOL() + "/" + lib.type ); - String narName = dependency.getArtifactId() + "-" + lib.name + "-" + dependency.getVersion(); - lib.addLibSet( mojo, linker, antProject, narName, narDir ); - } + File narDir = + new File( mojo.getNarManager().getNarFile( dependency ).getParentFile(), "nar/lib/" + + mojo.getAOL() + "/" + lib.type ); + String narName = dependency.getArtifactId() + "-" + lib.name + "-" + dependency.getVersion(); + lib.addLibSet( mojo, linker, antProject, narName, narDir ); } } } |