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.