ycl

Artifact [31053dedb1]
Login

Artifact [31053dedb1]

Artifact 31053dedb1900fabefa7ee6f6447df0b9199ac27:


#! /bin/env tclsh

package require {ycl chan string}

package require {ycl format rpackage}
package require {ycl test data}
package require {ycl proc}
namespace import [yclprefix]::proc::checkargs

package require {ycl test data}
package require {ycl test}
[yclprefix]::test::init

namespace eval doc {}

set setup1 {
	set res [list]
	set chan1 [::tcl::chan::string [description \
		license $description_license_gpl_artistic]]
}
set cleanup1 {
	close $chan1
}

proc suite_main {} {
	foreach varname [info vars [namespace current]::*] {
		variable $varname
	}
	test one {} -setup $setup1 -body {
		coroutine parser ycl format rpackage description chan $chan1
		while {[namespace which parser] eq "[namespace current]::parser"} {
			set field [parser]
			#puts "hey: $field"
			lappend res $field
		}
		list {*}$res
	} -cleanup $cleanup1 -result hmmph
}

variable doc::description {
	description {
		assemble a DESCRIPTION file 
	}
	args {
		license {}

	}
}
proc description {args} {
	variable description
	checkargs doc::description
	foreach {key value} $args[set args {}] {
		lappend args \${$key} [string trim $value]
	}
	set res [string map $args $description]
	return $res
}

proc description1 {} {
	variable description
	namespace upvar [namspace current] description_license_gpl_artistic license
	string map [list \${license} 
}

proc description2 {} {
	variable description
	variable description_license_file
}


variable description {
Package: pkgname
Version: 0.5-1
Date: 2004-01-01
Title: My First Collection of Functions
Authors@R: c(person("Joe", "Developer", role = c("aut", "cre"),
                     email = "Joe.Developer@some.domain.net"),
              person("Pat", "Developer", role = "aut"),
              person("A.", "User", role = "ctb",
	             email = "A.User@whereever.net"))
Author: Joe Developer and Pat Developer, with contributions from A. User
Maintainer: Joe Developer <Joe.Developer@some.domain.net>
Depends: R (>= 1.8.0), nlme
Suggests: MASS
Description: A short (one paragraph) description of what
  the package does and why it may be useful.
${license}
URL: http://www.r-project.org, http://www.another.url
BugReports: http://pkgname.bugtracker.url
}

variable description_license_gpl_artistic {

License: GPL (>= 2) | Artistic-2.0 (>2,
  ,2 ,< 2.7) 

}
variable description_license_file {

License:	file LICENSE 2.0 

}