Skip to content

Instantly share code, notes, and snippets.

@mateidavid-work
Last active November 28, 2019 18:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mateidavid-work/2d9b8e17bca87b418305d5cdcc698314 to your computer and use it in GitHub Desktop.
Save mateidavid-work/2d9b8e17bca87b418305d5cdcc698314 to your computer and use it in GitHub Desktop.
How to collapse source sets in a java library
plugins {
id "java-library"
}
sourceSets {
base {
}
}
dependencies {
api sourceSets.base.output
}
plugins {
id "java"
}
sourceSets {
base {
}
main {
output.dir(sourceSets.base.output)
}
}
dependencies {
compileOnly sourceSets.base.output
}
package local.api.base;
public enum AnEnum {}
package local.api.main;
import local.api.base.AnEnum;
public interface AnInterface {
AnEnum anEnum();
}
plugins {
id "java-library-distribution"
}
dependencies {
implementation project(":impl")
}
plugins {
id "java-library"
}
dependencies {
api project(":api")
}
package local.impl.main;
import local.api.base.AnEnum;
import local.api.main.AnInterface;
public class AClass implements AnInterface {
@Override
public AnEnum anEnum() {
return null;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment