Skip to content

Commit 3d735bc

Browse files
A248ben-manes
authored andcommitted
Add module descriptor while maintaining Eclipse IDE experience
* Fixes #535 * Uses Gradle Eclipse plugin to exclude module-info from compilation in Eclipse. Prevents hordes of issues.
1 parent 038153a commit 3d735bc

7 files changed

Lines changed: 32 additions & 5 deletions

File tree

caffeine/build.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@ idea.module {
2424
}
2525

2626
eclipse.classpath.file.whenMerged {
27-
entries.findAll { it instanceof SourceFolder && it.output == 'bin/codeGen' }*.output = 'bin/main'
27+
entries.findAll {
28+
it instanceof SourceFolder && it.output == 'bin/codeGen'
29+
}*.output = 'bin/main'
30+
// Exclude module-info when compiling through Eclipse
31+
def main = entries.find { it instanceof SourceFolder && it.path == 'src/main/java' }
32+
main.excludes.add('module-info.java')
2833
}
2934

3035
plugins.withType(EclipsePlugin) {
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module com.github.benmanes.caffeine {
2+
exports com.github.benmanes.caffeine.cache;
3+
exports com.github.benmanes.caffeine.cache.stats;
4+
5+
requires static transitive com.google.errorprone.annotations;
6+
requires static transitive org.checkerframework.checker.qual;
7+
}

gradle/codeQuality.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ tasks.withType(JavaCompile).configureEach {
148148
annotatedPackages.add('com.github.benmanes.caffeine')
149149
}
150150
}
151-
modularity.inferModulePath.set(false)
152151
checkerFramework.skipCheckerFramework = true
153152
}
154153

gradle/dependencies.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ ext {
4141
elasticSearch: '7.12.0',
4242
expiringMap: '0.5.9',
4343
fastfilter: '1.0',
44-
fastutil: '8.5.4',
44+
fastutil: '8.5.2',
4545
flipTables: '1.1.0',
4646
googleJavaFormat: '1.10.0',
4747
guava: '30.1.1-jre',
@@ -165,10 +165,14 @@ ext {
165165
jcacheTck: "javax.cache:cache-tests:${testVersions.jcacheTck}",
166166
jcacheTckTests: "javax.cache:cache-tests:${testVersions.jcacheTck}:tests",
167167
jctools: "org.jctools:jctools-core:${testVersions.jctools}",
168-
junit: "junit:junit:${testVersions.junit}",
168+
junit: dependencies.create("junit:junit:${testVersions.junit}") {
169+
exclude group: 'org.hamcrest'
170+
},
169171
mockito: "org.mockito:mockito-core:${testVersions.mockito}",
170172
osgiCompile: [
171-
"org.ops4j.pax.exam:pax-exam-junit4:${testVersions.paxExam}",
173+
dependencies.create("org.ops4j.pax.exam:pax-exam-junit4:${testVersions.paxExam}") {
174+
exclude group: 'org.hamcrest'
175+
},
172176
],
173177
osgiRuntime: [
174178
"org.apache.felix:org.apache.felix.framework:${testVersions.felix}",

guava/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ dependencies {
1414
testImplementation testLibraries.guavaTestLib
1515
}
1616

17+
compileJava {
18+
modularity.inferModulePath = false
19+
}
20+
1721
jar.manifest {
1822
attributes 'Bundle-SymbolicName': 'com.github.ben-manes.caffeine.guava'
1923
attributes 'Import-Package': [

jcache/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ dependencies {
3030
doc "${libraries.jcache}:javadoc"
3131
}
3232

33+
compileJava {
34+
modularity.inferModulePath = false
35+
}
36+
3337
jar.manifest {
3438
attributes 'Bundle-SymbolicName': 'com.github.ben-manes.caffeine.jcache'
3539
attributes 'Import-Package': [

simulator/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ dependencies {
3535
testImplementation testLibraries.testng
3636
}
3737

38+
compileJava {
39+
modularity.inferModulePath = false
40+
}
41+
3842
test {
3943
useTestNG()
4044
}

0 commit comments

Comments
 (0)