pplu / aws-sdk-perl

A community AWS SDK for Perl Programmers
Other
170 stars 94 forks source link

Generated source files build with some differences on fresh checkout #303

Open leonerd opened 5 years ago

leonerd commented 5 years ago

Starting from a clean checkout of current master with the submodules:

$ git show HEAD
commit f4073b2595335f46485a9c8f1197209434a02445 (HEAD -> master, origin/master, origin/HEAD)
Merge: 959e2dfe9 7a17ac1d0
Author: Jose Luis Martinez <jlmartinez@capside.com>
Date:   Fri Sep 28 09:52:27 2018 +0200
...

$ git submodule init
Submodule 'botocore' (https://github.com/pplu/botocore.git) registered for path 'botocore'

$ git submodule update
Submodule path 'botocore': checked out '8eb2d131748e6f8e240fb8da2ee6fb2c71143191'

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

I rebuild the generated classes:

$ carton exec builder-bin/gen_classes.pl --paws_pm --classes
Processing botocore/botocore/data/acm/2015-12-08/service-2.json
Processing botocore/botocore/data/acm-pca/2017-08-22/service-2.json
Processing botocore/botocore/data/alexaforbusiness/2017-11-09/service-2.json
...

But the generated files aren't the same as the ones checked into source:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   auto-lib/Paws/ApiGateway/CreateDomainName.pm
        modified:   auto-lib/Paws/ApiGateway/CreateRestApi.pm
        modified:   auto-lib/Paws/ApiGateway/EndpointConfiguration.pm
        modified:   auto-lib/Paws/ApiGateway/GetExport.pm
        modified:   auto-lib/Paws/ApiGateway/GetGatewayResponses.pm
        modified:   auto-lib/Paws/ApiGateway/ImportRestApi.pm
        modified:   auto-lib/Paws/ApiGateway/PutRestApi.pm
        modified:   auto-lib/Paws/ApiGateway/UpdateAccount.pm
        modified:   auto-lib/Paws/AppSync/CreateApiKey.pm
        modified:   auto-lib/Paws/AppSync/ListApiKeys.pm
        modified:   auto-lib/Paws/AutoScaling/CreateOrUpdateTags.pm
        modified:   auto-lib/Paws/AutoScaling/DeleteAutoScalingGroup.pm
        modified:   auto-lib/Paws/AutoScaling/DetachInstances.pm
...

An example diff shows minor differences:

diff --git a/auto-lib/Paws/ApiGateway/CreateDomainName.pm b/auto-lib/Paws/ApiGateway/CreateDomainName.pm
index 64f0e1f1a..199537acb 100644
--- a/auto-lib/Paws/ApiGateway/CreateDomainName.pm
+++ b/auto-lib/Paws/ApiGateway/CreateDomainName.pm
@@ -45,7 +45,7 @@ You shouldn't make instances of this class. Each attribute should be used as a n
       CertificatePrivateKey => 'MyString',    # OPTIONAL
       EndpointConfiguration => {
         types => [
-          'REGIONAL', ...                     # values: REGIONAL, EDGE
+          'REGIONAL', ...                     # values: REGIONAL, EDGE, PRIVATE
         ],                                    # OPTIONAL
       },    # OPTIONAL
       RegionalCertificateArn  => 'MyString',    # OPTIONAL

Not every file shows differences, most match perfectly, so I suspect the process is generally working fine. This suggests perhaps some relatively minor difference in versions used?

leonerd commented 5 years ago

This is currently blocking my work to document retry logic (#296)