Skip to content

smithy ast caching maven dependencies is incorrect #2537

Open
@mullermp

Description

@mullermp

It appears incorrect cache keys are used for maven dependencies in smithy build json files. I'm able to work around this by "touching" the config file - I suppose this somehow busts the cache.

Reproduction:

test1.json

{
  "version": "1.0",
  "maven": {
    "dependencies": [
      "software.amazon.smithy:smithy-rules-engine:[1.0,2.0)"
    ]
  }
}

test2.json

{
  "version": "1.0",
  "maven": {
    "dependencies": [
      "software.amazon.smithy:smithy-protocol-traits:[1.0,2.0)"
    ]
  }
}

test1.smithy

$version: "2.0"

namespace smithy.tests.endpointrules.defaultvalues

use smithy.rules#clientContextParams

@clientContextParams(
    bar: {type: "string", documentation: "a client string parameter"}
)
service FizzBuzz {}

test2.smithy

$version: "2"

namespace smithy.ruby.tests

use smithy.protocols#rpcv2Cbor

@rpcv2Cbor
service Service {}

Try running:

smithy ast --debug --config test1.json test1.smithy
smithy ast --debug --config test2.json test2.smithy

If you don't see an error, run test1 again.
Bust cache with:

touch test2.json
touch test1.json

Whatever ast command you run first will succeed, the later one appears to fail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions