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