aboutsummaryrefslogtreecommitdiff
path: root/wercker.yml
blob: e7ce4cce42d781323524278c8b3a97827f40aeec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
box: maven:3.3.9-jdk-8

build:
  steps:
  - script:
      name: setup mvn local repo
      code: |
        export MAVEN_OPTS="-Dmaven.repo.local=${WERCKER_CACHE_DIR}"
        mvn -version
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}/* | sort -h

  - script:
      name: install groovy
      code: |
         if [ ! -d ${WERCKER_CACHE_DIR}/groovy ]; then
           wget -O ${WERCKER_CACHE_DIR}/groovy.zip https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.7.zip;
           unzip ${WERCKER_CACHE_DIR}/groovy.zip -d ${WERCKER_CACHE_DIR};
           mv ${WERCKER_CACHE_DIR}/groovy-2.4.7 ${WERCKER_CACHE_DIR}/groovy
         fi
         export GROOVY_HOME=${WERCKER_CACHE_DIR}/groovy
         PATH=$GROOVY_HOME/bin:$PATH
         groovy -v

  # Build Checkstyle
  - script:
      name: Build Checkstyle
      code: |
        SKIP_FILES="appveyor.yml|circle.yml|distelli-manifest.yml|.travis.yml|shippable.yml|fast-forward-merge.sh|LICENSE|LICENSE.apache20|README.md|release.sh|RIGHTS.antlr|intellij-idea-inspections.xml|org.eclipse.jdt.core.prefs"
        export SKIP_CI=$(if [[ $(git diff --name-only HEAD HEAD~1 | grep -vE "$SKIP_FILES" | cat | wc -c) > 0 ]]; then echo false; else echo true; fi;)
        echo "SKIP_CI="$SKIP_CI
        if [[ $SKIP_CI == 'false' ]]; then
          mvn clean install -Pno-validations
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - Postgresql JDBC Driver (oraclejdk8)
  - script:
      name: NoErrorTest - Postgresql JDBC Driver
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          for i in 1 2 3 4 5; do git clone https://github.com/pgjdbc/pgjdbc.git && break || sleep 15; done
          cd pgjdbc/pgjdbc
          wget https://gist.githubusercontent.com/timurt/a981d094cbbbe746ecd400424f5f3af8/raw/6e5d28a83b0d63a880f897d839f7f536b64f0979/pgjdbc.patch
          git apply pgjdbc.patch
          mvn compile checkstyle:check -Dcheckstyle.version=${CS_POM_VERSION}
          cd ../../
          rm -rf pgjdbc
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - Orekit (oraclejdk8)
  - script:
      name: NoErrorTest - Orekit
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          for i in 1 2 3 4 5; do git clone https://github.com/Hipparchus-Math/hipparchus.git && break || sleep 15; done
          cd hipparchus
          git checkout 905006092493e350dcd68dd7b2ec1dedaf4983b7
          mvn clean install -DskipTests
          cd ../
          for i in 1 2 3 4 5; do git clone https://github.com/CS-SI/Orekit.git && break || sleep 15; done
          cd Orekit
          git checkout f7abe7ea0c7fbf6d138ed7eaf9487510dfbbcaac
          wget https://gist.githubusercontent.com/timurt/7c45454a233ce775a7e5acaa1231d845/raw/225ef24f84e671b501caeef8279dc1363869d5ae/orekit.patch
          git apply orekit.patch
          mvn compile checkstyle:check -Dorekit.checkstyle.version=${CS_POM_VERSION}
          cd ../
          rm -rf hipparchus Orekit
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - XWiki (oraclejdk8)
  - script:
      name: NoErrorTest - XWiki
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          for i in 1 2 3 4 5; do git clone https://github.com/xwiki/xwiki-commons/ && break || sleep 15; done
          cd xwiki-commons
          git checkout 3bdb59d3c7fe776deed44f6818278f70d3030ecb
          mvn install -DskipTests -Dxwiki.clirr.skip=true checkstyle:check -Dcheckstyle.version=${CS_POM_VERSION}
          cd ../../
          rm -rf xwiki-commons
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - Apache Apex (oraclejdk8)
  - script:
      name: NoErrorTest - Apache Apex
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          for i in 1 2 3 4 5; do git clone https://github.com/apache/incubator-apex-core/ && break || sleep 15; done
          cd incubator-apex-core
          mvn compile checkstyle:check -Dcheckstyle.version=${CS_POM_VERSION}
          cd ../
          rm -rf incubator-apex-core
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - Hibernate Search (oraclejdk8)
  - script:
      name: NoErrorTest - Hibernate Search
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          for i in 1 2 3 4 5; do git clone https://github.com/hibernate/hibernate-search.git && break || sleep 15; done
          cd hibernate-search
          git checkout 285c557fb51bbdf4bc81af8950c466f2ec336e9d
          wget https://gist.githubusercontent.com/timurt/f8e6c08b681337dfee76fdf8cc4ebb37/raw/c95333027111d055de8c943d3bc0b757ad638605/hibernate.patch
          git apply hibernate.patch
          mvn -s settings-example.xml clean install -DskipTests=true -Dtest.elasticsearch.host.provided=true -Dpuppycrawl.checkstyle.version=${CS_POM_VERSION}
          mvn -s settings-example.xml checkstyle:check  -Dpuppycrawl.checkstyle.version=${CS_POM_VERSION}
          cd ../
          rm -rf hibernate-search
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - HtmlUnit (oraclejdk8)
  - script:
      name: NoErrorTest - HtmlUnit
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          echo "checkouting project sources ..."
          svn -q export https://svn.code.sf.net/p/htmlunit/code/trunk/htmlunit@r14807 htmlunit
          cd htmlunit
          echo "Running checkstyle validation ..."
          mvn compile checkstyle:check -Dcheckstyle.version=${CS_POM_VERSION}
          cd ../
          rm -rf htmlunit
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - checkstyle's sevntu
  - script:
      name: NoErrorTest - checkstyle's sevntu
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          mvn compile verify -Dmaven.sevntu-checkstyle-check.checkstyle.version=${CS_POM_VERSION} -Dmaven.test.skip=true -Dcheckstyle.ant.skip=true -Dpmd.skip=true -Dfindbugs.skip=true -Dcobertura.skip=true -Dforbiddenapis.skip=true -Dxml.skip=true
        else
          echo "build is skipped ..."
        fi

  # NoErrorTest - sevntu-checks
  - script:
      name: NoErrorTest - sevntu-checks
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
          echo CS_version: ${CS_POM_VERSION}
          for i in 1 2 3 4 5; do git clone https://github.com/sevntu-checkstyle/sevntu.checkstyle && break || sleep 15; done
          cd sevntu.checkstyle/sevntu-checks
          mvn -Pno-validations verify  -Dcheckstyle.skip=false -Dcheckstyle.version=${CS_POM_VERSION} -Dcheckstyle.configLocation=../../config/checkstyle_checks.xml
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - Apache Struts (oraclejdk8)
  - script:
      name: NoExceptiontest - Apache Struts
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#apache-struts/apache-struts/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - Checkstyle ,sevntu-checkstyle (oraclejdk8)
  - script:
      name: NoExceptiontest - Checkstyle ,sevntu-checkstyle
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#checkstyle/checkstyle/' projects-for-wercker.properties
          sed -i'' 's/#sevntu-checkstyle/sevntu-checkstyle/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - Guava (oraclejdk8)
  - script:
      name: NoExceptiontest - Guava
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#guava/guava/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - Hibernate (oraclejdk8)
  - script:
      name: NoExceptiontest - Hibernate
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#hibernate-orm/hibernate-orm/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi


  # NoExceptiontest - Findbugs (oraclejdk8)
  - script:
      name: NoExceptiontest - findbugs
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#findbugs/findbugs/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - spring-framework (oraclejdk8)
  - script:
      name: NoExceptiontest - spring-framework
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#spring-framework/spring-framework/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - Hbase (oraclejdk8)
  - script:
      name: NoExceptiontest - Hbase
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution  && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#Hbase/Hbase/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - pmd elasticsearch lombok-ast (oraclejdk8)
  - script:
      name: NoExceptiontest - pmd elasticsearch lombok-ast
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#pmd/pmd/' projects-for-wercker.properties
          sed -i'' 's/#elasticsearch/elasticsearch/' projects-for-wercker.properties
          sed -i'' 's/#lombok-ast/lombok-ast/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # NoExceptiontest - RxJava java-design-patterns MaterialDesignLibrary apache-ant apache-jsecurity android-launcher (oraclejdk8)
  - script:
      name: NoExceptiontest - RxJava java-design-patterns MaterialDesignLibrary apache-ant apache-jsecurity android-launcher
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          set -e
          for i in 1 2 3 4 5; do git clone https://github.com/checkstyle/contribution && break || sleep 15; done
          cd contribution/checkstyle-tester
          sed -i'' 's/^guava/#guava/' projects-for-wercker.properties
          sed -i'' 's/#RxJava/RxJava/' projects-for-wercker.properties
          sed -i'' 's/#Vavr/Vavr/' projects-for-wercker.properties
          sed -i'' 's/#java-design-patterns/java-design-patterns/' projects-for-wercker.properties
          sed -i'' 's/#MaterialDesignLibrary/MaterialDesignLibrary/' projects-for-wercker.properties
          sed -i'' 's/#apache-ant/apache-ant/' projects-for-wercker.properties
          sed -i'' 's/#apache-jsecurity/apache-jsecurity/' projects-for-wercker.properties
          sed -i'' 's/#android-launcher/android-launcher/' projects-for-wercker.properties
          groovy ./launch.groovy --listOfProjects projects-for-wercker.properties --config checks-nonjavadoc-error.xml
          cd ../../
          rm -rf contribution
        else
          echo "build is skipped ..."
        fi

  # Cleanup
  - script:
      name: Cleanup maven local repo
      code: |
        find ${WERCKER_CACHE_DIR} -type d -name "*SNAPSHOT" -ls -exec rm -rf {} +
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}/* | sort -h
        echo "------"
        du -hs * | sort -h