rodm / gradle-teamcity-plugin

Gradle plugin for developing TeamCity plugins

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support a single project configuration using sourceSets

rodm opened this issue · comments

Currently each part of the a plugin has to be build using a separate Gradle sub-project. Adding a sourceSet property could allow a single project build all the components, a common/shared library, agent-side plugin and server-side plugin.

An example configuration

sourceSets {
    common
    agent
    server
}

teamcity {
    common {
        sourceSet = sourceSets.common
    }
    agent {
        sourceSet = sourceSets.agent
    }
    server {
        sourceSet = sourceSets.server
        descriptor {
            ...
        }
    }
}

Unit tests for each component will most likely require a separate source set.

If they are real unit tests, the test cofiguration / task could be usable just fine, as they should only test single methods of single classes basically.