Skip to content

Commit

Permalink
Remove usages of libherokubuildpack::log
Browse files Browse the repository at this point in the history
  • Loading branch information
Malax committed Feb 5, 2025
1 parent 3070c4b commit 9eebebf
Show file tree
Hide file tree
Showing 8 changed files with 110 additions and 107 deletions.
2 changes: 1 addition & 1 deletion buildpacks/gradle/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ workspace = true
buildpacks-jvm-shared.workspace = true
indoc = "2"
libcnb = "=0.26.0"
libherokubuildpack = { version = "=0.26.0", default-features = false, features = ["command", "error", "log"] }
libherokubuildpack = { version = "=0.26.0", default-features = false, features = ["command", "error"] }
nom = "7"
serde = { version = "1", features = ["derive"] }

Expand Down
71 changes: 39 additions & 32 deletions buildpacks/gradle/src/errors.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
use crate::GradleBuildpackError;
use buildpacks_jvm_shared::log::{
log_build_tool_io_error, log_build_tool_unexpected_exit_code_error, log_please_try_again_error,
};
use buildpacks_jvm_shared as shared;
use indoc::indoc;
use libherokubuildpack::log::log_error;

#[allow(clippy::too_many_lines, clippy::needless_pass_by_value)]
pub(crate) fn on_error_gradle_buildpack(error: GradleBuildpackError) {
match error {
GradleBuildpackError::GradleWrapperNotFound => {
log_error(
shared::output::print_error(
"Missing Gradle Wrapper",
indoc! {"
This buildpack leverages Gradle Wrapper to install the correct Gradle version to build your application.
Expand All @@ -23,43 +20,53 @@ pub(crate) fn on_error_gradle_buildpack(error: GradleBuildpackError) {
"},
);
}
GradleBuildpackError::GradleBuildIoError(error) => log_build_tool_io_error("Gradle", error),
GradleBuildpackError::GradleBuildIoError(error) => {
shared::log::log_build_tool_io_error("Gradle", error)
}
GradleBuildpackError::GradleBuildUnexpectedStatusError(exit_status) => {
log_build_tool_unexpected_exit_code_error("Gradle", exit_status);
shared::log::log_build_tool_unexpected_exit_code_error("Gradle", exit_status);
}
GradleBuildpackError::GetTasksError(error) => log_please_try_again_error(
GradleBuildpackError::GetTasksError(error) => shared::log::log_please_try_again_error(
"Failed to get Gradle tasks",
"Failed to get Gradle tasks",
error,
),
GradleBuildpackError::GetDependencyReportError(error) => log_please_try_again_error(
"Failed to get Gradle dependency report",
"Failed to get Gradle dependency report",
error,
),
GradleBuildpackError::WriteGradlePropertiesError(error) => log_please_try_again_error(
"Failed to write Gradle configuration",
"Failed to write Gradle configuration",
error,
),
GradleBuildpackError::WriteGradleInitScriptError(error) => log_please_try_again_error(
"Failed to write Gradle init script",
"Failed to write Gradle init script",
error,
),
GradleBuildpackError::GetDependencyReportError(error) => {
shared::log::log_please_try_again_error(
"Failed to get Gradle dependency report",
"Failed to get Gradle dependency report",
error,
)
}
GradleBuildpackError::WriteGradlePropertiesError(error) => {
shared::log::log_please_try_again_error(
"Failed to write Gradle configuration",
"Failed to write Gradle configuration",
error,
)
}
GradleBuildpackError::WriteGradleInitScriptError(error) => {
shared::log::log_please_try_again_error(
"Failed to write Gradle init script",
"Failed to write Gradle init script",
error,
)
}
GradleBuildpackError::CannotSetGradleWrapperExecutableBit(error) => {
log_please_try_again_error(
shared::log::log_please_try_again_error(
"Failed to set executable bit for Gradle wrapper",
"Failed to set executable bit for Gradle wrapper",
error,
);
}
GradleBuildpackError::StartGradleDaemonError(error) => log_please_try_again_error(
"Failed to start Gradle daemon",
"The Gradle daemon for this build could not be started.",
error,
),
GradleBuildpackError::BuildTaskUnknown => log_error(
GradleBuildpackError::StartGradleDaemonError(error) => {
shared::log::log_please_try_again_error(
"Failed to start Gradle daemon",
"The Gradle daemon for this build could not be started.",
error,
)
}
GradleBuildpackError::BuildTaskUnknown => shared::output::print_error(
"Failed to determine build task",
indoc! {"
It looks like your project does not contain a 'stage' task, which Heroku needs in order
Expand All @@ -69,14 +76,14 @@ pub(crate) fn on_error_gradle_buildpack(error: GradleBuildpackError) {
"},
),
GradleBuildpackError::DetectError(error) => {
log_please_try_again_error(
shared::log::log_please_try_again_error(
"Failed to determine if a file exists during detect",
"Failed to determine if a file exists during detect",
error,
);
}
GradleBuildpackError::CannotDetermineDefaultAppProcess(error) => {
log_please_try_again_error(
shared::log::log_please_try_again_error(
"Failed to determine default app process",
"Failed to determine default app process",
error,
Expand Down
2 changes: 1 addition & 1 deletion buildpacks/jvm-function-invoker/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ workspace = true
[dependencies]
indoc = "2"
libcnb = "=0.26.0"
libherokubuildpack = { version = "=0.26.0", default-features = false, features = ["digest", "download", "error", "log", "toml"] }
libherokubuildpack = { version = "=0.26.0", default-features = false, features = ["digest", "download", "error", "toml"] }
serde = "1"
thiserror = "2"
toml = "0.8"
Expand Down
2 changes: 1 addition & 1 deletion buildpacks/jvm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ buildpacks-jvm-shared.workspace = true
fs_extra = "1"
indoc = "2"
libcnb = "=0.26.0"
libherokubuildpack = { version = "=0.26.0", default-features = false, features = ["digest", "download", "error", "inventory", "inventory-sha2", "log", "tar"] }
libherokubuildpack = { version = "=0.26.0", default-features = false, features = ["digest", "download", "error", "inventory", "inventory-sha2", "tar"] }
serde = { version = "1", features = ["derive"] }
tempfile = "3"
url = "2"
Expand Down
42 changes: 20 additions & 22 deletions buildpacks/jvm/src/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,20 @@ use crate::openjdk_artifact::{
};
use crate::version_resolver::VersionResolveError;
use crate::OpenJdkBuildpackError;
use buildpacks_jvm_shared::log::{log_please_try_again, log_please_try_again_error};
use buildpacks_jvm_shared::system_properties::ReadSystemPropertiesError;
use buildpacks_jvm_shared as shared;
use indoc::formatdoc;
use libherokubuildpack::log::log_error;

#[allow(clippy::too_many_lines)]
pub(crate) fn on_error_jvm_buildpack(error: OpenJdkBuildpackError) {
match error {
OpenJdkBuildpackError::CannotCreateOpenJdkTempDir(error) => log_please_try_again_error(
OpenJdkBuildpackError::CannotCreateOpenJdkTempDir(error) => shared::log::log_please_try_again_error(
"Unexpected IO error",
"Could not create temporary directory for the OpenJDK download due to an unexpected I/O error.",
error,
),
OpenJdkBuildpackError::ReadSystemPropertiesError(
ReadSystemPropertiesError::ParseError(error),
) => log_error(
shared::system_properties::ReadSystemPropertiesError::ParseError(error),
) => shared::output::print_error(
"Invalid system.properties file",
formatdoc! {"
Could not parse your application's system.properties file. Please ensure that your
Expand All @@ -28,57 +26,57 @@ pub(crate) fn on_error_jvm_buildpack(error: OpenJdkBuildpackError) {
", error = error },
),
OpenJdkBuildpackError::ReadSystemPropertiesError(
ReadSystemPropertiesError::IoError(error),
) => log_please_try_again_error(
shared::system_properties::ReadSystemPropertiesError::IoError(error),
) => shared::log::log_please_try_again_error(
"Unexpected IO error",
"Could not read your application's system.properties file due to an unexpected I/O error.",
error,
),
OpenJdkBuildpackError::MissingJdkCertificatesFile => log_please_try_again_error(
OpenJdkBuildpackError::MissingJdkCertificatesFile => shared::log::log_please_try_again_error(
"Missing CA keystore file",
"The downloaded OpenJDK distribution does not contain a CA keystore file at the expected location.",
error,
),
OpenJdkBuildpackError::CannotSymlinkUbuntuCertificates(error) => log_please_try_again_error(
OpenJdkBuildpackError::CannotSymlinkUbuntuCertificates(error) => shared::log::log_please_try_again_error(
"Unexpected IO error",
"Could not symlink the CA keystore file from the stack into the OpenJDK distribution.",
error,
),
OpenJdkBuildpackError::CannotListJdkOverlayContents(error) => log_please_try_again_error(
OpenJdkBuildpackError::CannotListJdkOverlayContents(error) => shared::log::log_please_try_again_error(
"Unexpected IO error",
"Could not list the contents of the application's JDK overlay.",
error,
),
OpenJdkBuildpackError::CannotCopyJdkOverlayContents(error) => log_please_try_again_error(
OpenJdkBuildpackError::CannotCopyJdkOverlayContents(error) => shared::log::log_please_try_again_error(
"Unexpected IO error",
"Could not copy the contents of the application's JDK overlay.",
error,
),
OpenJdkBuildpackError::CannotReadOpenJdkTarball(error) => log_please_try_again_error(
OpenJdkBuildpackError::CannotReadOpenJdkTarball(error) => shared::log::log_please_try_again_error(
"Unexpected IO error",
"Could not read downloaded OpenJDK tarball file.",
error,
),
OpenJdkBuildpackError::CannotDecompressOpenJdkTarball(error) => log_please_try_again_error(
OpenJdkBuildpackError::CannotDecompressOpenJdkTarball(error) => shared::log::log_please_try_again_error(
"Unexpected IO error",
"Could not decompress downloaded OpenJDK tarball file.",
error,
),
OpenJdkBuildpackError::OpenJdkDownloadError(error) => log_please_try_again_error(
OpenJdkBuildpackError::OpenJdkDownloadError(error) => shared::log::log_please_try_again_error(
"OpenJDK download failed",
"Could not download OpenJDK distribution.",
error,
),
OpenJdkBuildpackError::UnsupportedOpenJdkVersion(artifact_requirement) => {
match artifact_requirement.version {
HerokuOpenJdkVersionRequirement::Major(major_version) => log_error(
HerokuOpenJdkVersionRequirement::Major(major_version) => shared::output::print_error(
"Unsupported OpenJDK version",
formatdoc! {"
The OpenJDK major version {major_version} you specified in your system.properties file is not supported.
Please specify a supported major version in your system.properties file.
", major_version = major_version },
),
HerokuOpenJdkVersionRequirement::Specific(version) => log_error(
HerokuOpenJdkVersionRequirement::Specific(version) => shared::output::print_error(
"Unsupported OpenJDK version",
formatdoc! {"
The OpenJDK version {version} you specified in your system.properties file is not supported.
Expand All @@ -90,7 +88,7 @@ pub(crate) fn on_error_jvm_buildpack(error: OpenJdkBuildpackError) {
)
}
},
OpenJdkBuildpackError::ParseInventoryError(error) => log_error(
OpenJdkBuildpackError::ParseInventoryError(error) => shared::output::print_error(
"Invalid Inventory File",
formatdoc! {"
The inventory of OpenJDK distributions could not be parsed. This error should
Expand All @@ -102,7 +100,7 @@ pub(crate) fn on_error_jvm_buildpack(error: OpenJdkBuildpackError) {
Details: {error}
", error = error },
),
OpenJdkBuildpackError::OpenJdkTarballChecksumError { expected, actual } => log_please_try_again(
OpenJdkBuildpackError::OpenJdkTarballChecksumError { expected, actual } => shared::log::log_please_try_again(
"Corrupted OpenJDK download",
formatdoc! {"
The validation of the downloaded OpenJDK distribution failed due to a checksum mismatch.
Expand All @@ -111,7 +109,7 @@ pub(crate) fn on_error_jvm_buildpack(error: OpenJdkBuildpackError) {
Actual: {actual}
", expected = hex::encode(expected), actual = hex::encode(actual) }
),
OpenJdkBuildpackError::ResolveVersionError(VersionResolveError::OpenJdkArtifactRequirementParseError(OpenJdkArtifactRequirementParseError::UnknownDistribution(distribution))) => log_error(
OpenJdkBuildpackError::ResolveVersionError(VersionResolveError::OpenJdkArtifactRequirementParseError(OpenJdkArtifactRequirementParseError::UnknownDistribution(distribution))) => shared::output::print_error(
format!("Unsupported distribution: {distribution}"),
formatdoc! {"
Please check your system.properties file to ensure the java.runtime.version
Expand All @@ -124,7 +122,7 @@ pub(crate) fn on_error_jvm_buildpack(error: OpenJdkBuildpackError) {
Heroku
"}),
OpenJdkBuildpackError::ResolveVersionError(VersionResolveError::OpenJdkArtifactRequirementParseError(OpenJdkArtifactRequirementParseError::OpenJdkVersionParseError(_))) => {
log_error(
shared::output::print_error(
"Invalid OpenJDK version selector",
formatdoc! {"
The OpenJDK version selector you specified in your system.properties file is invalid.
Expand All @@ -135,7 +133,7 @@ pub(crate) fn on_error_jvm_buildpack(error: OpenJdkBuildpackError) {
);
}
OpenJdkBuildpackError::ResolveVersionError(VersionResolveError::ReadSystemPropertiesError(error)) => {
log_error(
shared::output::print_error(
"Invalid system.properties file",
formatdoc! {"
The contents of your system.properties file cannot be parsed. Please use a valid
Expand Down
Loading

0 comments on commit 9eebebf

Please sign in to comment.