The GitHub Actions job "CI" on grails-core.git/feat/indy-dual-artifacts has 
failed.
Run started by GitHub user codeconsole (triggered by codeconsole).

Head commit for run:
3ce9e885be4d5c85dc9e3ad88775233f7198b310 / Scott Murphy Heiberg 
<[email protected]>
feat!: make callsite caching the default and publish indy under a classifier

Grails 8 compiles applications without invokedynamic, as 7.x did, and every
module and plugin publishes its main artifact the same way. The invokedynamic
flavour is published alongside it under the `indy` classifier, so an
application that wants it can have it throughout rather than only in its own
classes -- which is what ahead-of-time native compilation requires, since
callsite caching links call sites at runtime and cannot be compiled into a
native image.

An application opts in by enabling indy and naming the dependencies that
publish the classifier:

    grails {
        indy = true
        indyModules = ['org.apache.grails:grails-core']
    }

Dependencies left off the list keep their main artifact. That is safe on the
JVM, where the two flavours interoperate on the same classpath, but a native
image needs the indy flavour of everything, so an application targeting one
lists every Grails module and plugin it uses. Listing a module that publishes
no classifier -- or a platform such as grails-bom, which publishes no jar --
fails when the missing file is fetched, so modules advertise theirs through
the Grails-Indy-Artifact manifest attribute.

grails.indy no longer governs how a plugin compiles its own sources: a plugin
builds both flavours through the new indyJar task and the resolving
application chooses.

The indy jar is assembled by unpacking the finished main jar and layering the
invokedynamic classes over it. Enumerating the source directories instead
omitted the AST classes a plugin copies in from a separate source set along
with its staged command and template resources, and reusing the main jar's
copy spec imported that task's duplicatesStrategy with it. Unpacking keeps
the two artifacts identical by construction, whatever the build contributed.

Report URL: https://github.com/apache/grails-core/actions/runs/32316348496

With regards,
GitHub Actions via GitBox

Reply via email to