2022-04-25 16:19:28 +03:00
|
|
|
## Script originally from https://github.com/tir38/android-lint-entropy-reducer at 07.05.2017
|
|
|
|
# heavily modified since then
|
|
|
|
|
|
|
|
Encoding.default_external = Encoding::UTF_8
|
|
|
|
Encoding.default_internal = Encoding::UTF_8
|
|
|
|
|
|
|
|
puts "=================== starting Android Spotbugs Entropy Reducer ===================="
|
|
|
|
|
|
|
|
# get args
|
2022-05-06 10:32:15 +03:00
|
|
|
base_branch = ARGV[0]
|
2022-04-25 16:19:28 +03:00
|
|
|
|
|
|
|
require 'fileutils'
|
|
|
|
require 'pathname'
|
|
|
|
require 'open3'
|
|
|
|
|
|
|
|
# run Spotbugs
|
|
|
|
puts "running Spotbugs..."
|
|
|
|
system './gradlew spotbugsGplayDebug 1>/dev/null 2>&1'
|
|
|
|
|
|
|
|
# find number of warnings
|
|
|
|
current_warning_count = `./scripts/analysis/spotbugsSummary.py --total`.to_i
|
|
|
|
puts "found warnings: " + current_warning_count.to_s
|
|
|
|
|
|
|
|
# get warning counts from target branch
|
2022-05-06 10:32:15 +03:00
|
|
|
previous_xml = "/tmp/#{base_branch}.xml"
|
2022-04-25 16:19:28 +03:00
|
|
|
previous_results = File.file?(previous_xml)
|
|
|
|
|
|
|
|
if previous_results == true
|
|
|
|
previous_warning_count = `./scripts/analysis/spotbugsSummary.py --total --file #{previous_xml}`.to_i
|
|
|
|
puts "previous warnings: " + previous_warning_count.to_s
|
|
|
|
end
|
|
|
|
|
|
|
|
# compare previous warning count with current warning count
|
|
|
|
if previous_results == true && current_warning_count > previous_warning_count
|
|
|
|
puts "FAIL: warning count increased"
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
|
|
|
|
# check if warning and error count stayed the same
|
|
|
|
if previous_results == true && current_warning_count == previous_warning_count
|
|
|
|
puts "SUCCESS: count stayed the same"
|
|
|
|
exit 0
|
|
|
|
end
|
|
|
|
|
|
|
|
# warning count DECREASED
|
|
|
|
if previous_results == true && current_warning_count < previous_warning_count
|
|
|
|
puts "SUCCESS: count decreased from " + previous_warning_count.to_s + " to " + current_warning_count.to_s
|
|
|
|
end
|