process_artifacts: Refactor modules

Introduce module hierarchy for better organization and rename a few
symbols for consistency.
This is a pure refactoring change.

BUG=b:331890379
TEST=bazel test //bazel/portage/tools/process_artifacts:all

Change-Id: I707df16cd46bed561bea5bd1a4032df711f4e45c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/bazel/+/5528442
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Commit-Queue: Shuhei Takahashi <nya@chromium.org>
Tested-by: Shuhei Takahashi <nya@chromium.org>
diff --git a/portage/tools/process_artifacts/src/archive_logs.rs b/portage/tools/process_artifacts/src/commands/archive_logs.rs
similarity index 98%
rename from portage/tools/process_artifacts/src/archive_logs.rs
rename to portage/tools/process_artifacts/src/commands/archive_logs.rs
index 9f5f37f..c2a78c4 100644
--- a/portage/tools/process_artifacts/src/archive_logs.rs
+++ b/portage/tools/process_artifacts/src/commands/archive_logs.rs
@@ -11,14 +11,14 @@
 
 use anyhow::{ensure, Result};
 
-use crate::build_event_processor::BuildEventProcessor;
+use crate::processors::build_event::BuildEventProcessor;
 
 pub fn archive_logs(
     output_path: &Path,
     workspace_dir: &Path,
-    events: &BuildEventProcessor,
+    processor: &BuildEventProcessor,
 ) -> Result<()> {
-    let files = events.output_group_files("transitive_logs")?;
+    let files = processor.get_output_group_files("transitive_logs")?;
 
     let mut input_file = tempfile::tempfile()?;
     for relative_path in files {
diff --git a/portage/tools/process_artifacts/src/commands/mod.rs b/portage/tools/process_artifacts/src/commands/mod.rs
new file mode 100644
index 0000000..fb3082d
--- /dev/null
+++ b/portage/tools/process_artifacts/src/commands/mod.rs
@@ -0,0 +1,6 @@
+// Copyright 2024 The ChromiumOS Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+pub mod archive_logs;
+pub mod prebuilts;
diff --git a/portage/tools/process_artifacts/src/prebuilts.rs b/portage/tools/process_artifacts/src/commands/prebuilts.rs
similarity index 97%
rename from portage/tools/process_artifacts/src/prebuilts.rs
rename to portage/tools/process_artifacts/src/commands/prebuilts.rs
index 58173dc..52f6b59 100644
--- a/portage/tools/process_artifacts/src/prebuilts.rs
+++ b/portage/tools/process_artifacts/src/commands/prebuilts.rs
@@ -8,7 +8,7 @@
 use anyhow::{Context, Result};
 use itertools::Itertools;
 
-use crate::{build_event_processor::BuildEventProcessor, proto::ebuild_metadata::EbuildMetadata};
+use crate::{processors::build_event::BuildEventProcessor, proto::ebuild_metadata::EbuildMetadata};
 
 const PREBUILT_HEADER: &str = r#"# Provides the CAS location for all ebuild binary packages
 # used by the build. This is useful when modifying primordial code such as
@@ -37,12 +37,12 @@
 
     let Some(remote_instance_name) = processor.get_command_flag("remote_instance_name") else {
         write!(output, "# --remote_instance_name was not set.")?;
-        return Ok(())
+        return Ok(());
     };
 
     write!(output, "{PREBUILT_HEADER}")?;
 
-    let metadata_files = processor.output_group_files("ebuild_metadata")?;
+    let metadata_files = processor.get_output_group_files("ebuild_metadata")?;
 
     let metadata = metadata_files
         .into_iter()
diff --git a/portage/tools/process_artifacts/src/main.rs b/portage/tools/process_artifacts/src/main.rs
index 41875db..095dc61 100644
--- a/portage/tools/process_artifacts/src/main.rs
+++ b/portage/tools/process_artifacts/src/main.rs
@@ -11,15 +11,13 @@
 };
 
 use anyhow::{Context, Result};
-use archive_logs::archive_logs;
-use build_event_processor::BuildEventProcessor;
 use clap::Parser;
-use prebuilts::compute_prebuilts;
+use commands::{archive_logs::archive_logs, prebuilts::compute_prebuilts};
+use processors::build_event::BuildEventProcessor;
 use proto::build_event_stream::BuildEvent;
 
-mod archive_logs;
-mod build_event_processor;
-mod prebuilts;
+mod commands;
+mod processors;
 mod proto;
 
 /// Loads a newline-deliminated JSON file containing Build Event Protocol data.
diff --git a/portage/tools/process_artifacts/src/build_event_processor.rs b/portage/tools/process_artifacts/src/processors/build_event.rs
similarity index 97%
rename from portage/tools/process_artifacts/src/build_event_processor.rs
rename to portage/tools/process_artifacts/src/processors/build_event.rs
index b1ab315..98a347f 100644
--- a/portage/tools/process_artifacts/src/build_event_processor.rs
+++ b/portage/tools/process_artifacts/src/processors/build_event.rs
@@ -110,7 +110,7 @@
 
 impl BuildEventProcessor<'_> {
     /// Returns the workspace relative path to all files in the specified output group.
-    pub fn output_group_files(&self, output_group_name: &str) -> Result<Vec<PathBuf>> {
+    pub fn get_output_group_files(&self, output_group_name: &str) -> Result<Vec<PathBuf>> {
         let mut fileset = FastFileSet::new();
 
         for event in self.events {
@@ -244,7 +244,7 @@
             },
         ];
 
-        let files = BuildEventProcessor::from(&events).output_group_files("transitive_logs")?;
+        let files = BuildEventProcessor::from(&events).get_output_group_files("transitive_logs")?;
 
         assert_eq!(files, vec![PathBuf::from("a.txt")]);
 
@@ -316,7 +316,7 @@
             }),
         });
 
-        let files = BuildEventProcessor::from(&events).output_group_files("transitive_logs")?;
+        let files = BuildEventProcessor::from(&events).get_output_group_files("transitive_logs")?;
 
         assert_eq!(
             files.into_iter().sorted().collect_vec(),
diff --git a/portage/tools/process_artifacts/src/processors/mod.rs b/portage/tools/process_artifacts/src/processors/mod.rs
new file mode 100644
index 0000000..b441cfc
--- /dev/null
+++ b/portage/tools/process_artifacts/src/processors/mod.rs
@@ -0,0 +1,5 @@
+// Copyright 2024 The ChromiumOS Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+pub mod build_event;