Next: SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/SEXP, Previous: SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/PARSEABLE-PROJECT, Up: Software Evolution Library Index [Contents][Index]
Find parseable files in project
that were not included in ‘evolve-files’.
Assumes ‘evolve-files’ has been initialized. Only applies to
non-symlink text files that don’t end in "~" and are not ignored by
‘ignore-other-paths’, or ‘only-other-paths’.
Wrapper to represent JSON files as JSON software objects instead of simple text software objects.
Check if path
is an ignored other path in software
.
Class precedence list: include-paths-mixin, standard-object, slot-object, t
Slots:
include-paths
— initarg: :include-paths
; reader: software-evolution-library/software/project:include-paths
; writer: (setf software-evolution-library/software/project:include-paths)
List of pathnames (either absolute or relative to the root of the project) in which include files are to be searched
Mixin for finding include files. This can be combined with a project class or a class for software objects for files of specific languages, such as C or C++.
Class precedence list: project, software, oid-object, standard-object, slot-object, t
Slots:
build-command
— initarg: :build-command
; reader: software-evolution-library/software/project:build-command
Shell command to build the project.
artifacts
— initarg: :artifacts
; reader: software-evolution-library/software/project:artifacts
Artifacts (e.g., executables) of the project build.
evolve-files
— initarg: :evolve-files
; reader: software-evolution-library/software/project:evolve-files
; writer: (setf software-evolution-library/software/project:evolve-files)
Files within the project to mutate. This holds a list of cons cells of the form (path . software-object-for-path).
other-files
— initarg: :other-files
; reader: software-evolution-library/software/project:other-files
; writer: (setf software-evolution-library/software/project:other-files)
Source files which may be used but not evolved. This holds a list of cons cells of the form (path . software-object-for-path).
ignore-paths
— initarg: :ignore-paths
; reader: software-evolution-library/software/project:ignore-paths
List of paths to ignore when collecting evolve-files. Paths may contain wildcards.
only-paths
— initarg: :only-paths
; reader: software-evolution-library/software/project:only-paths
List of paths to only consider when collecting evolve-files. Paths may contain wildcards.
ignore-other-paths
— initarg: :ignore-other-paths
; reader: software-evolution-library/software/project:ignore-other-paths
List of paths to ignore when collecting other-files. Paths may contain wildcards.
only-other-paths
— initarg: :only-other-paths
; reader: software-evolution-library/software/project:only-other-paths
List of paths to only consider when collecting other-files. Paths may contain wildcards.
component-class
— initarg: :component-class
; reader: software-evolution-library/software/project:component-class
; writer: (setf software-evolution-library/software/project:component-class)
Software object class to utilize in component objects.
project-dir
— initarg: :project-dir
; reader: software-evolution-library/software/project:project-dir
; writer: (setf software-evolution-library/software/project:project-dir)
Source directory containing the project.
A project is composed of multiple component software objects.
e
.g., a multi-file C software project may include multiple clang
software objects in it’s ‘evolve-files’.
Directory in which to build projects with ‘phenome’.
When non-nil ‘phenome’ builds projects in this directory instead of
the ‘project-dir’ field of the software object. Calling ‘phenome’ on
software objects sharing the same project-dir in multiple threads will
lead to conflicts. This may be avoided by giving each thread its own
build directory. To do this set *build-dir*
to a different location
in each thread and then initialize *build-dir*
in each thread by
calling ‘{to-file _ *BUILD_DIR*}’ against a base software
object (e.g., the original program).
Create the evolve files for project
.
Ensure clang-project
has a compilation-database populated.
Return a list of the pathnames of directories
that contain header files. types
is a list of strings of the
types of files to loeok for (defaults to ("h")). Names are
sorted into shortlex order by namestring.
Locate the include file(s) for inclusion of include-name.
Check if path
is an ignored evolve path in software
.
Randomly pick one evolve file. Return its index in the alist.