Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ Spark runs two separate pipelines during compilation, in this order:
- A transformer that needs to expose baked state does not need a separate persister — call `Transformer.persist/3` inline and emit the module function via `Transformer.eval/3`.
- Do not put a transformer in `persisters:` hoping `after?` declarations will order it relative to transformers — those declarations are silently ignored across pipeline boundaries.

**Current state:** `TransformBehaviour` is misregistered under `persisters:` — a known issue tracked for refactoring. New transformers go under `transformers:`.
New transformers go under `transformers:`. New persisters go under `persisters:`.

## Raising upstream bugs

Expand Down

This file was deleted.

6 changes: 3 additions & 3 deletions lib/diffo/provider/extension.ex
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,8 @@ defmodule Diffo.Provider.Extension do
use Spark.Dsl.Extension,
sections: [@provider],
transformers: [
Diffo.Provider.Extension.Transformers.TransformRelationships
Diffo.Provider.Extension.Transformers.TransformRelationships,
Diffo.Provider.Extension.Transformers.TransformBehaviour
],
persisters: [
Diffo.Provider.Extension.Persisters.PersistSpecification,
Expand All @@ -594,8 +595,7 @@ defmodule Diffo.Provider.Extension do
Diffo.Provider.Extension.Persisters.PersistPools,
Diffo.Provider.Extension.Persisters.PersistParties,
Diffo.Provider.Extension.Persisters.PersistPlaces,
Diffo.Provider.Extension.Persisters.PersistInstances,
Diffo.Provider.Extension.Transformers.TransformBehaviour
Diffo.Provider.Extension.Persisters.PersistInstances
],
verifiers: [
Diffo.Provider.Extension.Verifiers.VerifySpecification,
Expand Down
12 changes: 2 additions & 10 deletions lib/diffo/provider/extension/transformers/transform_behaviour.ex
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ defmodule Diffo.Provider.Extension.Transformers.TransformBehaviour do

@impl true
def transform(dsl_state) do
spec = Transformer.get_persisted(dsl_state, :specification, [])
spec_id = Transformer.get_option(dsl_state, [:provider, :specification], :id)

dsl_state = inject_create_arguments(dsl_state)

{build_before_body, build_after_body} =
if spec[:id] do
if spec_id do
before_body =
quote do
changeset
Expand Down Expand Up @@ -128,12 +128,4 @@ defmodule Diffo.Provider.Extension.Transformers.TransformBehaviour do
end)
end

@impl true
def after?(Diffo.Provider.Extension.Persisters.PersistSpecification), do: true
def after?(Diffo.Provider.Extension.Persisters.PersistCharacteristics), do: true
def after?(Diffo.Provider.Extension.Persisters.PersistFeatures), do: true
def after?(Diffo.Provider.Extension.Persisters.PersistPools), do: true
def after?(Diffo.Provider.Extension.Persisters.PersistParties), do: true
def after?(Diffo.Provider.Extension.Persisters.PersistPlaces), do: true
def after?(_), do: false
end
Loading