From 242e7e1be7cab5e7ec63295e09ad66e7ced2ac54 Mon Sep 17 00:00:00 2001 From: AWS SDK for Ruby Date: Mon, 16 Sep 2024 12:39:11 -0700 Subject: [PATCH] Use autoload for more namespaces in core --- gems/aws-sdk-core/lib/aws-defaults.rb | 5 +- gems/aws-sdk-core/lib/aws-sdk-core.rb | 107 +++--------------- .../spec/aws/cbor/cbor_engine_spec.rb | 1 + .../spec/aws/cbor/decoder_spec.rb | 1 + .../spec/aws/cbor/encoder_spec.rb | 1 + 5 files changed, 25 insertions(+), 90 deletions(-) diff --git a/gems/aws-sdk-core/lib/aws-defaults.rb b/gems/aws-sdk-core/lib/aws-defaults.rb index 94050821ba1..0961c86fa69 100644 --- a/gems/aws-sdk-core/lib/aws-defaults.rb +++ b/gems/aws-sdk-core/lib/aws-defaults.rb @@ -1,3 +1,6 @@ # frozen_string_literal: true -require_relative 'aws-defaults/default_configuration' \ No newline at end of file +module Aws + autoload :DefaultsModeConfiguration, 'aws-defaults/default_configuration' + autoload :DefaultsModeConfigResolver, 'aws-defaults/defaults_mode_config_resolver' +end diff --git a/gems/aws-sdk-core/lib/aws-sdk-core.rb b/gems/aws-sdk-core/lib/aws-sdk-core.rb index 13416d83c39..cf2e4835c66 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-core.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-core.rb @@ -6,95 +6,6 @@ require_relative 'aws-sdk-core/deprecations' -# credential providers -require_relative 'aws-sdk-core/credential_provider' -require_relative 'aws-sdk-core/refreshing_credentials' -require_relative 'aws-sdk-core/assume_role_credentials' -require_relative 'aws-sdk-core/assume_role_web_identity_credentials' -require_relative 'aws-sdk-core/credentials' -require_relative 'aws-sdk-core/credential_provider_chain' -require_relative 'aws-sdk-core/ecs_credentials' -require_relative 'aws-sdk-core/instance_profile_credentials' -require_relative 'aws-sdk-core/shared_credentials' -require_relative 'aws-sdk-core/process_credentials' -require_relative 'aws-sdk-core/sso_credentials' - -# tokens and token providers -require_relative 'aws-sdk-core/token' -require_relative 'aws-sdk-core/token_provider' -require_relative 'aws-sdk-core/static_token_provider' -require_relative 'aws-sdk-core/refreshing_token' -require_relative 'aws-sdk-core/sso_token_provider' -require_relative 'aws-sdk-core/token_provider_chain' -require_relative 'aws-sdk-core/plugins/bearer_authorization' - -# client modules -require_relative 'aws-sdk-core/client_stubs' -require_relative 'aws-sdk-core/async_client_stubs' -require_relative 'aws-sdk-core/eager_loader' -require_relative 'aws-sdk-core/errors' -require_relative 'aws-sdk-core/pageable_response' -require_relative 'aws-sdk-core/pager' -require_relative 'aws-sdk-core/param_converter' -require_relative 'aws-sdk-core/param_validator' -require_relative 'aws-sdk-core/shared_config' -require_relative 'aws-sdk-core/structure' -require_relative 'aws-sdk-core/type_builder' -require_relative 'aws-sdk-core/util' - -# resource classes -require_relative 'aws-sdk-core/resources/collection' - -# logging -require_relative 'aws-sdk-core/log/formatter' -require_relative 'aws-sdk-core/log/param_filter' -require_relative 'aws-sdk-core/log/param_formatter' - -# stubbing -require_relative 'aws-sdk-core/stubbing/empty_stub' -require_relative 'aws-sdk-core/stubbing/data_applicator' -require_relative 'aws-sdk-core/stubbing/stub_data' -require_relative 'aws-sdk-core/stubbing/xml_error' - -# stubbing protocols -require_relative 'aws-sdk-core/stubbing/protocols/json' -require_relative 'aws-sdk-core/stubbing/protocols/rest' -require_relative 'aws-sdk-core/stubbing/protocols/rest_json' -require_relative 'aws-sdk-core/stubbing/protocols/rest_xml' -require_relative 'aws-sdk-core/stubbing/protocols/query' -require_relative 'aws-sdk-core/stubbing/protocols/ec2' -require_relative 'aws-sdk-core/stubbing/protocols/rpc_v2' -require_relative 'aws-sdk-core/stubbing/protocols/api_gateway' - -# protocols -require_relative 'aws-sdk-core/error_handler' -require_relative 'aws-sdk-core/rest' -require_relative 'aws-sdk-core/xml' -require_relative 'aws-sdk-core/json' -require_relative 'aws-sdk-core/query' -require_relative 'aws-sdk-core/rpc_v2' - -# event stream -require_relative 'aws-sdk-core/binary' -require_relative 'aws-sdk-core/event_emitter' - -# endpoint discovery -require_relative 'aws-sdk-core/endpoint_cache' - -# client metrics / telemetry -require_relative 'aws-sdk-core/client_side_monitoring/request_metrics' -require_relative 'aws-sdk-core/client_side_monitoring/publisher' -require_relative 'aws-sdk-core/telemetry' - -# utilities -require_relative 'aws-sdk-core/arn' -require_relative 'aws-sdk-core/arn_parser' -require_relative 'aws-sdk-core/ec2_metadata' -require_relative 'aws-sdk-core/lru_cache' - -# dynamic endpoints -require_relative 'aws-sdk-core/endpoints' -require_relative 'aws-sdk-core/plugins/signature_v4' # defaults require_relative 'aws-defaults' @@ -111,6 +22,22 @@ module Aws + autoload :IniParser, 'aws-sdk-core/ini_parser' + + # Credentials and credentials providers + autoload :Credentials, 'aws-sdk-core/credentials' + autoload :CredentialProvider, 'aws-sdk-core/credential_provider' + autoload :RefreshingCredentials, 'aws-sdk-core/refreshing_credentials' + autoload :AssumeRoleCredentials, 'aws-sdk-core/assume_role_credentials' + autoload :AssumeRoleWebIdentityCredentials, 'aws-sdk-core/assume_role_web_identity_credentials' + autoload :CredentialProviderChain, 'aws-sdk-core/credential_provider_chain' + autoload :ECSCredentials, 'aws-sdk-core/ecs_credentials' + autoload :InstanceProfileCredentials, 'aws-sdk-core/instance_profile_credentials' + autoload :SharedCredentials, 'aws-sdk-core/shared_credentials' + autoload :ProcessCredentials, 'aws-sdk-core/process_credentials' + autoload :SSOCredentials, 'aws-sdk-core/sso_credentials' + + # tokens and token providers autoload :Token, 'aws-sdk-core/token' autoload :TokenProvider, 'aws-sdk-core/token_provider' @@ -189,6 +116,8 @@ module ClientSideMonitoring autoload :RequestMetrics, 'aws-sdk-core/client_side_monitoring/request_metrics' autoload :Publisher, 'aws-sdk-core/client_side_monitoring/publisher' end + autoload :Telemetry, 'aws-sdk-core/telemetry' + # utilities autoload :ARN, 'aws-sdk-core/arn' diff --git a/gems/aws-sdk-core/spec/aws/cbor/cbor_engine_spec.rb b/gems/aws-sdk-core/spec/aws/cbor/cbor_engine_spec.rb index a2f2cdd6e3f..1a6c8f13138 100644 --- a/gems/aws-sdk-core/spec/aws/cbor/cbor_engine_spec.rb +++ b/gems/aws-sdk-core/spec/aws/cbor/cbor_engine_spec.rb @@ -1,4 +1,5 @@ require_relative '../../spec_helper' +require 'aws-sdk-core/cbor/cbor_engine' module Aws module Cbor diff --git a/gems/aws-sdk-core/spec/aws/cbor/decoder_spec.rb b/gems/aws-sdk-core/spec/aws/cbor/decoder_spec.rb index 1c53353c469..916c005ba9b 100644 --- a/gems/aws-sdk-core/spec/aws/cbor/decoder_spec.rb +++ b/gems/aws-sdk-core/spec/aws/cbor/decoder_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require_relative '../../spec_helper' +require 'aws-sdk-core/cbor/decoder' module Aws module Cbor diff --git a/gems/aws-sdk-core/spec/aws/cbor/encoder_spec.rb b/gems/aws-sdk-core/spec/aws/cbor/encoder_spec.rb index ce94ba9241a..abf58e2a4cc 100644 --- a/gems/aws-sdk-core/spec/aws/cbor/encoder_spec.rb +++ b/gems/aws-sdk-core/spec/aws/cbor/encoder_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require_relative '../../spec_helper' +require 'aws-sdk-core/cbor/encoder' module Aws module Cbor