Index: src/main/java/org/apache/maven/plugin/idea/Library.java =================================================================== --- src/main/java/org/apache/maven/plugin/idea/Library.java (revision 551893) +++ src/main/java/org/apache/maven/plugin/idea/Library.java (working copy) @@ -28,6 +28,8 @@ private String sources; + private String javadocs; + private String classes; private boolean exclude; @@ -62,6 +64,26 @@ return sources.split( "[,\\s]+" ); } + public String getJavadocs() + { + return javadocs; + } + + public void setJavadocs( String javadocs ) + { + this.javadocs = javadocs; + } + + public String[] getSplitJavadocs() + { + if ( javadocs == null ) + { + return new String[0]; + } + + return javadocs.split( "[,\\s]+" ); + } + public String[] getSplitClasses() { if ( classes == null ) Index: src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java =================================================================== --- src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java (revision 551893) +++ src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java (working copy) @@ -569,7 +569,19 @@ resolveClassifier( createOrGetElement( lib, "SOURCES" ), a, sourceClassifier ); } - if ( downloadJavadocs ) + if ( library != null && library.getSplitJavadocs().length > 0 ) + { + removeOldElements( lib, "JAVADOC" ); + Element javadocsElement = createElement( lib, "JAVADOC" ); + String[] javadocs = library.getSplitJavadocs(); + for ( int k = 0; k < javadocs.length; k++ ) + { + String javadoc = javadocs[k]; + extractMacro( javadoc ); + Element sourceEl = createElement( javadocsElement, "root" ); + sourceEl.addAttribute( "url", javadoc ); + } + } else if ( downloadJavadocs ) { resolveClassifier( createOrGetElement( lib, "JAVADOC" ), a, javadocClassifier ); }