Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modules: flip the default to CUE_EXPERIMENT=modules #3127

Closed
myitcv opened this issue May 8, 2024 · 0 comments
Closed

modules: flip the default to CUE_EXPERIMENT=modules #3127

myitcv opened this issue May 8, 2024 · 0 comments
Assignees
Labels
FeatureRequest New feature or request modules Issues related to CUE modules and the experimental implementation

Comments

@myitcv
Copy link
Member

myitcv commented May 8, 2024

We'd like to flip modules experiment default to true.

To include:

  • Ensuring that error message for missing fields, bad module path etc are good enough
  • Create an FAQ for the common "upgrade problems", relating to the first point
  • Ensuring test coverage for CUE_EXPERIMENT=modules=0
  • Adding cue mod fix command to help with upgrading (cmd/cue: add mod fix #3137)
@myitcv myitcv added FeatureRequest New feature or request modules Issues related to CUE modules and the experimental implementation labels May 8, 2024
cueckoo pushed a commit that referenced this issue May 13, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

	CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 13, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

	CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 13, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

	CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 14, 2024
This prepares for the change that flips the default behavior
to enable the modules experiment.

For #3127

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I8b1e3c516a1182ab3a38324a69e2e5c1edad041d
cueckoo pushed a commit that referenced this issue May 14, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 14, 2024
This prepares for the change that flips the default behavior
to enable the modules experiment.

For #3127

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I8b1e3c516a1182ab3a38324a69e2e5c1edad041d
cueckoo pushed a commit that referenced this issue May 14, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 14, 2024
This prepares for the change that flips the default behavior
to enable the modules experiment.

For #3127

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I8b1e3c516a1182ab3a38324a69e2e5c1edad041d
cueckoo pushed a commit that referenced this issue May 14, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 14, 2024
This prepares for the change that flips the default behavior
to enable the modules experiment.

For #3127

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I8b1e3c516a1182ab3a38324a69e2e5c1edad041d
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1194684
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
cueckoo pushed a commit that referenced this issue May 15, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
DO NOT REVIEW: some fixes still needed

This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The code which adds `"user"` to the path stack when evaluating
command-line-provided files has been removed as being
confusing (ISTM that the name "user" is not something that
is likely to make any sense to an end user in that context).

The protobuf code is fixed to work in the presence
of major version module suffixes.

The `cue/load` code is fixed to construct import paths correctly
in the presence of major version suffixes. That also addresses
an existing TODO to use `module.ParseImportPath`.

An upcoming `cue mod fix` command will be added to make
it more straightforward to migrate.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
cueckoo pushed a commit that referenced this issue May 16, 2024
This change enables the modules experiment by default.
This will cause CUE code to fail if there is no language
version in the module.cue file, amongst other things.

The experiment can be disabled by setting

        CUE_EXPERIMENT=modules=0

Many of the unit tests need to be changed in order to
add the now-mandatory language.version field.

Some error messages have now changed.

Some logic in the `cue fmt` command that relies on seeing
a `load.PackageError` required the respective code inside
`cue/load` to produce that error, which also changes some
error messages.

The `cue mod fix` command is now available to make it
it more straightforward to migrate.

The module path in encoding/gocode/testdata/cue.mod/module.cue
has been  changed to match the modules-enabled default,
otherwise the generation code fails with an error about a mismatched
module path.

Fixes #3127.

Signed-off-by: Roger Peppe <rogpeppe@gmail.com>
Change-Id: I7c384c785eac6203966460703283ecfa2d9f0447
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FeatureRequest New feature or request modules Issues related to CUE modules and the experimental implementation
Projects
Status: Done
Status: v0.9.0-alpha.5
Development

No branches or pull requests

2 participants