diff options
author | Kristóf Marussy <kristof@marussy.com> | 2021-10-03 21:35:35 +0200 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2021-10-03 21:35:35 +0200 |
commit | a3c600738ed16356df75b923c9e00738302b3b66 (patch) | |
tree | 9e6a8b4c14c18d89deaf65e4ee3d6d74a70acd14 | |
parent | chore(web): bump MUI 5 to released version (diff) | |
download | refinery-a3c600738ed16356df75b923c9e00738302b3b66.tar.gz refinery-a3c600738ed16356df75b923c9e00738302b3b66.tar.zst refinery-a3c600738ed16356df75b923c9e00738302b3b66.zip |
build: refactor task dependencies
-rw-r--r-- | .editorconfig | 1 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | build.gradle | 3 | ||||
-rw-r--r-- | gradle/java-common.gradle | 12 | ||||
-rw-r--r-- | gradle/xtend.gradle | 3 | ||||
-rw-r--r-- | language-ide/build.gradle | 12 | ||||
-rw-r--r-- | language-model/build.gradle | 10 | ||||
-rw-r--r-- | language-web/build.gradle | 30 | ||||
-rw-r--r-- | language/build.gradle | 20 |
9 files changed, 37 insertions, 56 deletions
diff --git a/.editorconfig b/.editorconfig index 4615cdbf..5ce3abdf 100644 --- a/.editorconfig +++ b/.editorconfig | |||
@@ -13,4 +13,3 @@ indent_size = 4 | |||
13 | [*.{html,js,json,jsx,scss,ts,tsx,yml}] | 13 | [*.{html,js,json,jsx,scss,ts,tsx,yml}] |
14 | indent_style = space | 14 | indent_style = space |
15 | indent_size = 2 | 15 | indent_size = 2 |
16 | |||
@@ -28,7 +28,7 @@ | |||
28 | 28 | ||
29 | 7. Clone the project Git repository but do not import it into Eclipse yet. | 29 | 7. Clone the project Git repository but do not import it into Eclipse yet. |
30 | 30 | ||
31 | 8. Open a new terminal an run `./gradlew eclipseJdt` (`.\gradlew eclipseJdt` on Windows) in the cloned repository. | 31 | 8. Open a new terminal an run `./gradlew prepareEclipse` (`.\gradlew prepareEclipse` on Windows) in the cloned repository. |
32 | * This should complete without any compilation errors. | 32 | * This should complete without any compilation errors. |
33 | * If you get any errors about the JVM version, check whether the `JAVA_HOME` environment variable is set to the location of JDK. You can query the variable with `echo $JAVA_HOME` on Linux and `echo $Env:JAVA_HOME` in PowerShell on Windows. To set it, use `export JAVA_HOME=/java/path/here` or `$Env:JAVA_HOME="C:\java\path\here"`, respectively. | 33 | * If you get any errors about the JVM version, check whether the `JAVA_HOME` environment variable is set to the location of JDK. You can query the variable with `echo $JAVA_HOME` on Linux and `echo $Env:JAVA_HOME` in PowerShell on Windows. To set it, use `export JAVA_HOME=/java/path/here` or `$Env:JAVA_HOME="C:\java\path\here"`, respectively. |
34 | 34 | ||
diff --git a/build.gradle b/build.gradle index 3591c286..b4980e02 100644 --- a/build.gradle +++ b/build.gradle | |||
@@ -20,6 +20,3 @@ sonarqube.properties { | |||
20 | property 'sonar.organization', 'graphs4value' | 20 | property 'sonar.organization', 'graphs4value' |
21 | property 'sonar.host.url', 'https://sonarcloud.io' | 21 | property 'sonar.host.url', 'https://sonarcloud.io' |
22 | } | 22 | } |
23 | |||
24 | apply plugin: 'eclipse' | ||
25 | |||
diff --git a/gradle/java-common.gradle b/gradle/java-common.gradle index bfcf2657..0a63cfe1 100644 --- a/gradle/java-common.gradle +++ b/gradle/java-common.gradle | |||
@@ -16,6 +16,17 @@ tasks.named('jar') { | |||
16 | 16 | ||
17 | apply plugin: 'eclipse' | 17 | apply plugin: 'eclipse' |
18 | 18 | ||
19 | def generateEclipseSourceFolders = tasks.register('generateEclipseSourceFolders') | ||
20 | |||
21 | tasks.register('prepareEclipse') { | ||
22 | dependsOn generateEclipseSourceFolders | ||
23 | dependsOn tasks.named('eclipseJdt') | ||
24 | } | ||
25 | |||
26 | tasks.named('eclipseClasspath') { | ||
27 | dependsOn generateEclipseSourceFolders | ||
28 | } | ||
29 | |||
19 | eclipse { | 30 | eclipse { |
20 | classpath.file.whenMerged { | 31 | classpath.file.whenMerged { |
21 | for (entry in entries) { | 32 | for (entry in entries) { |
@@ -30,4 +41,3 @@ eclipse { | |||
30 | properties['org.eclipse.jdt.core.compiler.problem.unhandledWarningToken'] = 'ignore' | 41 | properties['org.eclipse.jdt.core.compiler.problem.unhandledWarningToken'] = 'ignore' |
31 | } | 42 | } |
32 | } | 43 | } |
33 | |||
diff --git a/gradle/xtend.gradle b/gradle/xtend.gradle index b70892c7..db1c2a57 100644 --- a/gradle/xtend.gradle +++ b/gradle/xtend.gradle | |||
@@ -27,8 +27,7 @@ sonarqube.properties { | |||
27 | ] | 27 | ] |
28 | } | 28 | } |
29 | 29 | ||
30 | tasks.named('eclipseJdt') { | 30 | tasks.named('generateEclipseSourceFolders') { |
31 | // Make sure all xtend-gen source folders are available. | ||
32 | dependsOn tasks.named('generateXtext') | 31 | dependsOn tasks.named('generateXtext') |
33 | dependsOn tasks.named('generateTestXtext') | 32 | dependsOn tasks.named('generateTestXtext') |
34 | } | 33 | } |
diff --git a/language-ide/build.gradle b/language-ide/build.gradle index 0556c716..fddf2245 100644 --- a/language-ide/build.gradle +++ b/language-ide/build.gradle | |||
@@ -7,12 +7,10 @@ dependencies { | |||
7 | api "org.eclipse.xtext:org.eclipse.xtext.xbase.ide:${xtextVersion}" | 7 | api "org.eclipse.xtext:org.eclipse.xtext.xbase.ide:${xtextVersion}" |
8 | } | 8 | } |
9 | 9 | ||
10 | def generateXtext = project(':refinery-language').tasks.named('generateXtext') | 10 | def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') |
11 | 11 | ||
12 | tasks.named('compileJava') { | 12 | for (taskName in ['compileJava', 'processResources']) { |
13 | dependsOn generateXtext | 13 | tasks.named(taskName) { |
14 | } | 14 | dependsOn generateXtextLanguage |
15 | 15 | } | |
16 | tasks.named('processResources') { | ||
17 | dependsOn generateXtext | ||
18 | } | 16 | } |
diff --git a/language-model/build.gradle b/language-model/build.gradle index fdfad305..b8797ffb 100644 --- a/language-model/build.gradle +++ b/language-model/build.gradle | |||
@@ -29,12 +29,10 @@ def generateEPackage = tasks.register('generateEPackage', JavaExec) { | |||
29 | args += "rootPath=/${projectDir}" | 29 | args += "rootPath=/${projectDir}" |
30 | } | 30 | } |
31 | 31 | ||
32 | tasks.named('compileJava') { | 32 | for (taskName in ['compileJava', 'processResources', 'generateEclipseSourceFolders']) { |
33 | dependsOn generateEPackage | 33 | tasks.named(taskName) { |
34 | } | 34 | dependsOn generateEPackage |
35 | 35 | } | |
36 | tasks.named('processResources') { | ||
37 | dependsOn generateEPackage | ||
38 | } | 36 | } |
39 | 37 | ||
40 | tasks.named('clean') { | 38 | tasks.named('clean') { |
diff --git a/language-web/build.gradle b/language-web/build.gradle index 19a378f8..888cbb5c 100644 --- a/language-web/build.gradle +++ b/language-web/build.gradle | |||
@@ -12,19 +12,17 @@ dependencies { | |||
12 | implementation "org.slf4j:slf4j-simple:${slf4JVersion}" | 12 | implementation "org.slf4j:slf4j-simple:${slf4JVersion}" |
13 | } | 13 | } |
14 | 14 | ||
15 | def generateXtext = project(':refinery-language').tasks.named('generateXtext') | 15 | def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') |
16 | 16 | ||
17 | tasks.named('compileJava') { | 17 | for (taskName in ['compileJava', 'processResources']) { |
18 | dependsOn generateXtext | 18 | tasks.named(taskName) { |
19 | } | 19 | dependsOn generateXtextLanguage |
20 | 20 | } | |
21 | tasks.named('processResources') { | ||
22 | dependsOn generateXtext | ||
23 | } | 21 | } |
24 | 22 | ||
25 | def webpackOutputDir = "${buildDir}/webpack" | 23 | def webpackOutputDir = "${buildDir}/webpack" |
26 | def productionResources = "${webpackOutputDir}/production" | 24 | def productionResources = "${webpackOutputDir}/production" |
27 | def mainClass = 'org.eclipse.viatra.solver.language.web.ServerLauncher' | 25 | def serverMainClass = 'org.eclipse.viatra.solver.language.web.ServerLauncher' |
28 | 26 | ||
29 | apply plugin: 'org.siouan.frontend-jdk11' | 27 | apply plugin: 'org.siouan.frontend-jdk11' |
30 | import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn | 28 | import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn |
@@ -42,7 +40,7 @@ def installFrontend = tasks.named('installFrontend') | |||
42 | 40 | ||
43 | def assembleFrontend = tasks.named('assembleFrontend') | 41 | def assembleFrontend = tasks.named('assembleFrontend') |
44 | assembleFrontend.configure { | 42 | assembleFrontend.configure { |
45 | dependsOn generateXtext | 43 | dependsOn generateXtextLanguage |
46 | inputs.dir 'src/main/css' | 44 | inputs.dir 'src/main/css' |
47 | inputs.dir 'src/main/html' | 45 | inputs.dir 'src/main/html' |
48 | inputs.dir 'src/main/js' | 46 | inputs.dir 'src/main/js' |
@@ -53,7 +51,7 @@ assembleFrontend.configure { | |||
53 | 51 | ||
54 | tasks.register('webpackStats', RunNpmYarn) { | 52 | tasks.register('webpackStats', RunNpmYarn) { |
55 | dependsOn installFrontend | 53 | dependsOn installFrontend |
56 | dependsOn generateXtext | 54 | dependsOn generateXtextLanguage |
57 | inputs.dir 'src/main/css' | 55 | inputs.dir 'src/main/css' |
58 | inputs.dir 'src/main/html' | 56 | inputs.dir 'src/main/html' |
59 | inputs.dir 'src/main/js' | 57 | inputs.dir 'src/main/js' |
@@ -93,7 +91,7 @@ tasks.named('jar') { | |||
93 | } | 91 | } |
94 | 92 | ||
95 | apply plugin: 'application' | 93 | apply plugin: 'application' |
96 | mainClassName = mainClass | 94 | mainClassName = serverMainClass |
97 | distTar.enabled = false | 95 | distTar.enabled = false |
98 | distZip.enabled = false | 96 | distZip.enabled = false |
99 | 97 | ||
@@ -118,7 +116,7 @@ def jettyRun = tasks.register('jettyRun', JavaExec) { | |||
118 | dependsOn assembleFrontend | 116 | dependsOn assembleFrontend |
119 | dependsOn sourceSets.main.runtimeClasspath | 117 | dependsOn sourceSets.main.runtimeClasspath |
120 | classpath = sourceSets.main.runtimeClasspath.filter{it.exists()} | 118 | classpath = sourceSets.main.runtimeClasspath.filter{it.exists()} |
121 | main = mainClass | 119 | mainClass = serverMainClass |
122 | standardInput = System.in | 120 | standardInput = System.in |
123 | environment BASE_RESOURCE: productionResources | 121 | environment BASE_RESOURCE: productionResources |
124 | group = 'run' | 122 | group = 'run' |
@@ -127,7 +125,7 @@ def jettyRun = tasks.register('jettyRun', JavaExec) { | |||
127 | 125 | ||
128 | tasks.register('webpackServe', RunNpmYarn) { | 126 | tasks.register('webpackServe', RunNpmYarn) { |
129 | dependsOn installFrontend | 127 | dependsOn installFrontend |
130 | dependsOn generateXtext | 128 | dependsOn generateXtextLanguage |
131 | outputs.dir "${webpackOutputDir}/development" | 129 | outputs.dir "${webpackOutputDir}/development" |
132 | script = 'run serve' | 130 | script = 'run serve' |
133 | group = 'run' | 131 | group = 'run' |
@@ -145,9 +143,3 @@ sonarqube.properties { | |||
145 | 'src/main/js/xtext/**', | 143 | 'src/main/js/xtext/**', |
146 | ] | 144 | ] |
147 | } | 145 | } |
148 | |||
149 | eclipse { | ||
150 | project.file.whenMerged { | ||
151 | natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature') | ||
152 | } | ||
153 | } | ||
diff --git a/language/build.gradle b/language/build.gradle index 31bf6bc5..0b8492c3 100644 --- a/language/build.gradle +++ b/language/build.gradle | |||
@@ -46,17 +46,10 @@ def generateXtextLanguage = tasks.register('generateXtextLanguage', JavaExec) { | |||
46 | args += "rootPath=/${projectDir}/.." | 46 | args += "rootPath=/${projectDir}/.." |
47 | } | 47 | } |
48 | 48 | ||
49 | def generateXtext = tasks.named('generateXtext') | 49 | for (taskName in ['compileJava', 'processResources', 'generateXtext', 'generateEclipseSourceFolders']) { |
50 | generateXtext.configure { | 50 | tasks.named(taskName) { |
51 | dependsOn generateXtextLanguage | 51 | dependsOn generateXtextLanguage |
52 | } | 52 | } |
53 | |||
54 | tasks.named('compileJava') { | ||
55 | dependsOn generateXtext | ||
56 | } | ||
57 | |||
58 | tasks.named('processResources') { | ||
59 | dependsOn generateXtext | ||
60 | } | 53 | } |
61 | 54 | ||
62 | tasks.named('clean') { | 55 | tasks.named('clean') { |
@@ -72,8 +65,3 @@ sonarqube.properties { | |||
72 | 'src/testFixtures/xtext-gen/**', | 65 | 'src/testFixtures/xtext-gen/**', |
73 | ] | 66 | ] |
74 | } | 67 | } |
75 | |||
76 | tasks.named('eclipseJdt') { | ||
77 | // Make sure all xtext-gen source folders are available. | ||
78 | dependsOn generateXtextLanguage | ||
79 | } | ||