Class SpoonPom

    • Constructor Detail

      • SpoonPom

        public SpoonPom​(String path,
                        MavenLauncher.SOURCE_TYPE sourceType,
                        Environment environment)
                 throws IOException,
                        org.codehaus.plexus.util.xml.pull.XmlPullParserException
        Extract the information from the pom
        Parameters:
        path - the path to the pom
        Throws:
        IOException - when the file does not exist
        org.codehaus.plexus.util.xml.pull.XmlPullParserException - when the file is corrupted
      • SpoonPom

        public SpoonPom​(String path,
                        MavenLauncher.SOURCE_TYPE sourceType,
                        Environment environment,
                        Pattern profileFilter)
                 throws IOException,
                        org.codehaus.plexus.util.xml.pull.XmlPullParserException
        Extract the information from the pom
        Parameters:
        path - the path to the pom
        profileFilter - regex pattern to filter profiles when expanding defined modules. Only modules in matching profiles are expanded
        Throws:
        IOException - when the file does not exist
        org.codehaus.plexus.util.xml.pull.XmlPullParserException - when the file is corrupted
      • SpoonPom

        public SpoonPom​(String path,
                        SpoonPom parent,
                        MavenLauncher.SOURCE_TYPE sourceType,
                        Environment environment)
                 throws IOException,
                        org.codehaus.plexus.util.xml.pull.XmlPullParserException
        Extract the information from the pom
        Parameters:
        path - the path to the pom
        parent - the parent pom
        Throws:
        IOException - when the file does not exist
        org.codehaus.plexus.util.xml.pull.XmlPullParserException - when the file is corrupted
      • SpoonPom

        public SpoonPom​(String path,
                        SpoonPom parent,
                        MavenLauncher.SOURCE_TYPE sourceType,
                        Environment environment,
                        Pattern profileFilter)
                 throws IOException,
                        org.codehaus.plexus.util.xml.pull.XmlPullParserException
        Extract the information from the pom
        Parameters:
        path - the path to the pom
        parent - the parent pom
        profileFilter - regex pattern to filter profiles when expanding defined modules. Only modules in matching profiles are expanded
        Throws:
        IOException - when the file does not exist
        org.codehaus.plexus.util.xml.pull.XmlPullParserException - when the file is corrupted
    • Method Detail

      • getModules

        public List<SpoonPom> getModules()
        Get the list of modules defined in this POM
        Returns:
        the list of modules
      • getModel

        public org.apache.maven.model.Model getModel()
        Get the Project Object Model
        Returns:
        the Project Object Model
      • getSourceDirectories

        public List<File> getSourceDirectories()
        Get the list of source directories of the project
        Returns:
        the list of source directories
      • getTestDirectories

        public List<File> getTestDirectories()
        Get the list of test directories of the project
        Returns:
        the list of test directories
      • getClasspathTmpFiles

        public List<File> getClasspathTmpFiles​(String fileName)
        Get the list of classpath files generated by maven
        Returns:
        the list of classpath files
      • getSourceVersion

        public int getSourceVersion()
        Get the source version of the project
        Returns:
        the source version of the project
      • guessMavenHome

        public static String guessMavenHome()
        Try to guess Maven home when none is provided.
        Returns:
        the path toward maven install on the local machine.
        Throws:
        SpoonException - if path to maven executable is wrong, process is interrupted, or maven home could not be found.
      • buildClassPath

        public String[] buildClassPath​(String mvnHome,
                                       MavenLauncher.SOURCE_TYPE sourceType,
                                       org.slf4j.Logger LOGGER,
                                       boolean forceRefresh)
        Call maven invoker to generate the classpath. Either M2_HOME must be initialized, or the command mvn must be in PATH.
        Parameters:
        mvnHome - the path to the m2repository
        sourceType - the source type (App, test, or all)
        LOGGER - Logger used for maven output
        forceRefresh - if true forces the invocation of maven to regenerate classpath
      • getParentPom

        public SpoonPom getParentPom()
        Get the parent model
        Returns:
        the parent model
      • isFile

        public boolean isFile()
        Description copied from interface: SpoonResource
        Tells if this resource is a file.
        Specified by:
        isFile in interface SpoonResource
      • isArchive

        public boolean isArchive()
        Description copied from interface: SpoonResource
        Tells if this resource is an archive.
        Specified by:
        isArchive in interface SpoonResource
      • toFile

        public File toFile()
        Description copied from interface: SpoonResource
        Gets the corresponding file if possible (returns null if this resource does not correspond to any file on the filesystem).
        Specified by:
        toFile in interface SpoonResource