package org.implab.gradle.variants.sources;

import org.gradle.api.NamedDomainObjectProvider;
import org.implab.gradle.common.sources.GenericSourceSet;

/**
 * Materializes symbolic source set names into actual GenericSourceSet instances.
 */
public interface SourceSetMaterializer {
    NamedDomainObjectProvider<GenericSourceSet> getSourceSet(String sourceSetName);

    default NamedDomainObjectProvider<GenericSourceSet> getSourceSet(SourceSetProjection projection) {
        return getSourceSet(projection.getName());
    }
}