2 <name>Anjuta Plugin</name>
3 <description>Anjuta plugin project that uses libanjuta framework</description>
4 <icon>anjuta-plugin-logo.png</icon>
5 <category>Vala</category>
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 [+IF (=(get "HavePackage") "1")+]
45 <page name="packages" _label="Configure external packages" _description="Configure external packages">
46 <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"/>
47 <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'"/>
48 <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'"/>
49 <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'"/>
50 <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'"/>
54 <page name="watches" _label="Values to watch" _description="Shell values to watch">
55 <property type="string" name="value1" _label="Value Name:" _description="Name of the value to watch" default="" summary="yes"/>
56 <property type="string" name="value2" _label="Value Name:" _description="Name of the value to watch" default="" summary="yes"/>
57 <property type="string" name="value3" _label="Value Name:" _description="Name of the value to watch" default="" summary="yes"/>
60 <page name="compoments" _label="Implement plugin interfaces" _description="Plugin interfaces to implement">
61 <property type="string" name="interface1" _label="Interface:" _description="Interface implemented by the plugin"/>
62 <property type="string" name="interface2" _label="Interface:" _description="Interface implemented by the plugin"/>
63 <property type="string" name="interface3" _label="Interface:" _description="Interface implemented by the plugin"/>
67 <directory source="terminal" destination="[+Destination+]">
68 <file source="AUTHORS"/>
69 <file source="ChangeLog"/>
70 <file source="Makefile.am.tpl" destination="Makefile.am"/>
72 <file source="README"/>
73 <file source="autogen.sh" executable="yes"/>
74 <file destination="[+NameHLower+].anjuta" source="project.anjuta"/>
75 <file source="cvsignore" destination=".cvsignore"/>
76 <directory source="src">
77 <file source="cvsignore" destination=".cvsignore"/>
79 [+IF (=(get "HaveI18n") "1")+]
80 <directory source="po">
81 <file source="ChangeLog"/>
82 <file source="LINGUAS" />
83 <file source="cvsignore" destination=".cvsignore"/>
87 <directory source="anjuta-plugin" destination="[+Destination+]">
88 <directory source="src">
89 <file source="[+Icon+]" destination="[+NameHLower+].png"/>
90 <file source="plugin.plugin.in" destination="[+NameHLower+].plugin.in"/>
91 [+IF (=(get "HasUI") "1")+]
92 <file source="plugin.ui" destination="[+NameHLower+].ui"/>
94 [+IF (=(get "HasGladeFile") "1")+]
95 <file source="plugin.glade" destination="[+NameHLower+].glade"/>
99 <directory source="anjuta-plugin-vala" destination="[+Destination+]">
100 <file source="configure.ac.tpl" destination="configure.ac"/>
101 <directory source="src">
102 <file source="Makefile.am.tpl" destination="Makefile.am"/>
103 <file source="plugin.vala"/>
104 <file source="config.vapi"/>
106 [+IF (=(get "HaveI18n") "1")+]
107 <directory source="po">
108 <file source="POTFILES.in"/>
112 <directory source="licenses" destination="[+Destination+]">
113 <file source="[+License+]" destination="COPYING"/>
118 <run command="sh -c "cd [+(raw-shell-str (get "Destination"))+] && ./autogen.sh""/>
119 <open file="[+Destination+]/[+NameHLower+].anjuta"/>