diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-07-28 15:30:10 +0200 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-07-28 15:30:10 +0200 |
commit | c1f0da324605c18caf137631e58878136a707df4 (patch) | |
tree | 37c91983a65d4e7d0816d5ac1b4b2be614fd1e74 /buildSrc | |
parent | build: fix testFixtures classpath in eclipse (diff) | |
download | refinery-c1f0da324605c18caf137631e58878136a707df4.tar.gz refinery-c1f0da324605c18caf137631e58878136a707df4.tar.zst refinery-c1f0da324605c18caf137631e58878136a707df4.zip |
build: file encoding import into Eclipse
See https://github.com/gradle/gradle/issues/898
Diffstat (limited to 'buildSrc')
5 files changed, 36 insertions, 3 deletions
diff --git a/buildSrc/src/main/groovy/refinery-eclipse.gradle b/buildSrc/src/main/groovy/refinery-eclipse.gradle new file mode 100644 index 00000000..ddd15fc2 --- /dev/null +++ b/buildSrc/src/main/groovy/refinery-eclipse.gradle | |||
@@ -0,0 +1,28 @@ | |||
1 | plugins { | ||
2 | id 'eclipse' | ||
3 | } | ||
4 | |||
5 | // Workaround from https://github.com/gradle/gradle/issues/898#issuecomment-885765821 | ||
6 | def eclipseResourceEncoding = tasks.register('eclipseResourceEncoding') { | ||
7 | ext.outputFile = file('.settings/org.eclipse.core.resources.prefs') | ||
8 | def compileTask = tasks.findByName('compileJava') | ||
9 | ext.encoding = provider({ compileTask?.options?.encoding }).orElse(providers.systemProperty('file.encoding')) | ||
10 | |||
11 | inputs.property("file.encoding", encoding) | ||
12 | outputs.file(outputFile).withPropertyName('outputFile') | ||
13 | |||
14 | doLast { | ||
15 | Properties eclipseEncodingProperties = new Properties(Collections.singletonMap('eclipse.preferences.version','1')) | ||
16 | eclipseEncodingProperties.put('encoding/<project>', encoding.get()) | ||
17 | outputFile.withOutputStream { | ||
18 | eclipseEncodingProperties.store(it, 'generated by ' + name) | ||
19 | } | ||
20 | eclipseEncodingProperties.list(System.out) | ||
21 | } | ||
22 | } | ||
23 | |||
24 | tasks.named('eclipse') { | ||
25 | dependsOn(eclipseResourceEncoding) | ||
26 | } | ||
27 | |||
28 | eclipse.synchronizationTasks(eclipseResourceEncoding) | ||
diff --git a/buildSrc/src/main/groovy/refinery-frontend-workspace.gradle b/buildSrc/src/main/groovy/refinery-frontend-workspace.gradle index 35410db4..9c6d7b13 100644 --- a/buildSrc/src/main/groovy/refinery-frontend-workspace.gradle +++ b/buildSrc/src/main/groovy/refinery-frontend-workspace.gradle | |||
@@ -1,4 +1,5 @@ | |||
1 | plugins { | 1 | plugins { |
2 | id 'refinery-eclipse' | ||
2 | id 'refinery-frontend-conventions' | 3 | id 'refinery-frontend-conventions' |
3 | } | 4 | } |
4 | 5 | ||
diff --git a/buildSrc/src/main/groovy/refinery-java-conventions.gradle b/buildSrc/src/main/groovy/refinery-java-conventions.gradle index 5bc73f61..bbdaa86c 100644 --- a/buildSrc/src/main/groovy/refinery-java-conventions.gradle +++ b/buildSrc/src/main/groovy/refinery-java-conventions.gradle | |||
@@ -1,7 +1,7 @@ | |||
1 | plugins { | 1 | plugins { |
2 | id 'eclipse' | ||
3 | id 'jacoco' | 2 | id 'jacoco' |
4 | id 'java' | 3 | id 'java' |
4 | id 'refinery-eclipse' | ||
5 | } | 5 | } |
6 | 6 | ||
7 | repositories { | 7 | repositories { |
diff --git a/buildSrc/src/main/groovy/refinery-java-test-fixtures.gradle b/buildSrc/src/main/groovy/refinery-java-test-fixtures.gradle index 326fa868..693cba98 100644 --- a/buildSrc/src/main/groovy/refinery-java-test-fixtures.gradle +++ b/buildSrc/src/main/groovy/refinery-java-test-fixtures.gradle | |||
@@ -24,7 +24,9 @@ eclipse.classpath { | |||
24 | if (hasTest && usedBy.contains('testFixtures')) { | 24 | if (hasTest && usedBy.contains('testFixtures')) { |
25 | usedBy += 'test' | 25 | usedBy += 'test' |
26 | } | 26 | } |
27 | entry.entryAttributes['gradle_used_by_scope'] = usedBy.join(',') | 27 | if (!usedBy.empty) { |
28 | entry.entryAttributes['gradle_used_by_scope'] = usedBy.join(',') | ||
29 | } | ||
28 | } | 30 | } |
29 | } | 31 | } |
30 | } | 32 | } |
diff --git a/buildSrc/src/main/groovy/refinery-jmh.gradle b/buildSrc/src/main/groovy/refinery-jmh.gradle index 17654463..fada4fb3 100644 --- a/buildSrc/src/main/groovy/refinery-jmh.gradle +++ b/buildSrc/src/main/groovy/refinery-jmh.gradle | |||
@@ -47,7 +47,9 @@ eclipse.classpath.file.whenMerged { classpath -> | |||
47 | // main and test sources are also used by jmh sources. | 47 | // main and test sources are also used by jmh sources. |
48 | usedBy += 'jmh' | 48 | usedBy += 'jmh' |
49 | } | 49 | } |
50 | entry.entryAttributes['gradle_used_by_scope'] = usedBy.join(',') | 50 | if (!usedBy.empty) { |
51 | entry.entryAttributes['gradle_used_by_scope'] = usedBy.join(',') | ||
52 | } | ||
51 | } | 53 | } |
52 | } | 54 | } |
53 | } | 55 | } |