Author: nicolas Date: Mon Apr 21 08:54:39 2008 New Revision: 650178 URL: http://svn.apache.org/viewvc?rev=650178&view=rev Log: MECLIPSE-437 : include java/javax api dependency prior the classpath container
Modified: maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-30/expected/.classpath Modified: maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java?rev=650178&r1=650177&r2=650178&view=diff ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java (original) +++ maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java Mon Apr 21 08:54:39 2008 @@ -324,6 +324,26 @@ writer.addAttribute( ATTR_PATH, defaultOutput ); writer.endElement(); + Set addedDependencies = new HashSet(); + // TODO if (..magic property equals orderDependencies..) + + // ---------------------------------------------------------------------- + // Java API dependencies that may complete the classpath container so must + // be declared BEFORE so that container access rules don't fail + // ---------------------------------------------------------------------- + IdeDependency[] depsToWrite = config.getDepsOrdered(); + for ( int j = 0; j < depsToWrite.length; j++ ) + { + IdeDependency dep = depsToWrite[j]; + if ( dep.isJavaApi() ) + { + String depId = + dep.getGroupId() + ":" + dep.getArtifactId() + ":" + dep.getClassifier() + ":" + dep.getVersion(); + addDependency( writer, dep ); + addedDependencies.add( depId ); + } + } + // ---------------------------------------------------------------------- // Container classpath entries // ---------------------------------------------------------------------- @@ -339,9 +359,6 @@ // ---------------------------------------------------------------------- // The dependencies // ---------------------------------------------------------------------- - Set addedDependencies = new HashSet(); - // TODO if (..magic property equals orderDependencies..) - IdeDependency[] depsToWrite = config.getDepsOrdered(); for ( int j = 0; j < depsToWrite.length; j++ ) { IdeDependency dep = depsToWrite[j]; Modified: maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java?rev=650178&r1=650177&r2=650178&view=diff ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java (original) +++ maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java Mon Apr 21 08:54:39 2008 @@ -523,6 +523,14 @@ return isSystemScoped() && !getFile().getAbsolutePath().startsWith( modulesTop.getAbsolutePath() ); } + /** + * @return <tt>true</tt> if this dependency is a Java API + */ + public boolean isJavaApi() + { + return groupId.startsWith( "java." ) || groupId.startsWith( "javax." ); + } + /** * [EMAIL PROTECTED] */ Modified: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-30/expected/.classpath URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-30/expected/.classpath?rev=650178&r1=650177&r2=650178&view=diff ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-30/expected/.classpath (original) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-30/expected/.classpath Mon Apr 21 08:54:39 2008 @@ -1,5 +1,5 @@ <classpath> <classpathentry kind="output" path="target/classes"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> </classpath>