Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExportIntellijStructure ¶
func ExportIntellijStructure(config *core.Configuration, graph *core.BuildGraph, originalLabels core.BuildLabels)
ExportIntellijStructure creates a set of modules and libraries that makes it nicer to work with Please projects in IntelliJ.
Types ¶
type Library ¶
type Library struct { XMLName xml.Name `xml:"library"` Name string `xml:"name,attr"` ClassPaths []Content `xml:"CLASSES>root"` JavadocPaths []Content `xml:"JAVADOC>root"` SourcePaths []Content `xml:"SOURCES>root"` }
Library represents an IntelliJ project library, which usually consists of a jar containing classes, but can also contain javadocs and sources.
type Misc ¶
type Misc struct { XMLName xml.Name `xml:"project"` Version int `xml:"version,attr"` Component MiscComponent `xml:"component"` }
Misc is an ancillary structure that handles things like Java source level.
type MiscComponent ¶
type MiscComponent struct { XMLName xml.Name `xml:"component"` Name string `xml:"name,attr"` Version int `xml:"version,attr"` LanguageLevel string `xml:"languageLevel,attr"` Default bool `xml:"default,attr"` ProjectJdkName string `xml:"project-jdk-name,attr"` ProjectJdkType string `xml:"project-jdk-type,attr"` Output MiscOutput `xml:"output"` }
MiscComponent is the main Misc wrapper type.
type MiscOutput ¶
MiscOutput determines where intellij puts the code it has compiled itself.
type Module ¶
type Module struct { XMLName xml.Name `xml:"module"` ModuleType string `xml:"type,attr"` Version int `xml:"version,attr"` Component ModuleComponent `xml:"component"` }
Module represents the IntelliJ concept of a module
type ModuleComponent ¶
type ModuleComponent struct { XMLName xml.Name `xml:"component"` Name string `xml:"name,attr"` InheritCompilerOutput bool `xml:"inherit-compiler-output,attr"` Content *ModuleContent `xml:"content,omitEmpty"` OrderEntries []OrderEntry `xml:"orderEntry"` }
ModuleComponent represents the top level module wrapper.
type ModuleContent ¶
type ModuleContent struct { XMLName xml.Name `xml:"content"` URL string `xml:"url,attr"` SourceFolder []SourceFolder `xml:"sourceFolder"` }
ModuleContent is a wrapper that is generally only used once in a given module.
type Modules ¶
type Modules struct { XMLName xml.Name `xml:"project"` Version int `xml:"version,attr"` Component ModulesComponent `xml:"component"` }
Modules are the main structure that tells IntelliJ where to find all the modules it knows about.
type ModulesComponent ¶
type ModulesComponent struct { XMLName xml.Name `xml:"component"` Name string `xml:"name,attr"` Modules []ModulesModule `xml:"modules>module"` }
ModulesComponent represents all modules in the workspace.
type ModulesModule ¶
type ModulesModule struct { XMLName xml.Name `xml:"module"` FileURL string `xml:"fileurl,attr"` FilePath string `xml:"filepath,attr"` }
ModulesModule represents one module in the workspace, and where to find its definition.
type OrderEntry ¶
type OrderEntry struct { XMLName xml.Name `xml:"orderEntry"` Type string `xml:"type,attr"` ForTests *bool `xml:"forTests,attr,omitEmpty"` Exported *string `xml:"exported,attr,omitEmpty"` LibraryName *string `xml:"name,attr,omitEmpty"` LibraryLevel *string `xml:"level,attr,omitEmpty"` ModuleName *string `xml:"module-name,attr,omitEmpty"` }
OrderEntry represents a dependency on (e.g.) another module, or a library or an SDK.
type SourceFolder ¶
type SourceFolder struct { XMLName xml.Name `xml:"sourceFolder"` URL string `xml:"url,attr"` IsTestSource bool `xml:"isTestSource,attr"` PackagePrefix *string `xml:"packagePrefix,attr,omitEmpty"` }
SourceFolder is a location on disk that contains files of interest to this package.