diff options
-rw-r--r-- | .editorconfig | 4 | ||||
-rw-r--r-- | .github/workflows/build.yml | 48 | ||||
-rw-r--r-- | build.gradle | 11 | ||||
-rw-r--r-- | gradle/xtend.gradle | 7 | ||||
-rw-r--r-- | gradle/xtext-common.gradle | 7 | ||||
-rw-r--r-- | language-model/build.gradle | 6 | ||||
-rw-r--r-- | language-web/build.gradle | 14 |
7 files changed, 94 insertions, 3 deletions
diff --git a/.editorconfig b/.editorconfig index 8ef13825..4615cdbf 100644 --- a/.editorconfig +++ b/.editorconfig | |||
@@ -2,13 +2,15 @@ root = true | |||
2 | 2 | ||
3 | [*] | 3 | [*] |
4 | charset = utf-8 | 4 | charset = utf-8 |
5 | end_of_line = lf | ||
6 | trim_trailing_whitespace = true | ||
5 | insert_final_newline = true | 7 | insert_final_newline = true |
6 | 8 | ||
7 | [*.{gradle,java,mwe2,xtend,xtext}] | 9 | [*.{gradle,java,mwe2,xtend,xtext}] |
8 | indent_style = tab | 10 | indent_style = tab |
9 | indent_size = 4 | 11 | indent_size = 4 |
10 | 12 | ||
11 | [*.{html,js,json,jsx,scss,ts,tsx}] | 13 | [*.{html,js,json,jsx,scss,ts,tsx,yml}] |
12 | indent_style = space | 14 | indent_style = space |
13 | indent_size = 2 | 15 | indent_size = 2 |
14 | 16 | ||
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..d674bae0 --- /dev/null +++ b/.github/workflows/build.yml | |||
@@ -0,0 +1,48 @@ | |||
1 | name: Build | ||
2 | on: | ||
3 | push: | ||
4 | branches: | ||
5 | - main | ||
6 | pull_request: | ||
7 | types: [opened, synchronize, reopened] | ||
8 | jobs: | ||
9 | build: | ||
10 | name: Build | ||
11 | runs-on: ubuntu-latest | ||
12 | steps: | ||
13 | - name: Checkout code | ||
14 | uses: actions/checkout@v2 | ||
15 | with: | ||
16 | fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of SonarCloud analysis | ||
17 | - name: Set up JDK 11 | ||
18 | uses: actions/setup-java@v1 | ||
19 | with: | ||
20 | java-version: 11 | ||
21 | - name: Cache Gradle packages | ||
22 | uses: actions/cache@v2 | ||
23 | with: | ||
24 | path: | | ||
25 | ~/.gradle/caches | ||
26 | **/.gradle/npm | ||
27 | **/.gradle/nodejs | ||
28 | key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
29 | restore-keys: ${{ runner.os }}-gradle | ||
30 | - name: Cache Sonar packages | ||
31 | uses: actions/cache@v2 | ||
32 | with: | ||
33 | path: ~/.sonar/cache | ||
34 | key: ${{ runner.os }}-sonar | ||
35 | restore-keys: ${{ runner.os }}-sonar | ||
36 | - name: Cache npm packages | ||
37 | uses: actions/cache@v2 | ||
38 | with: | ||
39 | path: **/node_modules | ||
40 | key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} | ||
41 | restore-keys: ${{ runner.os }}-npm | ||
42 | - name: Gradle build | ||
43 | run: ./gradlew build --info | ||
44 | - name: Sonar analyze | ||
45 | env: | ||
46 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any | ||
47 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
48 | run: ./gradlew sonarqube --info | ||
diff --git a/build.gradle b/build.gradle index 1736d644..fa9bef8d 100644 --- a/build.gradle +++ b/build.gradle | |||
@@ -9,10 +9,17 @@ buildscript { | |||
9 | 9 | ||
10 | plugins { | 10 | plugins { |
11 | id 'com.github.johnrengelman.shadow' version '5.2.0' apply false | 11 | id 'com.github.johnrengelman.shadow' version '5.2.0' apply false |
12 | id 'com.moowork.node' version "1.3.1" apply false | 12 | id 'com.moowork.node' version '1.3.1' apply false |
13 | id 'org.sonarqube' version '3.3' | ||
13 | } | 14 | } |
14 | 15 | ||
15 | allprojects { | 16 | allprojects { |
16 | group = 'org.eclipse.viatra.solver' | 17 | group = 'org.eclipse.viatra.solver' |
17 | version = '1.0.0-SNAPSHOT' | 18 | version = '0.0.0-SNAPSHOT' |
19 | } | ||
20 | |||
21 | sonarqube.properties { | ||
22 | property "sonar.projectKey", "graphs4value_refainery" | ||
23 | property "sonar.organization", "graphs4value" | ||
24 | property "sonar.host.url", "https://sonarcloud.io" | ||
18 | } | 25 | } |
diff --git a/gradle/xtend.gradle b/gradle/xtend.gradle index 855dc624..f8637a1f 100644 --- a/gradle/xtend.gradle +++ b/gradle/xtend.gradle | |||
@@ -13,3 +13,10 @@ clean.doLast { | |||
13 | delete 'src/main/xtend-gen' | 13 | delete 'src/main/xtend-gen' |
14 | delete 'src/test/xtend-gen' | 14 | delete 'src/test/xtend-gen' |
15 | } | 15 | } |
16 | |||
17 | sonarqube.properties { | ||
18 | properties['sonar.exlusions'] += [ | ||
19 | 'src/main/xtend-gen/**', | ||
20 | 'src/test/xtend-gen/**', | ||
21 | ] | ||
22 | } | ||
diff --git a/gradle/xtext-common.gradle b/gradle/xtext-common.gradle index 7fb2b2b5..9353b46f 100644 --- a/gradle/xtext-common.gradle +++ b/gradle/xtext-common.gradle | |||
@@ -19,3 +19,10 @@ clean.doLast { | |||
19 | delete 'src/main/xtext-gen' | 19 | delete 'src/main/xtext-gen' |
20 | delete 'src/test/xtext-gen' | 20 | delete 'src/test/xtext-gen' |
21 | } | 21 | } |
22 | |||
23 | sonarqube.properties { | ||
24 | properties['sonar.exlusions'] += [ | ||
25 | 'src/main/xtext-gen/**', | ||
26 | 'src/test/xtext-gen/**', | ||
27 | ] | ||
28 | } | ||
diff --git a/language-model/build.gradle b/language-model/build.gradle index 3950140c..d60115de 100644 --- a/language-model/build.gradle +++ b/language-model/build.gradle | |||
@@ -31,6 +31,12 @@ task generateEPackage(type: JavaExec) { | |||
31 | compileJava.dependsOn(generateEPackage) | 31 | compileJava.dependsOn(generateEPackage) |
32 | clean.dependsOn(cleanGenerateEPackage) | 32 | clean.dependsOn(cleanGenerateEPackage) |
33 | 33 | ||
34 | sonarqube.properties { | ||
35 | properties['sonar.exlusions'] += [ | ||
36 | 'src/main/emf-gen/**', | ||
37 | ] | ||
38 | } | ||
39 | |||
34 | eclipse.project.natures += [ | 40 | eclipse.project.natures += [ |
35 | 'org.eclipse.sirius.nature.modelingproject', | 41 | 'org.eclipse.sirius.nature.modelingproject', |
36 | 'org.eclipse.pde.PluginNature', | 42 | 'org.eclipse.pde.PluginNature', |
diff --git a/language-web/build.gradle b/language-web/build.gradle index 6910fea0..c5e27dc6 100644 --- a/language-web/build.gradle +++ b/language-web/build.gradle | |||
@@ -108,6 +108,20 @@ task eslint(type: NpmTask) { | |||
108 | 108 | ||
109 | check.dependsOn += [eslint] | 109 | check.dependsOn += [eslint] |
110 | 110 | ||
111 | sonarqube.properties { | ||
112 | properties['sonar.sources'] += [ | ||
113 | 'src/main/css', | ||
114 | 'src/main/html', | ||
115 | 'src/main/js', | ||
116 | "${buildDir}/genrated/sources/xtext/js", | ||
117 | ] | ||
118 | properties['sonar.exclusions'] += [ | ||
119 | 'src/main/css/xtext/**', | ||
120 | 'src/main/js/xtext/**', | ||
121 | "${buildDir}/genrated/sources/xtext/js/**" | ||
122 | ] | ||
123 | } | ||
124 | |||
111 | eclipse { | 125 | eclipse { |
112 | project.file.whenMerged { | 126 | project.file.whenMerged { |
113 | natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature') | 127 | natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature') |