Class AbstractProject

java.lang.Object
org.jdrupes.builder.core.AbstractProvider
org.jdrupes.builder.core.AbstractProject
All Implemented Interfaces:
Project, ResourceProvider
Direct Known Subclasses:
BootstrapBuild, BootstrapRoot

public abstract class AbstractProject extends AbstractProvider implements Project
A default implementation of a Project.
  • Constructor Details

    • AbstractProject

      protected AbstractProject(NamedParameter<?>... params)

      Base class constructor for all projects. The behavior depends on whether the project is a root project (implements RootProject) or a subproject and on whether the project specifies a parent project.

      RootProjects must invoke this constructor with a null parent project class.

      A sub project that wants to specify a parent project must invoke this constructor with the parent project's class. If a sub project does not specify a parent project, the root project is used as parent. In both cases, the constructor adds a Intend.Forward dependency between the parent project and the new project. This can then be overridden in the sub project's constructor.

      Parameters:
      params -

      the named parameters

      • parent - the class of the parent project
      • name - the name of the project. If not provided the name is set to the (simple) class name
      • directory - the directory of the project. If not provided, the directory is set to the name with uppercase letters converted to lowercase for subprojects. For root projects the directory is always set to the current working
  • Method Details