Dagger
Search

greeter

via a remote git ref cannot walk into a workspace sub-sub-directory
through a constructor-injected Directory field annotated with
defaultPath="/" + ignore patterns.

This mirrors toolchains/java-sdk-dev exactly: the workspace is a
TYPE FIELD (set once at construction) with @defaultPath/@ignorePatterns
— not a per-function argument. Functions then access
m.Workspace.Directory(...) through the stored field, so the
default-path resolution happens at constructor time and its result is
reused across calls. The real failure path is:

dagger -m github.com/.../workspace-default-path/greeter@ call read
=> New(workspace=)
=> m.Workspace.Directory("workspace-default-path/target-subdir/maven")...

Installation

dagger install github.com/dagger/dagger-test-modules/workspace-default-path/greeter@af5f39d6f98e3c7d7ec0ad7c24ac8abc2339a079

Entrypoint

Return Type
Greeter !
Arguments
NameTypeDefault ValueDescription
workspaceDirectory -No description provided
Example
dagger -m github.com/dagger/dagger-test-modules/workspace-default-path/greeter@af5f39d6f98e3c7d7ec0ad7c24ac8abc2339a079 call \
func (m *MyModule) Example() *dagger.Greeter  {
	return dag.
			Greeter()
}
@function
def example() -> dagger.Greeter:
	return (
		dag.greeter()
	)
@func()
example(): Greeter {
	return dag
		.greeter()
}

Types

Greeter 🔗

workspace() 🔗

Workspace is stored on the receiver so function calls reuse the same resolved Directory instance — matching dang’s pub workspace field storage model in java-sdk-dev.

Return Type
Directory !
Example
dagger -m github.com/dagger/dagger-test-modules/workspace-default-path/greeter@af5f39d6f98e3c7d7ec0ad7c24ac8abc2339a079 call \
 workspace
func (m *MyModule) Example() *dagger.Directory  {
	return dag.
			Greeter().
			Workspace()
}
@function
def example() -> dagger.Directory:
	return (
		dag.greeter()
		.workspace()
	)
@func()
example(): Directory {
	return dag
		.greeter()
		.workspace()
}

read() 🔗

Read walks into a sub-sub-directory of the un-excluded parent. The “maven” child is never named in the ignore pattern list — it must be pulled in transitively by the parent’s trailing-slash un-exclusion.

Return Type
String !
Example
dagger -m github.com/dagger/dagger-test-modules/workspace-default-path/greeter@af5f39d6f98e3c7d7ec0ad7c24ac8abc2339a079 call \
 read
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Greeter().
			Read(ctx)
}
@function
async def example() -> str:
	return await (
		dag.greeter()
		.read()
	)
@func()
async example(): Promise<string> {
	return dag
		.greeter()
		.read()
}

readCheck() 🔗

ReadCheck exposes the sub-sub-directory access through a check. The production java-sdk-dev regression surfaces through @check functions (test, lint), so this path must pass once the bug is fixed.

Return Type
Void !
Example
dagger -m github.com/dagger/dagger-test-modules/workspace-default-path/greeter@af5f39d6f98e3c7d7ec0ad7c24ac8abc2339a079 call \
 read-check
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			Greeter().
			ReadCheck(ctx)
}
@function
async def example() -> None:
	return await (
		dag.greeter()
		.read_check()
	)
@func()
async example(): Promise<void> {
	return dag
		.greeter()
		.readCheck()
}

workspaceEntries() 🔗

WorkspaceEntries is a sanity check: workspace root must load.

Return Type
[String ! ] !
Example
dagger -m github.com/dagger/dagger-test-modules/workspace-default-path/greeter@af5f39d6f98e3c7d7ec0ad7c24ac8abc2339a079 call \
 workspace-entries
func (m *MyModule) Example(ctx context.Context) []string  {
	return dag.
			Greeter().
			WorkspaceEntries(ctx)
}
@function
async def example() -> List[str]:
	return await (
		dag.greeter()
		.workspace_entries()
	)
@func()
async example(): Promise<string[]> {
	return dag
		.greeter()
		.workspaceEntries()
}