Very cool. My EE background is jealous.
Gradle’s dependency resolution wants to resolve to a single version for a given configuration, so your best option may be to just split your duplicate dependencies like so:
repositories {
mavenCentral()
}
configurations {
compile5
compile6
}
dependencies {
compile5 'org.osgi:org.osgi.core:5.0.0'
compile6 'org.osgi:org.osgi.core:6.0.0'
}
task libs(type: Sync) {
from configurations.compile5
from configurations.compile6
into "$buildDir/libs"
}
Obviously, this gets more hairy as you have more and more “duplicate” dependencies and start to consider transitive dependencies. Do you have any examples of how this is normally handled with the current Verilog ecosystem? I assume it looks a lot like the other native languages.