rsc3/doc-schelp/HelpSource/Classes/Quark.scrbl

233 lines
4 KiB
Racket

#lang scribble/manual
@(require (for-label racket))
@title{Quark}
Object for managing a Quark - a package of source code@section{categories}
Quarks
@section{related}
Guides/UsingQuarks, Classes/Quarks
@section{description}
A Quark is a folder of source code, a package. It may be cloned from a git repository, or maybe not.
This class is used by the Quarks class and you will not usually want to use it directly.
@section{CLASSMETHODS}
@section{METHOD}
new
@section{ARGUMENT}
name
Quark name, git url or local path (absolute or relative)
@section{ARGUMENT}
refspec
@section{ARGUMENT}
url
@section{ARGUMENT}
localPath
@section{returns}
this
@section{METHOD}
fromLocalPath
alternate constructor
@section{ARGUMENT}
path
@section{returns}
this
@section{METHOD}
fromDirectoryEntry
alternate constructor
@section{ARGUMENT}
name
@section{ARGUMENT}
directoryEntry
@section{returns}
this
@section{METHOD}
parseQuarkName
@section{ARGUMENT}
name
@section{ARGUMENT}
refspec
@section{ARGUMENT}
url
@section{ARGUMENT}
localPath
@section{returns}
this
@section{METHOD}
parseDependency
private
@section{ARGUMENT}
dep
@section{ARGUMENT}
forQuark
@section{returns}
this
@section{PRIVATE}
prMakeDep
@section{INSTANCEMETHODS}
@section{METHOD}
name
@section{returns}
String
@section{METHOD}
dependencies
Based on the dependencies list in the quark file, returns an array of Quarks.
@section{returns}
Array of Quark
@section{METHOD}
deepDependencies
Declared dependencies of this Quark and those of each dependency.
This will check out all dependencies.
@section{returns}
Array of Quarks
@section{METHOD}
data
Lazily parses the quark file (if found) and caches it
@section{returns}
Dictionary - the contents of the quark file
@section{METHOD}
refspec
Git refspec (tag or sha hash)
@section{returns}
this
@section{METHOD}
localPath
Absolute path where the Quark is located
@section{returns}
this
@section{METHOD}
summary
Summary text from the quark file
@section{returns}
this
@section{METHOD}
url
Git repository url. If not declared when creating, it will examine the checked out git source
and get the origin.
@section{returns}
this
@section{METHOD}
isDownloaded
@section{returns}
Boolean
@section{METHOD}
isInstalled
@section{returns}
Boolean
@section{METHOD}
git
Quarks that have git repos have a Git object that can be used for checking out, listing tags etc.
@section{returns}
a Git object
@section{METHOD}
init
private
@section{ARGUMENT}
argName
@section{ARGUMENT}
argUrl
@section{ARGUMENT}
argRefspec
@section{ARGUMENT}
argLocalPath
@section{returns}
this
@section{METHOD}
install
@section{returns}
this
@section{METHOD}
uninstall
@section{returns}
this
@section{METHOD}
checkout
Clone and checkout the url and refspec.
Used by install and for switching versions.
@section{returns}
this
@section{METHOD}
version
@section{returns}
String
@section{METHOD}
tags
@section{returns}
Array of Strings
@section{METHOD}
isCompatible
Evaluates the 'isCompatible' function in the quarkfile, if there is one.
This allows a quarkfile to check its environment and raise an alarm before it gets installed and breaks something.
@section{returns}
Boolean
@section{METHOD}
definesClasses
Classes that are defined by this Quark
@section{returns}
Array of Classes
@section{METHOD}
definesExtensionMethods
Methods that this Quark defines that overwrite implementations in other packages including in Common.
@section{returns}
Array of Methods
@section{METHOD}
help
Open the help file. Either as specified in the quark file as 'schelp' or searches by the name of the quark.
@section{returns}
this
@section{METHOD}
changed
After un/installing or checking out, state is set to changed.
code smell: this is for the gui
@section{returns}
Boolean
@section{METHOD}
printOn
@section{ARGUMENT}
stream
@section{returns}
this
@section{METHOD}
parseQuarkFile
private
@section{returns}
this
@section{PRIVATE}
prCollectDependencies