Interface JavaModuleFacet

    • Method Detail

      • isCompileInMps

        boolean isCompileInMps()
      • getClassesGen

        @Nullable
        IFile getClassesGen()
        Returns:
        root folder where generated classes of any module's model reside, or null if associated module doesn't expect class files to be written. Note, although generated classes are part of classpath, this method is to access design-time location of generated classes, not that at deployment time. For deployed modules, this method may return null, while generated module classes would be available for classloading through getClassPath().
      • getClassesLocation

        @Nullable
        default IFile getClassesLocation​(@NotNull
                                         SModel model)
        Parameters:
        model - model of a module this facet is associated with
        Returns:
        FS location where model class files reside, null for deployed modules
      • getOutputRoot

        @Nullable
        default IFile getOutputRoot()
        PROVISIONAL Perhaps, worth moving to GenerationTargetFacet. OTOH, don't see a reason to restrict output of the facet to single root Need one here for transition period to have default implementations for getOutputLocation(SModel) and getOutputCacheLocation(SModel) Perhaps, shall be private to JavaModuleFacetImpl (need to get rid of default implementations of the dependant methods first). Top location where all 'primary' output goes, generally bound to module location, although no assumption shall be made about that. Known as source_gen
        Returns:
        null if associated module doesn't allow generation.
      • getOutputCacheRoot

        @Nullable
        default IFile getOutputCacheRoot()
        PROVISIONAL, see getOutputRoot() for details. Top location where auxiliary (dependencies, hashes) output goes, generally bound to module's output location. Known as source_gen.caches
        Returns:
        null if associated module doesn't have sources/doesn't allow generation
      • getOutputLocation

        @Nullable
        default IFile getOutputLocation​(@NotNull
                                        SModel model)
        E.g. source_gen/qualified/model/name/ FIXME decide whether shall look into model output overrides (see DefaultStreamManager.Provider.getOverriddenOutputDir()). Didn't check for override right away as I don't like use of distinct boolean option isGenerateIntoModelFolder() to describe an output alternative, and would like to come up with a better alternative
        Specified by:
        getOutputLocation in interface GenerationTargetFacet
        Parameters:
        model - model of a module this facet is associated with
        Returns:
        null if this module doesn't allow generation (e.g. packaged)
      • getOutputCacheLocation

        @Nullable
        default IFile getOutputCacheLocation​(@NotNull
                                             SModel model)
        E.g. source_gen.caches/qualified/model/name/
        Specified by:
        getOutputCacheLocation in interface GenerationTargetFacet
        Parameters:
        model - model of a module this facet is associated with
        Returns:
        null if this module doesn't allow generation (e.g. packaged)
      • getLibraryClassPath

        Set<String> getLibraryClassPath()
      • getAdditionalSourcePaths

        Set<String> getAdditionalSourcePaths()
        Returns:
        extra locations with source files to compile along with module's own generated artifacts from getOutputRoot(), or empty collection.