Skip to content

0.20.0

Compare
Choose a tag to compare
@nmiyake nmiyake released this 14 Aug 21:04
· 588 commits to master since this release
  • clean
    • Added a new clean command (./godelw clean) that removes the output os build and dist
      • The product(s) to clean can be specified as arguments. If no arguments are specified, the outputs for all products are cleaned.
    • The --dry-run flag can be used to print the paths that would be removed without actually removing them
  • test
    • Fixed issue where having capital letters in tag names for tagged test configuration would cause incorrect behavior
    • Improved error message displayed when invalid tags are provided to the test command
  • dist
    • os-arch-bin is used as the default distribution type if it is unspecified (previously, sls was used)
    • If an os-arch-bin distribution does not specify target OS/architectures explicitly, the command now defaults to creating distributions for the same set of OS/architectures configured for build (previously, it would always default to the host OS/architecture regardless of the build configuration)
    • The bin dist type will now use a default value of true for omit-init-sh if it is not specified

New features

clean

./godelw clean has been added as a command. The clean command will remove all of the outputs generated by the build and dist commands for products. The --dry-run flag can be used to print the paths that will be removed by the command. The arguments for clean behave in the same manner as for build and dist, in that it accepts a set of products as inputs, and operates on all products defined for a project if no arguments are provided.

Back-compat

dist.yml with no dist block

If a product previously did not specify a distribution type, the dist command will now use os-arch-bin as the type (rather than sls). To restore the previous behavior, update your configuration to explicitly set sls as the distribution type.

The block that needs to be added is of the form:

    dist:
      dist-type:
        type: sls

For example, configuration of the form:

products:
  example-product:
    build:
      main-pkg: .
      os-archs:
        - os: darwin
          arch: amd64
        - os: linux
          arch: amd64
      version-var: main.version
group-id: com.palantir.example

Should be updated to:

products:
  example-product:
    build:
      main-pkg: .
      os-archs:
        - os: darwin
          arch: amd64
        - os: linux
          arch: amd64
      version-var: main.version
    dist:
      dist-type:
        type: sls
group-id: com.palantir.example

type: bin distributions with no omit-init-sh set

If a product previously specified a dist-type with type: bin but did not explicitly set a value for omit-init-sh, the default value was false and an initialization script would be generated. To restore the previous behavior, explicitly set omit-init-sh to false.

For example, configuration of the form:

    dist:
      dist-type:
        type: bin

Should become:

    dist:
      dist-type:
        type: bin
        info:
          omit-init-sh: false

If a product previously declared omit-init-sh: true, that configuration can now be removed (however, doing so is not required).