Commit 0999198f authored by Thomas Friedrichsmeier's avatar Thomas Friedrichsmeier
Browse files

Merge branch 'releases/0.6.4'

parents 4e73776e 653c3e35
......@@ -16,3 +16,8 @@ scripts/tmp/
# More (legacy) temp dirs
osctemp/
ppatemp/
# can be added by MacPorts and shouldn't be part of the sources
macports/PortIndex
macports/PortIndex.quick
macports/kde/rkward-devel/work
macports/kde/rkward/work
......@@ -5,7 +5,7 @@ PortSystem 1.0
PortGroup kde4 1.1
fetch.type git
name rkward-devel
version 0.6.4-git
version 0.6.5-git
git.url http://anongit.kde.org/rkward.git
worksrcdir rkward
......@@ -57,9 +57,9 @@ subport rkward-binary {
configure.args-delete \
-DR_EXECUTABLE=${frameworks_dir}/R.framework/Resources/R \
-DRKVERSION_NUMBER=${version}
version 0.6.3
version 0.6.4
git.url http://anongit.kde.org/rkward.git
git.branch releases/0.6.3
git.branch releases/0.6.4
depends_lib-delete port:R
configure.args-append \
-DRKVERSION_NUMBER=${version} \
......
......@@ -5,9 +5,9 @@ PortSystem 1.0
PortGroup kde4 1.1
fetch.type git
name rkward
version 0.6.3
version 0.6.4
git.url http://anongit.kde.org/rkward.git
git.branch releases/0.6.3
git.branch releases/0.6.4
#patchfiles patch-rkward-rbackend-rkstructuregetter.cpp.diff
worksrcdir ${name}-${version}
......
......@@ -27,13 +27,14 @@ declare -a EXCLPKG=(audio_lame audio_libmodplug audio_libopus \
audio_libvorbis audio_speex audio_taglib databases_db46 databases_db48 databases_gdbm databases_openldap databases_sqlite3 devel_boost \
gnome_at-spi2-atk gnome_at-spi2-core gnome_desktop-file-utils gnome_gnome-common gnome_gobject-introspection gnome_gtk-doc \
gnome_gtk2 gnome_gtk3 gnome_hicolor-icon-theme gnome_libcroco gnome_libglade2 gnome_gobject-introspection \
lang_llvm-3.7 \
multimedia_ffmpeg multimedia_libass multimedia_libbluray multimedia_libogg multimedia_libtheora multimedia_libvpx \
multimedia_schroedinger multimedia_x264 multimedia_XviD \
net_avahi net_kerberos5 net_tcp_wrappers security_cyrus-sasl2 security_p11-kit sysutils_e2fsprogs \
x11_pango x11_urw-fonts x11_Xft2 x11_xorg-bigreqsproto x11_xorg-compositeproto x11_xorg-damageproto x11_xorg-evieproto \
x11_mesa x11_pango x11_urw-fonts x11_Xft2 x11_xorg-bigreqsproto x11_xorg-compositeproto x11_xorg-damageproto \
x11_xorg-fixesproto x11_xorg-inputproto x11_xorg-kbproto x11_xorg-libice x11_xorg-libpthread-stubs x11_xorg-libsm \
x11_xorg-libX11 x11_xorg-libXau x11_xorg-libxcb x11_xorg-libXcomposite x11_xorg-libXcursor x11_xorg-libXdamage \
x11_xorg-libXdmcp x11_xorg-libXevie x11_xorg-libXext x11_xorg-libXfixes x11_xorg-libXi x11_xorg-libXinerama \
x11_xorg-libXdmcp x11_xorg-libXext x11_xorg-libXfixes x11_xorg-libXi x11_xorg-libXinerama \
x11_xorg-libXrandr x11_xorg-libXt x11_xorg-libXtst x11_xorg-randrproto x11_xorg-recordproto x11_xorg-renderproto \
x11_xorg-util-macros x11_xorg-xcb-proto x11_xorg-xcb-util x11_xorg-xcmiscproto x11_xorg-xextproto \
x11_xorg-xf86bigfontproto x11_xorg-xineramaproto x11_xorg-xproto x11_xorg-xtrans x11_xrender )
......@@ -238,11 +239,7 @@ if [[ $COPYMDMD ]] ; then
# TARGETVERS=${PORTVERS}$(git ls-remote http://anongit.kde.org/rkward master | cut -c 1-7)
#
# so here's something a little more elaborate...
if [[ $(hostname) == "RKWard-iMac.local" ]] ; then
TEMPFILE=$(mktemp /tmp/git_rev.XXXXXX || exit 1)
else
TEMPFILE=$(mktemp || exit 1)
fi
TEMPFILE=$(mktemp /tmp/git_rev.XXXXXX || exit 1)
if ! [[ $(which wget) == "" ]] ; then
wget -q -O "${TEMPFILE}" "http://quickgit.kde.org/?p=rkward.git" || exit 1
GOTQUICKGIT=true
......@@ -250,7 +247,7 @@ if [[ $COPYMDMD ]] ; then
curl -s -o "${TEMPFILE}" "http://quickgit.kde.org/?p=rkward.git" || exit 1
GOTQUICKGIT=true
else
echo "neither wget nor curl can be found, only commit has can be used!"
echo "neither wget nor curl found, only commit can be used!"
TARGETVERS=${PORTVERS}-git$(git ls-remote http://anongit.kde.org/rkward master | cut -c 1-7)
GOTQUICKGIT=false
fi
......@@ -278,6 +275,13 @@ fi
# make meta-package including dependencies
if [[ $MAKEMDMD ]] ; then
# check for PackageMaker.app
if ! [ -d /Applications/PackageMaker.app ] ; then
# this is an anchient app, but MacPorts still relies on it for packaging
echo "unable to find /Applications/PackageMaker.app!"
echo "probably check whether MacPorts really still needs it."
exit 1
fi
if [[ $RPATHFIX ]] ; then
# this is to fix some kind of a race condition: if RKWard gets installed before R-framework,
# it will create a directory which must actually be a symlink in order for R to run! so we'll
......@@ -363,6 +367,10 @@ if [[ $MAKEMDMD ]] ; then
else
TRGTFILE=${LPUBDIR}/RKWard${PNSUFFX}-${TARGETVERS}_R-${RVERS}_KDE-${KDEVERS}_MacOSX_bundle.dmg
fi
if ! [ -d ${LPUBDIR} ] ; then
echo "creating directory: ${LPUBDIR}"
mkdir -p ${LPUBDIR} || exit 1
fi
echo "copying: $MDMGFILE to $TRGTFILE ..."
cp -av $MDMGFILE $TRGTFILE
echo "done."
......
......@@ -20,6 +20,7 @@ fixed:
- improved indetation for rk.JS.oset objects
- rk.XML.varslot() and rk.XML.valueslot() didn't correctly add sources if
they were character strings (which is valid)
- R.comment() didn't correctly paste indentation levels > 2
added:
- new methods plugin2script() to try to translate raw plugin XML into
working rkwarddev script calls
......
......@@ -16,7 +16,7 @@ LazyLoad: yes
URL: https://rkward.kde.org
Authors@R: c(person(given="m.eik", family="michalke", email="meik.michalke@hhu.de", role=c("aut", "cre", "cph")))
Version: 0.08-1
Date: 2015-11-30
Date: 2015-12-05
RoxygenNote: 5.0.1
Collate:
'00_class_01_rk.JS.arr.R'
......
......@@ -30,7 +30,7 @@
R.comment <- function(..., indent.by=rk.get.indent(escape=TRUE), level=2, newline=""){
message <- paste0(list(...), collapse=" ")
if(level > 1){
indentation <- paste0(", \"", rep(indent.by, level-1), "\"")
indentation <- paste0(", \"", paste0(rep(indent.by, level-1), collapse=""), "\"")
} else {
indentation <- ""
}
......
......@@ -30,13 +30,16 @@
#' strings will be updated and installed.
#' @param default_po Optional character string, fallback default name for \code{*.pot} file.
#' @param outdir Optional character string, change the output directory for generated files.
#' @param bug_reports Character string, URL to a bug tracker, mailing list or similar, where translation
#' issues should be reported.
#' @seealso \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
#' @export
#' @examples \dontrun{
#' rk.updatePluginMessages("~/myPlugins/lifeSaver/rkward/lifeSaver.pluginmap")
#' }
rk.updatePluginMessages <- function(pluginmap, extractOnly=FALSE, default_po=NULL, outdir=NULL){
rk.updatePluginMessages <- function(pluginmap, extractOnly=FALSE, default_po=NULL, outdir=NULL,
bug_reports="https://mail.kde.org/mailman/listinfo/kde-i18n-doc"){
# --default_po=PO_ID -> rkward_${PO_ID}.pot
# --outdir=DIR -> pluginmap basedir
rkdPatch <- installed.packages()["rkwarddev", "LibPath"]
......@@ -70,7 +73,10 @@ rk.updatePluginMessages <- function(pluginmap, extractOnly=FALSE, default_po=NUL
upmOptions <- paste0(upmOptions, " --outdir=\"", outdir, "\"")
} else {}
upmCall <- paste0(python[[1]], " ", upmScript, upmOptions, " \"", pluginmap, "\"")
upmCall <- paste0(
"export BUGADDR=\"", bug_reports, "\"; ",
python[[1]], " ", upmScript, upmOptions, " \"", pluginmap, "\""
)
message(upmCall)
if(identical(base::.Platform[["OS.type"]], "unix")){
system(upmCall, intern=TRUE)
......
......@@ -4,7 +4,7 @@
#' Package: \tab rkwarddev\cr
#' Type: \tab Package\cr
#' Version: \tab 0.08-1\cr
#' Date: \tab 2015-11-30\cr
#' Date: \tab 2015-12-05\cr
#' Depends: \tab R (>= 2.9.0),methods,XiMpLe (>= 0.03-21),rkward (>= 0.5.7)\cr
#' Enhances: \tab rkward\cr
#' Encoding: \tab UTF-8\cr
......
## create dialog to build a plugin skeleton
require(rkwarddev)
rkwarddev.required("0.07-4")
rkwarddev.required("0.08-1")
local({
rk.local({
# define where the plugin should write its files
output.dir <- tempdir()
# overwrite an existing plugin in output.dir?
......@@ -10,24 +10,24 @@ overwrite <- TRUE
rk.set.indent(by=" ")
rk.set.empty.e(TRUE)
update.translations <- TRUE
# the script generates a folder called "RKWardPluginSkeleton", set the
# the script generates a folder called "RKWardPluginScript", set the
# following to FALSE if you want to translate plugin files in the
# rkwarddev package sources instead
standalonePlugin <- TRUE
about.info <- rk.XML.about(
name="RKWard Plugin Skeleton",
name="RKWard Plugin Script",
author=c(
person(given="Meik", family="Michalke",
email="meik.michalke@hhu.de", role=c("aut","cre"))),
about=list(desc="GUI interface to create RKWard plugin skeletons",
about=list(desc="GUI interface to create RKWard plugin skeletons via rkwarddev scripts",
# the version number should be in line with rkwarddev
# to reflect when the script code was changed
version="0.07-4", url="http://rkward.kde.org")
version="0.08-1", url="http://rkward.kde.org")
)
dependencies.info <- rk.XML.dependencies(dependencies=list(rkward.min="0.6.0"))
rk.set.comp("Create RKWard plugin skeleton")
rk.set.comp("Create RKWard plugin script")
# tab1: information on the thing
aboutPlugin <- rk.XML.frame(
......@@ -72,31 +72,27 @@ aboutPlugin <- rk.XML.frame(
aboutContact <- rk.XML.frame(
rk.XML.row(
optionsetAuthors <- rk.XML.optionset(
content=rk.XML.frame(rk.XML.stretch(before=list(
rk.XML.row(
aboutContactFrame <- rk.XML.frame(
rk.XML.row(
rk.XML.col(
authorGivenName <- rk.XML.input("Given name", required=TRUE, id.name="authorGivenName",
help="First name of the package author."),
authorFamiliyName <- rk.XML.input("Family name", required=TRUE, id.name="authorFamiliyName",
help="Family name of the package author."),
authorMail <- rk.XML.input("E-mail", required=FALSE, id.name="authorMail",
help="The authors e-mail address, important for bug reports and receiving a myriad of thank yous..."),
rk.XML.stretch()),
rk.XML.col(rk.XML.frame(
authorAut <- rk.XML.cbox("Author", chk=TRUE, id.name="authorAut",
help="Check this if this person is the author of the plugin code."),
authorCre <- rk.XML.cbox("Maintainer", chk=TRUE, id.name="authorCre",
help="Check this if this person maintains the plugin package."),
authorCtb <- rk.XML.cbox("Contributor", chk=FALSE, id.name="authorCtb",
help="Check this if this person is a contributor to the plugin code (e.g., translations)."),
rk.XML.stretch(), label="Roles"))),
label="Package author",
id.name="aboutContactFrame"
)
content=rk.XML.row(
aboutContactRow <- rk.XML.row(
rk.XML.col(
authorGivenName <- rk.XML.input("Given name", required=TRUE, id.name="authorGivenName",
help="First name of the package author."),
authorFamiliyName <- rk.XML.input("Family name", required=TRUE, id.name="authorFamiliyName",
help="Family name of the package author."),
authorMail <- rk.XML.input("E-mail", required=FALSE, id.name="authorMail",
help="The authors e-mail address, important for bug reports and receiving a myriad of thank yous..."),
rk.XML.stretch()),
rk.XML.col(rk.XML.frame(
authorAut <- rk.XML.cbox("Author", chk=TRUE, id.name="authorAut",
help="Check this if this person is the author of the plugin code."),
authorCre <- rk.XML.cbox("Maintainer", chk=TRUE, id.name="authorCre",
help="Check this if this person maintains the plugin package."),
authorCtb <- rk.XML.cbox("Contributor", chk=FALSE, id.name="authorCtb",
help="Check this if this person is a contributor to the plugin code (e.g., translations)."),
rk.XML.stretch(), label="Roles")),
id.name="aboutContactFrame"
)
)), label="Package authors"),
),
optioncolumn=list(
optcolAuthorGivenName <- rk.XML.optioncolumn(connect=authorGivenName, modifier="text", id.name="optcolAuthorGivenName"),
optcolAuthorFamiliyName <- rk.XML.optioncolumn(connect=authorFamiliyName, modifier="text", id.name="optcolAuthorFamiliyName"),
......@@ -105,18 +101,27 @@ aboutContact <- rk.XML.frame(
optcolAuthorCre <- rk.XML.optioncolumn(connect=authorCre, modifier="state", id.name="optcolAuthorCre"),
optcolAuthorCtb <- rk.XML.optioncolumn(connect=authorCtb, modifier="state", id.name="optcolAuthorCtb")
),
min_rows=1,
logic=rk.XML.logic(
rk.XML.connect(governor=authorCre, client=authorMail, set="required")
),
id.name="optionsetAuthors"
)
),
label="Plugin author",
label="Plugin authors",
id.name="aboutContact"
)
doNotSubmitWarning <- rk.XML.text(
"NOTE: You should not hit the submit button, but copy the generated code to a script file for further work on your plugin!",
type="warning"
)
tab1.about <- rk.XML.col(aboutPlugin, aboutContact)
tab1.about <- rk.XML.col(
doNotSubmitWarning,
aboutPlugin,
aboutContact
)
# tab2: create options
createOptionsFrame <- rk.XML.frame(
......@@ -130,6 +135,8 @@ createOptionsFrame <- rk.XML.frame(
help="If this is checked, a wizard section will be included in the skeleton."),
addTests <- rk.XML.cbox("Include plugin tests", chk=TRUE, id.name="addTests",
help="If this is checked, plugin tests will be included in the skeleton."),
showPlugin <- rk.XML.cbox("Show the plugin", chk=FALSE, id.name="showPlugin",
help="If this is checked, the generated plugin will be shown (opened) for you to see what it looks like."),
rk.XML.stretch()),
rk.XML.col(
editPlugin <- rk.XML.cbox("Open files for editing", chk=TRUE, id.name="editPlugin",
......@@ -137,15 +144,33 @@ createOptionsFrame <- rk.XML.frame(
addToConfig <- rk.XML.cbox("Add plugin to RKWard configuration", chk=TRUE, id.name="addToConfig",
help="If this is checkend, the generated plugin will automatically be registered in RKWard's configuration.
If you store it in a temporary directory and remove it before the next start of RKWard, the entry will removed again as well."),
showPlugin <- rk.XML.cbox("Show the plugin", chk=FALSE, id.name="showPlugin",
help="If this is checked, the generated plugin will be shown (opened) for you to see what it looks like."),
guessGetters <- rk.XML.cbox("Guess getter functions (RKWard >= 0.6.0)", chk=FALSE, id.name="guessGetters",
help="If this is checked, rkwarddev tries to select the optimal getter functions to get data from the dialog into the R code. The plugin then requires RKWard >= 0.6.0."),
emptyElse <- rk.XML.cbox("Keep empty 'else {}'",
id.name="emptyElse",
help="Some consider it an enhancement for code readability if every \"if\" condition has an \"else\" clause, even if it is empty.
If you check this option, the generated JS code will keep these empty \"else\" clauses."
),
rk.XML.stretch())
),
rk.XML.frame(
rk.XML.row(menuHier <- rk.XML.dropdown("Place in top menu",
options=list(
rk.XML.row(
codeIndent <- rk.XML.dropdown("Code indentation",
options=list(
"Tabs"=c(val="\\t", chk=TRUE),
"Single space"=c(val=" "),
"Two spaces"=c(val=" "),
"Four spaces"=c(val=" ")
),
id.name="codeIndent",
help="Define how the generated code should be indented (by tabs or space characters)."
)
)
),
rk.XML.frame(
rk.XML.row(
menuHier <- rk.XML.dropdown("Place in top menu",
options=list(
"Test (created if needed)"=c(val="test", chk=TRUE),
"File"=c(val="file"),
"Edit"=c(val="edit"),
......@@ -159,12 +184,13 @@ createOptionsFrame <- rk.XML.frame(
"Windows"=c(val="windows"),
"Settings"=c(val="settings"),
"Help"=c(val="help")
),
id.name="menuHier",
help="Specify where the plugin should appear in RKWard's top menus."
),
id.name="menuHier",
help="Specify where the plugin should appear in RKWard's top menus."
),
menuName <- rk.XML.input("Name in menu (plugin name if empty)", id.name="menuName",
help="You can set the exact entry name of your main component in the menu here. If left empty, the plugin name will be used as default.")
menuName <- rk.XML.input("Name in menu (plugin name if empty)", id.name="menuName",
help="You can set the exact entry name of your main component in the menu here. If left empty, the plugin name will be used as default."
)
)
),
id.name="createOptionsFrame"
......@@ -212,7 +238,10 @@ dependencyFrame <- rk.XML.frame(
id.name="dependencyFrame"
)
tab2.create <- rk.XML.col(createOptionsFrame, dependencyFrame)
tab2.create <- rk.XML.col(
createOptionsFrame,
dependencyFrame
)
# # tab3: varslot to select the actual content
# children.text <- rk.XML.text("If you already created XML content for the plugin, select the main dialog object here (probably a tabbook?)")
......@@ -244,18 +273,20 @@ helpText <- rk.XML.frame(
id.name="helpText"
)
tab3.help <- rk.XML.col(helpText)
tab3.help <- rk.XML.col(
helpText
)
## glue all of the above together in one tabbook
# sklt.tabbook <- rk.XML.dialog(rk.XML.tabbook("Plugin Skeleton",
# tab.labels=c("About the plugin", "Create options", "XML content"),
# children=list(tab1.about, tab2.create, tab3.children)), label="RKWard Plugin Skeleton")
sklt.tabbook <- rk.XML.dialog(rk.XML.tabbook("Plugin Skeleton",
sklt.tabbook <- rk.XML.dialog(rk.XML.tabbook("Plugin Script",
tabs=list(
"About the plugin"=tab1.about,
"Create options"=tab2.create,
"Help page"=tab3.help)),
label="RKWard Plugin Skeleton")
label="RKWard Plugin Script")
## some logic
logic.section <- rk.XML.logic(
......@@ -288,7 +319,7 @@ js.opt.about.about <- rk.JS.options("optAbout",
} else {},
keep.ite=TRUE
),
funct="list", option="about", collapse=",\\n\\t")
funct="list", option="about", collapse=",\\n\\t", opt.sep=",\\n\\t")
# dependencies section
js.frm.dependencyFrame <- rk.JS.vars(dependencyFrame, modifiers="checked") # see to it frame is checked
js.opt.about.dep <- rk.JS.options("optDependencies",
......@@ -363,8 +394,8 @@ js.opt.skeleton <- rk.JS.options("optSkeleton",
collapse="")
JS.prepare <- rk.paste.JS(
rk.JS.vars(outDir, overwrite, guessGetters),
echo("rkwarddev.required(\"0.07-4\")"),
rk.JS.vars(outDir, overwrite, guessGetters, codeIndent, emptyElse),
echo("rkwarddev.required(\"0.08-1\")"),
echo("\n\n# define where the plugin should write its files\noutput.dir <- "),
js(
if(outDir){
......@@ -383,8 +414,19 @@ JS.prepare <- rk.paste.JS(
echo("TRUE")
} else {
echo("FALSE")
},
echo("\n# define the indentation character for the generated code\nrk.set.indent(by=\"", codeIndent,"\")",
"\n# should empty \"else\" clauses be kept in the JavaScript code?\nrk.set.empty.e("),
if(emptyElse){
echo("TRUE)")
} else {
echo("FALSE)")
}
),
echo(
"\n# make your plugin translatable by setting this to TRUE",
"\nupdate.translations <- FALSE"
),
echo("\n\n"),
level=2)
......@@ -397,14 +439,14 @@ JS.calculate <- rk.paste.JS(
echo("aboutPlugin <- rk.XML.about("),
js(
if(pluginName){
echo("\n\tname=\"", pluginName, "\"")
echo("\n\tname=\"", pluginName, "\",\n")
} else {}
),
# author section
rk.JS.optionset(optionsetAuthors, vars=TRUE, guess.getter=TRUE),
ite(id(optcolAuthorGivenName, " != \"\""),
rk.paste.JS(
echo("\tauthor=c(\n\t\t\t"),
echo("\tauthor=c(\n\t\t"),
rk.JS.optionset(optionsetAuthors,
js.optionsetAuthors.role <- rk.JS.options("optAuthorRole",
.ite=js(
......@@ -435,9 +477,9 @@ JS.calculate <- rk.paste.JS(
level=3
),
echo(")"),
collapse=",\\n\\t\\t\\t"
collapse=",\\n\\t\\t"
),
echo("\n\t\t),\n")
echo("\n\t)")
)
),
echo(js.opt.about.about),
......@@ -533,15 +575,26 @@ JS.calculate <- rk.paste.JS(
echo("\n\t#components=list(),"),
echo(js.opt.skeleton),
echo("\n)\n\n"),
level=2)
echo(
"# you can make your plugin translatable, see top of script",
"\nif(isTRUE(update.translations)){",
"\n\trk.updatePluginMessages(",
"\n\t\tfile.path(output.dir,\"", pluginName, "\",\"inst\",\"rkward\",\"", pluginName, ".pluginmap\"),",
"\n\t\t# where should translation bug reports go?",
"\n\t\tbug_reports=\"https://mail.kde.org/mailman/listinfo/kde-i18n-doc\"",
"\n\t)",
"\n} else {}\n\n"
),
level=2
)
############
## help file
rkh.summary <- rk.rkh.summary("Generate a plugin skeleton for RKWard.")
rkh.summary <- rk.rkh.summary("Generate a plugin skeleton for RKWard via rkwarddev scripts.")
rkh.usage <- rk.rkh.usage("This plugin is both, an example for a plugin written with the rkwarddev package,
and a quick way to get a skeleton for new plugins.")
and a quick way to get an rkwarddev script for new plugins.")
#############
## the main call
......@@ -566,7 +619,7 @@ rk.plugin.skeleton(
summary=rkh.summary,
usage=rkh.usage
),
pluginmap=list(name="Create RKWard plugin skeleton", hierarchy=list("file", "export")),
pluginmap=list(name="Create RKWard plugin script", hierarchy=list("file", "export")),
overwrite=TRUE,
create=c("pmap","xml","js","desc", "rkh"),
dependencies=dependencies.info,
......@@ -579,7 +632,7 @@ rk.plugin.skeleton(
if(isTRUE(update.translations)){
if(isTRUE(standalonePlugin)){
rk.updatePluginMessages(file.path(output.dir,"RKWardPluginSkeleton","inst","rkward","RKWardPluginSkeleton.pluginmap"))
rk.updatePluginMessages(file.path(output.dir,"RKWardPluginScript","inst","rkward","RKWardPluginScript.pluginmap"))
} else {
rk.updatePluginMessages(file.path(output.dir,"rkwarddev","inst","rkward","rkwarddev.pluginmap"))
}
......
<!DOCTYPE rkpluginmap >
<document
base_prefix=""
namespace="CreateRKWardpluginskeleton"
id="CreateRKWardpluginskeleton_rkward"
po_id="CreateRKWardpluginskeleton_rkward"
namespace="CreateRKWardpluginscript"
id="CreateRKWardpluginscript_rkward"
po_id="CreateRKWardpluginscript_rkward"
priority="medium"
>
<!--
......@@ -15,11 +15,11 @@
<dependencies rkward_min_version="0.6.0">
</dependencies>
<about
name="RKWard Plugin Skeleton"
shortinfo="GUI interface to create RKWard plugin skeletons"
longinfo="GUI interface to create RKWard plugin skeletons"
version="0.07-4"
releasedate="2015-11-24"
name="RKWard Plugin Script"
shortinfo="GUI interface to create RKWard plugin skeletons via rkwarddev scripts"
longinfo="GUI interface to create RKWard plugin skeletons via rkwarddev scripts"
version="0.08-1"
releasedate="2015-12-06"
url="http://rkward.kde.org"
license="GPL (&gt;= 3)"
>
......@@ -38,10 +38,10 @@
/>
<components>
<component
id="cmp_CrtRKWrdplgnskltnCrtRKWrd"
label="Create RKWard plugin skeleton"
id="cmp_CrtRKWrdplgnscrptCrtRKWrd"
label="Create RKWard plugin script"
type="standard"
file="plugins/CreateRKWardpluginskeleton.xml"
file="plugins/CreateRKWardpluginscript.xml"
>
</component>
</components>
......@@ -54,7 +54,7 @@
id="export"
label="export"
>
<entry component="cmp_CrtRKWrdplgnskltnCrtRKWrd" />
<entry component="cmp_CrtRKWrdplgnscrptCrtRKWrd" />
</menu>
</menu>
</hierarchy>
......
......@@ -12,7 +12,9 @@ function preprocess(){
var outDir = getValue("outDir");
var overwrite = getValue("overwrite");
var guessGetters = getValue("guessGetters");
echo("rkwarddev.required(\"0.07-4\")");
var codeIndent = getValue("codeIndent");
var emptyElse = getValue("emptyElse");
echo("rkwarddev.required(\"0.08-1\")");
echo("\n\n# define where the plugin should write its files\noutput.dir <- ");
if(outDir) {
echo("\"" + outDir + "\"");
......@@ -31,6 +33,13 @@ function preprocess(){
} else {
echo("FALSE");
}
echo("\n# define the indentation character for the generated code\nrk.set.indent(by=\"" + codeIndent + "\")" + "\n# should empty \"else\" clauses be kept in the JavaScript code?\nrk.set.empty.e(");
if(emptyElse) {
echo("TRUE)");
} else {
echo("FALSE)");
}
echo("\n# make your plugin translatable by setting this to TRUE" + "\nupdate.translations <- FALSE");
echo("\n\n");
}
......@@ -53,6 +62,7 @@ function calculate(){
var ocolOptcolAuthorCre = getList("optionsetAuthors.optcolAuthorCre");
var ocolOptcolAuthorCtb = getList("optionsetAuthors.optcolAuthorCtb");
var outDir = getString("outDir");
var codeIndent = getString("codeIndent");
var menuHier = getString("menuHier");
var menuName = getString("menuName");
var RKMin = getString("RKMin");
......@@ -75,77 +85,78 @@ function calculate(){
var overwrite = getBoolean("overwrite.state");
var addWizard = getBoolean("addWizard.state");
var addTests = getBoolean("addTests.state");
var showPlugin = getBoolean("showPlugin.state");
var editPlugin = getBoolean("</