Class Project

java.lang.Object
de.sormuras.bach.Project

public class Project
extends java.lang.Object
Modular project model.
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  Project.Deployment
    Properties used to upload compiled modules.
    static class  Project.Library
    Manage external 3rd-party modules.
    static class  Project.ModuleInfo
    Source-based module reference.
    static class  Project.ModuleUnit
    Java module source unit.
    static class  Project.Realm
    Main- and test realms.
    static class  Project.Source
    Single source path with optional release directive.
    class  Project.Target
    Collection of directories and other realm-specific assets.
    static class  Project.ToolArguments
    Realm-specific tool argument collector.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    java.nio.file.Path baseDirectory
    Base directory.
    Project.Library library
    Library.
    java.lang.String name
    Name of the project.
    java.util.List<Project.Realm> realms
    Realms.
    java.nio.file.Path targetDirectory
    Target directory.
    java.lang.module.ModuleDescriptor.Version version
    Version of the project.
  • Constructor Summary

    Constructors 
    Constructor Description
    Project​(java.nio.file.Path baseDirectory, java.nio.file.Path targetDirectory, java.lang.String name, java.lang.module.ModuleDescriptor.Version version, Project.Library library, java.util.List<Project.Realm> realms)  
  • Method Summary

    Modifier and Type Method Description
    java.util.List<java.nio.file.Path> modulePaths​(Project.Target target, java.nio.file.Path... initialPaths)
    Compute module path for the passed realm.
    static Project of​(java.nio.file.Path base)
    Create default project parsing the passed base directory.
    Project.Target target​(Project.Realm realm)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • baseDirectory

      public final java.nio.file.Path baseDirectory
      Base directory.
    • targetDirectory

      public final java.nio.file.Path targetDirectory
      Target directory.
    • name

      public final java.lang.String name
      Name of the project.
    • version

      public final java.lang.module.ModuleDescriptor.Version version
      Version of the project.
    • library

      public final Project.Library library
      Library.
    • realms

      public final java.util.List<Project.Realm> realms
      Realms.
  • Constructor Details

    • Project

      public Project​(java.nio.file.Path baseDirectory, java.nio.file.Path targetDirectory, java.lang.String name, java.lang.module.ModuleDescriptor.Version version, Project.Library library, java.util.List<Project.Realm> realms)
  • Method Details

    • of

      public static Project of​(java.nio.file.Path base)
      Create default project parsing the passed base directory.
    • modulePaths

      public java.util.List<java.nio.file.Path> modulePaths​(Project.Target target, java.nio.file.Path... initialPaths)
      Compute module path for the passed realm.
    • target

      public Project.Target target​(Project.Realm realm)