OpenEngSB Build Domain Manual

Version 2.0.0

Open Engineering Service Bus Development Team and Contributors


1. Build Domain
1.1. Description
1.2. Functional Interface
1.3. Event Interface

Chapter 1. Build Domain

The build domain is a domain for all build tools, like Maven or Ant.

1.1. Description

The build domain builds a specific pre-configured project or suite of projects.

1.2. Functional Interface

The following listing presents the Java Domain Interface. This interface also contains information about events raised by this domain.

/**
 * This domain can be used to build projects. The affected project is usually configured in the respective tool
 * connector.
 */
public interface BuildDomain extends Domain {

    /**
     * build the currently configured project. This method returns at once with an id. The build is conducted
     * asynchronously. The result can be retrieved using the events raised by this domain, which also contain the id.
     */
    @Raises({ BuildStartEvent.class, BuildSuccessEvent.class })
    String build();

    /**
     * build the currently configured project. This method returns at once with an id. The build is conducted
     * asynchronously. As soon as the build is finished an event is raised. The processId-field of the event must be
     * populated with the supplied processId.
     */
    @Raises({ BuildStartEvent.class, BuildSuccessEvent.class })
    void build(long processId);

}

1.3. Event Interface

The following interface presents the events a build connector can throw:

public interface BuildDomainEvents extends DomainEvents {

    void raiseEvent(BuildStartEvent e);

    void raiseEvent(BuildSuccessEvent e);

    void raiseEvent(BuildFailEvent e);
}