Skip to content

doc-only imports #1462

@lucaswerkmeister

Description

@lucaswerkmeister

I propose to add documentation-only imports, which ceylondoc can use to resolve doclinks to modules not otherwise imported.

Consider, for example, the following modules:

"Bla bla.
 Commonly used in conjunction with [[module ceylon.ast.redhat]].
 After conversion using that module,
 you may feed this into [[module ceylon.formatter]]."
module ceylon.ast.core "1.2.0" {}

"Processes ASTs from [[module ceylon.ast.core]]."
module ceylon.ast.redhat "1.2.0" {
    shared import ceylon.ast.core "1.2.0";
}

Only one of these three doclinks will work – and it’s impossible to make the other two work, since that would require circular dependencies between modules, and a dependency of ceylon.ast.core onto a module which it shouldn’t depend on (ceylon.formatter).

To solve this, I suggest the following syntax:

"…"
module ceylon.ast.core "1.2.0" {
    doc import ceylon.ast.redhat "1.2.0";
    doc import ceylon.formatter "1.2.0";
}

These doc imports serve only to inform ceylondoc that these modules will be available, and that links to them should be allowed (with correct output). They do not introduce a module dependency, and are not available at runtime.

(Sorry if this isn’t the correct repo, but I don’t think this belongs in .language or -compiler.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions