-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdate_DESCRIPTION_NEWS.R
201 lines (137 loc) · 5.91 KB
/
update_DESCRIPTION_NEWS.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# script to create the DESCRIPTION file
# Remove default DESC and NEWS.md
unlink("DESCRIPTION")
unlink("NEWS.md")
if (!requireNamespace("newsmd", quietly = TRUE)) {
devtools::install_github("Dschaykib/newsmd")
# install.packages("newsmd")
}
# update renv packages if needed
renv::clean()
renv::snapshot(prompt = TRUE)
# initial files -----------------------------------------------------------
# Create a new description object
my_desc <- desc::description$new("!new")
my_news <- newsmd::newsmd()
# Set your package name
my_desc$set("Package", "newsmd")
# Set license
my_desc$set("License", "MIT + file LICENSE")
# Remove some author fields
my_desc$del("Maintainer")
# Set the version
my_desc$set_version("0.0.0.9000")
# The title of your package
my_desc$set(Title = "Creation of NEWS.md File")
# The description of your package
my_desc$set(Description =
paste0("Adding updates (version or bullet points) to the NEWS.md file."))
# The urls
my_desc$set("URL", "https://github.com/Dschaykib/newsmd")
my_desc$set("BugReports",
"https://github.com/Dschaykib/newsmd/issues")
#Set authors
my_desc$set("Authors@R",
paste0("person('Jakob', 'Gepp',",
"email = 'jakob.gepp@yahoo.de',",
"role = c('cre', 'aut'))"))
# set R version
my_desc$set_dep("R", type = desc::dep_types[2], version = ">= 3.3.3")
# set suggests
my_desc$set_dep("testthat", type = desc::dep_types[3], version = "*")
# set dependencies
my_desc$set_dep("R6", type = desc::dep_types[1])
# initial functions -------------------------------------------------------
my_desc$bump_version("minor")
my_news$add_version(my_desc$get_version())
my_news$add_bullet(c("adding newsmd for easier creation",
"adding circleci"))
my_news$add_subtitle("Bugfix")
my_news$add_bullet(
paste0("print method only shows last version ",
"(fix [issue #2](https://github.com/Dschaykib/newsmd/issues/2))"))
# changing travis setup and adding lintr ----------------------------------
my_desc$bump_version("minor")
my_news$add_version(my_desc$get_version())
my_desc$set_dep("lintr", type = desc::dep_types[3], version = "*")
my_news$add_bullet(c("changing travis setup",
"adding lint checks"))
my_news$add_subtitle("Style")
my_news$add_bullet(paste0("changing initial message"))
# changing to GitHub action -----------------------------------------------
my_desc$bump_version("minor")
my_news$add_version(my_desc$get_version())
# change R version dependency
# for more details, see: https://github.com/r-lib/devtools/issues/1742
my_desc$set_dep("R", type = desc::dep_types[2], version = ">= 3.3")
my_news$add_bullet(c("removing travis, appveyor and codecov yml",
"adding GitHub actions"))
# prepare for CRAN --------------------------------------------------------
my_desc$bump_version("dev")
my_news$add_version(my_desc$get_version())
# add dependencies for vignette
my_desc$set_dep("knitr", type = desc::dep_types[3], version = "*")
my_desc$set_dep("rmarkdown", type = desc::dep_types[3], version = "*")
my_desc$set_dep("desc", type = desc::dep_types[3], version = "*")
my_desc$set(VignetteBuilder = "knitr")
my_desc$set(Language = "en-GB")
my_news$add_bullet(c("adding CRAN test and setup for release",
"change test setup from ubuntu 16.04 to 18.04"))
# CRAN release ------------------------------------------------------------
my_desc$bump_version("patch")
my_news$add_version(my_desc$get_version())
my_news$add_bullet(c("first CRAN release"))
# Github PAT --------------------------------------------------------------
my_desc$bump_version("patch")
my_news$add_version(my_desc$get_version())
my_news$add_bullet(c("add GitHub PAT for testing"))
my_news$add_bullet(c("add renv setup for development"))
# Change testing schedule -------------------------------------------------
my_desc$bump_version("dev")
my_news$add_version(my_desc$get_version())
my_news$add_bullet(c("Change testing schedule to once per week"))
# add function get_version -------------------------------------------------
my_desc$bump_version("minor")
my_news$add_version(my_desc$get_version())
# remove LazyData field, since it creates a NOTE and is not needed
my_desc$del("LazyData")
my_news$add_bullet(c("add get_version() to retrieve version from existing file",
"remove LazyData value in DESCRIPTION file"))
# add function get_version -------------------------------------------------
my_desc$bump_version("patch")
my_news$add_version(my_desc$get_version())
my_news$add_bullet(c("fix testing setup"))
# add function combine_dev ------------------------------------------------
my_desc$bump_version("minor")
my_news$add_version(my_desc$get_version())
my_news$add_bullet(c("add function to combine dev version's points"))
my_desc$bump_version("patch")
my_news$add_version(my_desc$get_version())
my_news$add_bullet(c("fix format for initial NEWS.md line"))
# WIP ---------------------------------------------------------------------
# bump dev version
#my_desc$bump_version("dev")
#my_news$add_version(my_desc$get_version())
#my_news$add_bullet(c("current dev version"))
# save everything ---------------------------------------------------------
my_desc$set("Date", Sys.Date())
my_desc$write(file = "DESCRIPTION")
my_news$write(file = "NEWS.md")
# set CRAN version number in README
my_readme <- readLines("README.md")
my_readme[1] <- paste0(
"# newsmd - ", my_desc$get_version(),
" <img src=\"misc/news.png\" width=170 align=\"right\" />")
# set dev version number
my_readme <- gsub(pattern = "badge/Version-.*-success",
replacement = paste0("badge/Version-",
my_desc$get_version(),
"-success"),
x = my_readme)
writeLines(my_readme, "README.md")
# set pkg names
origin::originize_pkg()
# update documentation
roxygen2::roxygenise()
# tidy DESCRIPTON
usethis::use_tidy_description()