2 <name>Anjuta Plugin</name>
3 <description>Anjuta plugin project that uses libanjuta framework</description>
4 <icon>anjuta-plugin-logo.png</icon>
6 <required-program>automake</required-program>
7 <required-program>autoconf</required-program>
8 <required-program>make</required-program>
9 <required-package>libanjuta-1.0</required-package>
12 <page name="basic" _label="Basic information" _description="General Project Information">
13 <property type="string" name="Name" _label="Project Name:" _description="Project name must not contain spaces, because it will be the name of the project build target (executable, library etc.)" default="anjuta-plugin-foobar" summary="yes" restriction="filename" mandatory="yes"/>
14 <property type="string" name="Author" _label="Author:" _description="" default="[+UserName+]" mandatory="yes"/>
15 <property type="string" name="Email" _label="Email address:" _description="" default="[+EmailAddress+]" mandatory="no"/>
16 <property type="string" name="Version" _label="Version:" default="0.1" mandatory="yes"/>
19 <page name="options" _label="Project options" _description="Options for project build system">
20 <property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
21 <property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
22 <item name="GPL" _label="General Public License (GPL)"/>
23 <item name="LGPL" _label="Lesser General Public License (LGPL)"/>
24 <item name="BSD" _label="Berkeley Software Distribution License (BSD)"/>
25 <item name="None" _label="No license"/>
27 <property type="hidden" name="NameUpper" default="[+(string-upcase (get "Name"))+]"/>
28 <property type="hidden" name="NameLower" default="[+(string-downcase (get "Name"))+]"/>
29 <property type="hidden" name="NameCUpper" default="[+(string->c-name! (string-substitute (string-upcase (get "Name")) " " "_"))+]"/>
30 <property type="hidden" name="NameCLower" default="[+(string->c-name! (string-substitute (string-downcase (get "Name")) " " "_"))+]"/>
31 <property type="hidden" name="NameHLower" default="[+(string-substitute (string->c-name! (string-downcase (get "Name"))) " " "-")+]"/>
32 <property type="string" name="PluginTitle" _label="Plugin Title:" _description="Display title of the plugin" default="Anjuta Foobar Sample Plugin" summary="yes" mandatory="yes"/>
33 <property type="string" name="PluginDescription" _label="Plugin Description:" _description="Display description of the plugin" default="A sample demonstration plugin for Anjuta" summary="yes" mandatory="yes"/>
34 <property type="string" name="PluginClass" _label="Plugin Class Name:" _description="Plugin class name" default="AnjutaFoobarPlugin" summary="yes" mandatory="yes"/>
35 <property type="string" name="PluginDependencies" _label="Plugin Dependencies:" _description="Comma separated, other plugins that this plugin depends on. It could be either primary interface name or plugin location (library:class)" default="" summary="yes"/>
36 <property type="icon" name="Icon" _label="Icon File:" _description="Icon file for the plugin" summary="yes" mandatory="yes"/>
37 <property type="boolean" name="HasGladeFile" _label="Create glade interface file" _description="Create a template glade interface file" default="1"/>
38 <property type="boolean" name="HasUI" _label="Plugin has menus or/and toolbars" _description="Whether the plugin has menus or toolbars" default="1"/>
39 <property type="hidden" name="HaveI18n" default="1"/>
40 <property type="hidden" name="HaveSharedlib" default="1"/>
41 <property type="boolean" name="HavePackage" _label="Configure external packages:" _description="Use pkg-config to add library support from other packages" default="0"/>
44 <page name="packages" _label="Configure external packages" _description="Configure external packages">
45 <property type="boolean" name="HaveLangCPP" _label="Add C++ support:" _description="Adds C++ support to the project so that C++ source files can be built" default="0"/>
46 [+IF (=(get "HavePackage") "1")+]
47 <property type="string" name="PackageModule1" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'" mandatory="yes"/>
48 <property type="string" name="PackageModule2" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
49 <property type="string" name="PackageModule3" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
50 <property type="string" name="PackageModule4" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
51 <property type="string" name="PackageModule5" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
55 <page name="watches" _label="Values to watch" _description="Shell values to watch">
56 <property type="string" name="value1" _label="Value Name:" _description="Name of the value to watch" default="" summary="yes"/>
57 <property type="string" name="value2" _label="Value Name:" _description="Name of the value to watch" default="" summary="yes"/>
58 <property type="string" name="value3" _label="Value Name:" _description="Name of the value to watch" default="" summary="yes"/>
61 <page name="compoments" _label="Implement plugin interfaces" _description="Plugin interfaces to implement">
62 <property type="string" name="interface1" _label="Interface:" _description="Interface implemented by the plugin"/>
63 <property type="string" name="interface2" _label="Interface:" _description="Interface implemented by the plugin"/>
64 <property type="string" name="interface3" _label="Interface:" _description="Interface implemented by the plugin"/>
68 <directory source="terminal" destination="[+Destination+]">
69 <file source="AUTHORS"/>
70 <file source="ChangeLog"/>
71 <file source="Makefile.am.tpl" destination="Makefile.am"/>
73 <file source="README"/>
74 <file source="autogen.sh" executable="yes"/>
75 <file destination="[+NameHLower+].anjuta" source="project.anjuta"/>
76 <file source="cvsignore" destination=".cvsignore"/>
77 <directory source="src">
78 <file source="cvsignore" destination=".cvsignore"/>
80 [+IF (=(get "HaveI18n") "1")+]
81 <directory source="po">
82 <file source="ChangeLog"/>
83 <file source="LINGUAS" />
84 <file source="cvsignore" destination=".cvsignore"/>
88 <directory source="anjuta-plugin" destination="[+Destination+]">
89 <file source="configure.ac.tpl" destination="configure.ac"/>
90 <directory source="src">
91 <file source="Makefile.am.tpl" destination="Makefile.am"/>
92 <file source="plugin.c"/>
93 <file source="plugin.h"/>
94 <file source="[+Icon+]" destination="[+NameHLower+].png"/>
95 <file source="plugin.plugin.in" destination="[+NameHLower+].plugin.in"/>
96 [+IF (=(get "HasUI") "1")+]
97 <file source="plugin.ui" destination="[+NameHLower+].ui"/>
99 [+IF (=(get "HasGladeFile") "1")+]
100 <file source="plugin.glade" destination="[+NameHLower+].glade"/>
103 [+IF (=(get "HaveI18n") "1")+]
104 <directory source="po">
105 <file source="POTFILES.in"/>
109 <directory source="licenses" destination="[+Destination+]">
110 <file source="[+License+]" destination="COPYING"/>
115 <run command="sh -c "cd [+(raw-shell-str (get "Destination"))+] && ./autogen.sh""/>
116 <open file="[+Destination+]/[+NameHLower+].anjuta"/>