Uploaded image for project: 'Maven Eclipse Plugin (RETIRED)'
  1. Maven Eclipse Plugin (RETIRED)
  2. MECLIPSE-173

Project should be considered a Java project if it has at least one source folder even if the language of its artifact handler is not java

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.2
    • None
    • PDE support
    • None
    • Patch

    Description

      Use case:

      • I have non java source files in src/main/foo (for example a UML model)
      • the "foo" artifact handler builds a zip containing the "foo" source files and its language is not "java" (for example the UML model zipped)
      • I have a "bar" plugin which generates "bar" java source files from the "foo" source files in target/generated-sources/bar. (for example an MDA plugin)
      • The "bar" plugin also builds a jar containing the target/generated-sources/bar java source files and attachs it with a "bar" classifier.

      So even if the language of my project's artifact handler is not set to "java", since my project contains java source code (generated), my project should be considered a java project so that it can be referenced in multiproject mode by other projects in their build path.

      The effect is obtained by replacing :
      isJavaProject = "java".equals( artifactHandler.getLanguage() ) && !"ear".equals( packaging );

      by

      isJavaProject = ("java".equals(artifactHandler.getLanguage()) || sourceDirs.length > 0)
      && !"ear".equals(packaging);

      and moving the code which builds the sourceDirs from the EclipsePlugin#writeConfiguration( IdeDependency[] deps ) to the EclipsePlugin#setup() method.

      Regards,

      Cédric

      Attachments

        Activity

          People

            Unassigned Unassigned
            cedricvidal Cédric Vidal
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: