Releases: palantir/godel
0.21.0
publish
- URL provided to
--url
flag ofgithub
publish task no longer needs to end in a/
(one will be added if it is not provided) github
publish task now requires the repository to be at a tagged version in order to publish
- URL provided to
generate
- The
generate
task configuration now has anenvironment
map that can be used to specify environment variables that should be set for a particulargo generate
task
- The
0.20.0
clean
- Added a new
clean
command (./godelw clean
) that removes the output osbuild
anddist
- 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
- Added a new
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 forbuild
(previously, it would always default to the host OS/architecture regardless of thebuild
configuration) - The
bin
dist type will now use a default value oftrue
foromit-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).
0.19.0
check
- Updated
novendor
dependency to fix issue where it could infinitely loop on certain dependencies
- Updated
distgo
- Updated
docker
task so that it only creates distributions if they do not exist or are not up-to-date
- Updated
idea
- Added
idea gogland
command to generate Gogland-compatible IDEA files - Added
idea intellij
command for symmetry
- Added
0.18.0
0.17.1
0.17.0
0.16.1
0.16.0
check
- Updated
novendor
dependency to include fix that ignoresvendor
directories in hidden directories and adds flags for debugging behavior - Added
nobadfuncs
check, which allows specific functions to be blacklisted
- Updated
build
- Added
skip
parameter to configuration which, when set to true, specifies that the product should not be built
- Added
dist
- Added new default to
os-arch-bin
dist type -- ifos-archs
is not specified, then current is used as the default. This mirrors the default behavior of theos-archs
configuration forbuild
. - Added
manual
as a distribution type- Allows a product to manage its own distribution process -- the script should create a single output with the expected name with an extension specified in configuration and that output is used as the
dist
output
- Allows a product to manage its own distribution process -- the script should create a single output with the expected name with an extension specified in configuration and that output is used as the
- Added new default to
publish
- GitHub upload URI is now automatically determined based on response from API
- Removed
--github-upload-url
flag because it is no longer needed
test
- Fixed bug where listing packages could fail with
permission denied
even if the directory was excluded using configuration
- Fixed bug where listing packages could fail with
0.15.0
dist
- Added
os-arch-bin
as a dist type- Packages only the generated executable (and any dependent executables if specified)
- Supports generating multiple artifacts (one per OS/Arch combination)
- When published, all artifacts for the distribution are uploaded with a single POM file (the OS/Arch suffix acts as a classifier)
- Added general support for dist types that generate more than one output
- Added
publish
- Added
github
publish type- Supports generating a new GitHub release using the product version and uploading artifacts to the release
- Added
- Refactored parts of the
dist
andpublish
code
0.14.0
- Added
docker
command- Can be used to build and publish Docker images as part of a project
- Is a task provided and configured by
distgo
check
- Updated
novendor
dependency so that it ignores hidden directories
- Updated
run
- Added ability to pass flags to program being run by prepending flag arguments with
flag:
- Fixed so that
stdin
for program being run is properly connected to the invoking process'sstdin
- Added ability to pass flags to program being run by prepending flag arguments with
- Updated version of Go used to build gödel to 1.8.1