- Separate common project into 4 source sets - Declare outgoing configurations for forge/fabric to depend on - Re-compile source from each source set in each platform's compileJava