KDE/kdevplatform/project/interfaces
Andreas Pakulat
apaku at gmx.de
Sat Nov 10 13:27:30 UTC 2007
SVN commit 734914 by apaku:
add api dox and 2 new methods.
If anybody has a better name for prune and/or configure which is buildsystem-agnostic (i.e. not distclean), please share it.
CCMAIL:kdevelop-devel at kdevelop.org
M +10 -0 iprojectbuilder.cpp
M +56 -1 iprojectbuilder.h
--- trunk/KDE/kdevplatform/project/interfaces/iprojectbuilder.cpp #734913:734914
@@ -24,5 +24,15 @@
IProjectBuilder::~IProjectBuilder()
{
}
+
+
+bool IProjectBuilder::configure(IProject*)
+{
}
+bool IProjectBuilder::prune(IProject*)
+{
+}
+
+}
+
--- trunk/KDE/kdevplatform/project/interfaces/iprojectbuilder.h #734913:734914
@@ -31,7 +31,7 @@
/**
@author Roberto Raggi
- at short KDevProjectBuilder Base class for the Project Builders
+ at short IProjectBuilder Base class for the Project Builders
Describes a <b>Project Builder</b> to KDevelop's Project Manager.
*/
@@ -41,15 +41,70 @@
virtual ~IProjectBuilder();
+ /**
+ * Installs the given project item, exact behaviour depends
+ * on the implementation
+ */
virtual bool install(ProjectBaseItem* item) = 0;
+
+ /**
+ * Builds the given project item, exact behaviour depends
+ * on the implementation
+ */
virtual bool build(ProjectBaseItem *dom) = 0;
+
+ /**
+ * Cleans the given project item, exact behaviour depends
+ * on the implementation. The cleaning should only include
+ * output files, like C/C++ object files, binaries, files
+ * that the builder needs shouldn't be removed.
+ */
virtual bool clean(ProjectBaseItem *dom) = 0;
+ /**
+ * Configures the given project, exact behaviour depends
+ * on the implementation. After calling this a build() call should
+ * succeed (given the code doesn't have errors).
+ *
+ * This function is optional, the default implementation does nothing.
+ */
+ virtual bool configure(IProject*);
+
+ /**
+ * Prunes the given project, exact behaviour depends
+ * on the implementation. Additionally to what clean() does this may
+ * also remove files used for the builder (or a "subbuilder"), for example
+ * generated Makefiles in QMake/CMake/Automake projects
+ *
+ * This function is optional, the default implementation does nothing.
+ */
+ virtual bool prune(IProject*);
+
Q_SIGNALS:
+ /**
+ * Emitted when the build for the given item was finished
+ */
void built(ProjectBaseItem *dom);
+ /**
+ * Emitted when the install for the given item was finished
+ */
void installed(ProjectBaseItem*);
+ /**
+ * Emitted when the clean for the given item was finished
+ */
void cleaned(ProjectBaseItem*);
+ /**
+ * Emitted when any of the scheduled actions for the given item was failed
+ */
void failed(ProjectBaseItem *dom);
+ /**
+ * Emitted when the configure for the given item was finished
+ */
+ void configured(IProject*);
+ /**
+ * Emitted when the pruning for the given item was finished
+ */
+ void pruned(IProject*);
};
}
More information about the KDevelop-devel
mailing list