Proctor - A/B Testing Framework by Indeed

Maven Modules

proctor-common

The core classes responsible for allocating users to groups, evaluating test rules, and loading the test-matrix.

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-common</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

proctor-consumer

Provides the AbstractGroups and AbstractGroupsManager classes to use when referencing groups in application code. The AbstractShowTestGroupsController and ViewProctorSpecificationServlet web servlets can be used to display the current state of Proctor loaded by the application.

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-consumer</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

proctor-codegen

A code generator that can be used to generate an application’s AbstractGroups and AbstractGroupsMananger implementations in Java based on an application’s test specification.

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-codegen</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

proctor-maven-plugin

A maven plugin that invokes the Java and JavaScript code generators from proctor-codegen.

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

proctor-ant-plugin

An ant task that invokes the Java and JavaScript code generators from proctor-codegen.

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-ant-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

proctor-builder

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-builder</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

proctor-store

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-store</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

proctor-store-svn

<dependency>
    <groupId>com.indeed</groupId>
    <artifactId>proctor-store-svn</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>