A couple of days ago I transformed all my POMs to incrementals. While the 
release process and the deployment works excellent (thanks Jesse:-) I sometimes 
get errors during the static code analysis due to truncated files. 

Example (from 
https://ci.jenkins.io/job/Plugins/job/plugin-util-api-plugin/job/master/6/console
 
<https://ci.jenkins.io/job/Plugins/job/plugin-util-api-plugin/job/master/6/console>):
 

10:58:19  [INFO] 
10:58:19  [INFO] --- spotbugs-maven-plugin:3.1.12.2:spotbugs (run-spotbugs) @ 
plugin-util-api ---
10:58:19  [INFO] Fork Value is true
10:58:22  [INFO] Fork Value is true
10:58:29       [java] The following errors occurred during analysis:
10:58:29       [java]   Unable to read filter: 
C:\Jenkins\workspace\ns_plugin-util-api-plugin_master\target\spotbugs-exclusion-filter.xml
 : Premature end of file.
10:58:29       [java]     java.io.IOException: Premature end of file.
10:58:29       [java]       At 
edu.umd.cs.findbugs.filter.Filter.<init>(Filter.java:134)
10:58:29       [java]       At 
edu.umd.cs.findbugs.FindBugs.configureFilter(FindBugs.java:512)
10:58:29       [java]       At 
edu.umd.cs.findbugs.FindBugs2.addFilter(FindBugs2.java:372)
10:58:29       [java]       At 
edu.umd.cs.findbugs.FindBugs2.configureFilters(FindBugs2.java:519)
10:58:29       [java]       At 
edu.umd.cs.findbugs.FindBugs2.setUserPreferences(FindBugs2.java:473)
10:58:29       [java]       At 
edu.umd.cs.findbugs.TextUICommandLine.configureEngine(TextUICommandLine.java:672)
10:58:29       [java]       At 
edu.umd.cs.findbugs.FindBugs.processCommandLine(FindBugs.java:365)
10:58:29       [java]       At 
edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1175)
10:58:29       [java] Warnings generated: 11
10:58:29  [INFO] Done SpotBugs Analysis....
10:58:29  [INFO] 
10:58:29  [INFO] --- maven-failsafe-plugin:3.0.0-M4:verify (default) @ 
plugin-util-api ---

This does happen only from time to time (and occurs for PMD and checkstyle as 
well), so this seems like some race condition. All the analysis tools are 
configured to obtain the rules to check from a codingstyle JAR dependency.

Example:
<plugin>
  <groupId>com.github.spotbugs</groupId>
  <artifactId>spotbugs-maven-plugin</artifactId>
  <version>${spotbugs-maven-plugin.version}</version>
  <executions>
    <execution>
      <id>run-spotbugs</id>
      <goals>
        <goal>spotbugs</goal>
      </goals>
      <phase>verify</phase>
    </execution>
  </executions>
  <configuration>
    <failOnError>false</failOnError>
    <xmlOutput>true</xmlOutput>
    <threshold>Low</threshold>
    <effort>Max</effort>
    <relaxed>false</relaxed>
    <fork>true</fork>
    <excludeFilterFile>spotbugs-exclusion-filter.xml</excludeFilterFile>
    <includeTests>true</includeTests>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>edu.hm.hafner</groupId>
      <artifactId>codingstyle</artifactId>
      <version>${codingstyle.version}</version>
    </dependency>
  </dependencies>
</plugin>
During the analysis the codingstyle JAR dependency seems to get extracted and 
the analysis configuration files are copied to the target folder. And here 
sometimes the file size is 0 bytes.
All analysis tools use the same dependency so the JAR file probably will be 
extracted multiple times. Could this be the problem if that is done somehow in 
parallel?
Or does someone have another idea what the problem could be in this case?  
 

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/6FFD91C8-89E7-4AAB-A165-1F9D2D980D12%40gmail.com.

Reply via email to