From 1feab5c63b5207d205d2171a2933a0489fd4e61e Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 4 Nov 2021 21:46:07 +0900 Subject: [PATCH 1/5] [Gradle] add settings_file to fetched_files --- gradle/lib/dependabot/gradle/file_fetcher.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/gradle/lib/dependabot/gradle/file_fetcher.rb b/gradle/lib/dependabot/gradle/file_fetcher.rb index 6743b0e512..4ba630e9ea 100644 --- a/gradle/lib/dependabot/gradle/file_fetcher.rb +++ b/gradle/lib/dependabot/gradle/file_fetcher.rb @@ -29,6 +29,7 @@ def self.required_files_message def fetch_files fetched_files = [] fetched_files << buildfile if buildfile + fetched_files << settings_file if settings_file fetched_files += subproject_buildfiles fetched_files += dependency_script_plugins check_required_files_present From 35c81b890ceac0d0e24b6903c3d2589d950708be Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 4 Nov 2021 21:46:41 +0900 Subject: [PATCH 2/5] [Gradle] add settings files to SUPPORTED_BUILD_FILE_NAMES --- gradle/lib/dependabot/gradle/file_parser.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/lib/dependabot/gradle/file_parser.rb b/gradle/lib/dependabot/gradle/file_parser.rb index 451049db96..de13b89955 100644 --- a/gradle/lib/dependabot/gradle/file_parser.rb +++ b/gradle/lib/dependabot/gradle/file_parser.rb @@ -18,7 +18,7 @@ class FileParser < Dependabot::FileParsers::Base require "dependabot/file_parsers/base/dependency_set" require_relative "file_parser/property_value_finder" - SUPPORTED_BUILD_FILE_NAMES = %w(build.gradle build.gradle.kts).freeze + SUPPORTED_BUILD_FILE_NAMES = %w(build.gradle build.gradle.kts settings.gradle.kts settings.gradle.kts).freeze PROPERTY_REGEX = / From 6da0c2f336c81578bf747f9b52154ba0cd67e1ed Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 4 Nov 2021 21:53:25 +0900 Subject: [PATCH 3/5] [Gradle] update tests --- .../spec/dependabot/gradle/file_fetcher_spec.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gradle/spec/dependabot/gradle/file_fetcher_spec.rb b/gradle/spec/dependabot/gradle/file_fetcher_spec.rb index 6b9a636f73..3e0a664ca2 100644 --- a/gradle/spec/dependabot/gradle/file_fetcher_spec.rb +++ b/gradle/spec/dependabot/gradle/file_fetcher_spec.rb @@ -60,9 +60,9 @@ def stub_content_request(path, fixture) end it "fetches the main buildfile and subproject buildfile" do - expect(file_fetcher_instance.files.count).to eq(2) + expect(file_fetcher_instance.files.count).to eq(3) expect(file_fetcher_instance.files.map(&:name)). - to match_array(%w(build.gradle app/build.gradle)) + to match_array(%w(build.gradle settings.gradle app/build.gradle)) end context "when the subproject can't fe found" do @@ -73,9 +73,9 @@ def stub_content_request(path, fixture) end it "fetches the main buildfile" do - expect(file_fetcher_instance.files.count).to eq(1) + expect(file_fetcher_instance.files.count).to eq(2) expect(file_fetcher_instance.files.map(&:name)). - to match_array(%w(build.gradle)) + to match_array(%w(build.gradle settings.gradle)) end end end @@ -89,9 +89,9 @@ def stub_content_request(path, fixture) end it "fetches the main buildfile and subproject buildfile" do - expect(file_fetcher_instance.files.count).to eq(1) + expect(file_fetcher_instance.files.count).to eq(2) expect(file_fetcher_instance.files.map(&:name)). - to match_array(%w(app/build.gradle)) + to match_array(%w(settings.gradle app/build.gradle)) end end @@ -118,9 +118,9 @@ def stub_content_request(path, fixture) end it "fetches the main buildfile and subproject buildfile" do - expect(file_fetcher_instance.files.count).to eq(2) + expect(file_fetcher_instance.files.count).to eq(3) expect(file_fetcher_instance.files.map(&:name)). - to match_array(%w(build.gradle.kts app/build.gradle.kts)) + to match_array(%w(build.gradle.kts settings.gradle.kts app/build.gradle.kts)) end end end From ec3368e077e2cc015c862c7dccb6fa9d62a73744 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Fri, 5 Nov 2021 17:20:29 +0900 Subject: [PATCH 4/5] [Gradle] add tests for FileParser --- .../dependabot/gradle/file_parser_spec.rb | 30 +++++++++++++++++++ .../buildscript_dependencies_settings.gradle | 8 +++++ ...ildscript_dependencies_settings.gradle.kts | 8 +++++ 3 files changed, 46 insertions(+) create mode 100644 gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle create mode 100644 gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle.kts diff --git a/gradle/spec/dependabot/gradle/file_parser_spec.rb b/gradle/spec/dependabot/gradle/file_parser_spec.rb index 2880f8be31..8487f213ba 100644 --- a/gradle/spec/dependabot/gradle/file_parser_spec.rb +++ b/gradle/spec/dependabot/gradle/file_parser_spec.rb @@ -424,6 +424,21 @@ end end + describe "settings script" do + let(:files) { [buildfile, settings_file] } + let(:settings_file) do + Dependabot::DependencyFile.new( + name: "settings.gradle", + content: fixture("settings_files", settings_file_fixture_name) + ) + end + let(:settings_file_fixture_name) { "buildscript_dependencies_settings.gradle" } + + subject(:dependencies) { parser.parse } + + its(:length) { is_expected.to eq(20) } + end + context "with kotlin" do let(:buildfile) do Dependabot::DependencyFile.new( @@ -751,6 +766,21 @@ end end end + + describe "kotlin settings script" do + let(:files) { [buildfile, settings_file] } + let(:settings_file) do + Dependabot::DependencyFile.new( + name: "settings.gradle.kts", + content: fixture("settings_files", settings_file_fixture_name) + ) + end + let(:settings_file_fixture_name) { "buildscript_dependencies_settings.gradle.kts" } + + subject(:dependencies) { parser.parse } + + its(:length) { is_expected.to eq(20) } + end end end end diff --git a/gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle b/gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle new file mode 100644 index 0000000000..75f1a86288 --- /dev/null +++ b/gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle @@ -0,0 +1,8 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'org.ow2.asm:asm:9.2' + } +} diff --git a/gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle.kts b/gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle.kts new file mode 100644 index 0000000000..8ed0991477 --- /dev/null +++ b/gradle/spec/fixtures/settings_files/buildscript_dependencies_settings.gradle.kts @@ -0,0 +1,8 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath("org.ow2.asm:asm:9.2") + } +} From 3805a01a9d01f4ea79b646fcb6d30efa034a3a36 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Fri, 5 Nov 2021 17:20:39 +0900 Subject: [PATCH 5/5] [Gradle] fix implementation --- gradle/lib/dependabot/gradle/file_parser.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/lib/dependabot/gradle/file_parser.rb b/gradle/lib/dependabot/gradle/file_parser.rb index de13b89955..6d37c112f2 100644 --- a/gradle/lib/dependabot/gradle/file_parser.rb +++ b/gradle/lib/dependabot/gradle/file_parser.rb @@ -18,7 +18,7 @@ class FileParser < Dependabot::FileParsers::Base require "dependabot/file_parsers/base/dependency_set" require_relative "file_parser/property_value_finder" - SUPPORTED_BUILD_FILE_NAMES = %w(build.gradle build.gradle.kts settings.gradle.kts settings.gradle.kts).freeze + SUPPORTED_BUILD_FILE_NAMES = %w(build.gradle build.gradle.kts settings.gradle settings.gradle.kts).freeze PROPERTY_REGEX = /