Re: [Bioc-devel] support the stable version of R

2019-01-16 Thread Dario Strbenac
Good day,

R's checking may encourage a dependency on R to be placed in the DESCRIPTION 
file, based on examining the data files distributed with the package. For 
ClassifyR, I get a warning if the dependency is absent.

* checking data for ASCII and uncompressed saves ... WARNING
  Warning: package needs dependence on R (>= 2.10)

--
Dario Strbenac
University of Sydney
Camperdown NSW 2050
Australia
___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] support the stable version of R

2019-01-15 Thread Ludwig Geistlinger
> Having said that, I'll note that specifying R as a dependency, and a version 
> of R as a criterion for your package, is really a mis-nomer for a 
> Bioconductor package -- of course it uses R, and the version of R in use 
> determines the Bioconductor version(s) that can be used! So a rational change 
> is to remove R and its version requirement from the DESCRIPTION file 
> entirely, a strategy taken by I think about 400 of our 1650+ packages.

Maybe worth including under 

https://bioconductor.org/developers/package-guidelines/#description

-> 8. “Depends/Imports/Suggests/Enhances:” fields: --> Depends


From: Bioc-devel  on behalf of Martin Morgan 

Sent: Monday, January 14, 2019 6:52 PM
To: Lulu Chen; bioc-devel@r-project.org
Subject: Re: [Bioc-devel] support the stable version of R

Remember that Bioconductor packages are tested nightly on our build system, and 
this nightly testing is an important component of offering your users a stable 
environment, not just for your package but the other packages they use. 
Recreating this standard environment is facilitated by the standard 
Bioconductor package installation instruction

  BiocManager::install("YourPackage")

The nightly builds are done on a platform where all packages are from the same 
Bioconductor release, built on the same version of R. Your newly accepted 
package is in the '3.9' version of Bioconductor, which uses the 3.6 version of 
R. It follows that the best user experience is provided to those using R 3.6. 
By 'allowing' R 3.5 and non-standard installation (e.g., from github) you are 
ultimately compromising the quality standards of Bioconductor and the 
experience of the users of your package. The support site has many questions 
from people who install packages from different Bioconductor versions, so it is 
clearly not in your interest, or the Bioconductor project interest, or your 
user's interest, to enable this kind of usage.

It is hard to see into the future, so saying something like R >= 3.5 is really 
quite bold! Conversely, packages with out-of-date promises like R >= 2.1 are 
not tested on the systems they claim compatibility with, and can be easily 
broken on old versions of R where their dependencies are no longer available.

From some scraping of the file summarizing the current devel repository 
https://bioconductor.org/packages/devel/bioc/VIEWS I see

> as_tibble(tbl) %>% arrange(desc(n))
# A tibble: 84 x 2
   Var1  n

 1 R (>= 3.5)  130
 2 R (>= 2.10) 125
 3 R (>= 3.4)  117
 4 R (>= 3.5.0) 83
 5 R (>= 3.4.0) 64
 6 R (>= 3.3)   58
 7 R (>= 2.10.0)41
 8 R (>= 3.0.0) 41
 9 R (>= 3.2.0) 41
10 R (>= 3.3.0) 41
# ... with 74 more rows
> as_tibble(tbl) %>% filter(grepl("3.6", Var1)) %>% arrange(desc(n))
# A tibble: 2 x 2
  Var1 n
  
1 R (>= 3.6)  17
2 R (>= 3.6.0) 6
> as_tibble(tbl) %>% filter(grepl("<", Var1)) %>% arrange(desc(n))
# A tibble: 1 x 2
  Var1n
 
1 R (< 3.7.0) 1

so there are many very optimistic assertions about suitability, only a few 
current versions, and a single package that is not clairvoyant!

Having said that, I'll note that specifying R as a dependency, and a version of 
R as a criterion for your package, is really a mis-nomer for a Bioconductor 
package -- of course it uses R, and the version of R in use determines the 
Bioconductor version(s) that can be used! So a rational change is to remove R 
and its version requirement from the DESCRIPTION file entirely, a strategy 
taken by I think about 400 of our 1650+ packages.

Martin

On 1/14/19, 5:40 PM, "Bioc-devel on behalf of Lulu Chen" 
 wrote:

Dear all,

When submitting package to bioconductor, it is required to change R version
in "Depends" to be >= the develop version (3.6) . As my package is also
available in GitHub, someone asks if it be possible to make it available
with the stable version of R (R3.5). In fact, my package can work well with
R3.5 if I change "Depends" back to R(>=3.5) .

So I hope to support R3.5 for the moment before next release. Should I
create another repository? Can I use a branch to support R3.5?

Thanks,
Lulu

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] support the stable version of R

2019-01-15 Thread Martin Morgan
Probably my rant yesterday was a bit confused.

BiocCheck tries to encourage better practice. If you've chosen to specify 
version (maybe there are reasons for this, e.g., because in the past you have 
distributed your package through non-Bioconductor channels), then specify it 
correctly.

On the other hand, the Bioconductor release model doesn't require a version 
specification and in practice maintainers do a poor job updating this 
information. If the maintainer hasn't specified version, then no need to 
suggest that they do so.

I guess it's analogous to many other tests where guidance is provided on 
mis-use, rather than on non-use -- 'we notice that you didn't test for class, 
but if you had a better approach is to use `is()` rather than `class() == `'. 
Or perhaps suggesting straight-forward solutions rather than nuanced solutions 
of uncertain merit  'instead of testing for class incorrectly with `class() == 
`, use method dispatch to avoid conditional code'.

Again, a best practice for github and other repositories outside Bioconductor 
is likely to maintain distinct release branches. If one is choosing to specify 
version, then each branch should closely specify relevant version.

Martin

On 1/15/19, 2:45 AM, "Alexey Sergushichev"  wrote:

Martin,


> Having said that, I'll note that specifying R as a dependency, and a 
version of R as a criterion for your package, is really a mis-nomer for a 
Bioconductor package -- of course it uses R, and the version of R in use 
determines the Bioconductor
 version(s) that can be used! So a rational change is to remove R and its 
version requirement from the DESCRIPTION file entirely, a strategy taken by I 
think about 400 of our 1650+ packages.


Oh, it's actually an option not to include an R dependency at all. I find 
it non-obvious, given the warning message that suggest to change the version 
dependency to R-devel, not mentioning that omitting dependency will fix the 
warning too. Should it be
 put somewhere in BiocCheck message?


Also, given that, I find it even more strange to have such R requirement in 
BiocCheck. You are either allowed very strict dependency: R >= R-devel or very 
lenient (not specifying any), but nothing in the middle. 


Best,
Alexey






On Tue, Jan 15, 2019 at 3:03 AM Martin Morgan  
wrote:


Maybe a little more helpfully, I think you should create a branch for 
'before' Bioconductor, where you can specify R version dependency as you see 
fit.

Indeed, at each release the version of your package at 
git.bioconductor.org  will have a branch 
created for that release, e.g., the RELEASE_3_8 branch, and you will want to 
sync that branch with your github repository as outlined in step 10 of

https://bioconductor.org/developers/how-to/git/sync-existing-repositories/ 
 . 

A conscientious developer would take the opportunity to increment the 
version dependency of R in the master branch to the version of R in use in the 
devel builds of Bioconductor.

Martin

On 1/14/19, 5:40 PM, "Bioc-devel on behalf of Lulu Chen" 
 wrote:

Dear all,

When submitting package to bioconductor, it is required to change R 
version
in "Depends" to be >= the develop version (3.6) . As my package is also
available in GitHub, someone asks if it be possible to make it available
with the stable version of R (R3.5). In fact, my package can work well 
with
R3.5 if I change "Depends" back to R(>=3.5) .

So I hope to support R3.5 for the moment before next release. Should I
create another repository? Can I use a branch to support R3.5?

Thanks,
Lulu

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/bioc-devel 


___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel




___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] support the stable version of R

2019-01-14 Thread Alexey Sergushichev
Martin,

> Having said that, I'll note that specifying R as a dependency, and a
version of R as a criterion for your package, is really a mis-nomer for a
Bioconductor package -- of course it uses R, and the version of R in use
determines the Bioconductor version(s) that can be used! So a rational
change is to remove R and its version requirement from the DESCRIPTION file
entirely, a strategy taken by I think about 400 of our 1650+ packages.

Oh, it's actually an option not to include an R dependency at all. I find
it non-obvious, given the warning message that suggest to change the
version dependency to R-devel, not mentioning that omitting dependency will
fix the warning too. Should it be put somewhere in BiocCheck message?

Also, given that, I find it even more strange to have such R requirement in
BiocCheck. You are either allowed very strict dependency: R >= R-devel or
very lenient (not specifying any), but nothing in the middle.

Best,
Alexey



On Tue, Jan 15, 2019 at 3:03 AM Martin Morgan 
wrote:

> Maybe a little more helpfully, I think you should create a branch for
> 'before' Bioconductor, where you can specify R version dependency as you
> see fit.
>
> Indeed, at each release the version of your package at
> git.bioconductor.org will have a branch created for that release, e.g.,
> the RELEASE_3_8 branch, and you will want to sync that branch with your
> github repository as outlined in step 10 of
> https://bioconductor.org/developers/how-to/git/sync-existing-repositories/
> .
>
> A conscientious developer would take the opportunity to increment the
> version dependency of R in the master branch to the version of R in use in
> the devel builds of Bioconductor.
>
> Martin
>
> On 1/14/19, 5:40 PM, "Bioc-devel on behalf of Lulu Chen" <
> bioc-devel-boun...@r-project.org on behalf of luluc...@vt.edu> wrote:
>
> Dear all,
>
> When submitting package to bioconductor, it is required to change R
> version
> in "Depends" to be >= the develop version (3.6) . As my package is also
> available in GitHub, someone asks if it be possible to make it
> available
> with the stable version of R (R3.5). In fact, my package can work well
> with
> R3.5 if I change "Depends" back to R(>=3.5) .
>
> So I hope to support R3.5 for the moment before next release. Should I
> create another repository? Can I use a branch to support R3.5?
>
> Thanks,
> Lulu
>
> [[alternative HTML version deleted]]
>
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] support the stable version of R

2019-01-14 Thread Martin Morgan
Maybe a little more helpfully, I think you should create a branch for 'before' 
Bioconductor, where you can specify R version dependency as you see fit.

Indeed, at each release the version of your package at git.bioconductor.org 
will have a branch created for that release, e.g., the RELEASE_3_8 branch, and 
you will want to sync that branch with your github repository as outlined in 
step 10 of 
https://bioconductor.org/developers/how-to/git/sync-existing-repositories/ . 

A conscientious developer would take the opportunity to increment the version 
dependency of R in the master branch to the version of R in use in the devel 
builds of Bioconductor.

Martin

On 1/14/19, 5:40 PM, "Bioc-devel on behalf of Lulu Chen" 
 wrote:

Dear all,

When submitting package to bioconductor, it is required to change R version
in "Depends" to be >= the develop version (3.6) . As my package is also
available in GitHub, someone asks if it be possible to make it available
with the stable version of R (R3.5). In fact, my package can work well with
R3.5 if I change "Depends" back to R(>=3.5) .

So I hope to support R3.5 for the moment before next release. Should I
create another repository? Can I use a branch to support R3.5?

Thanks,
Lulu

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] support the stable version of R

2019-01-14 Thread Martin Morgan
Remember that Bioconductor packages are tested nightly on our build system, and 
this nightly testing is an important component of offering your users a stable 
environment, not just for your package but the other packages they use. 
Recreating this standard environment is facilitated by the standard 
Bioconductor package installation instruction

  BiocManager::install("YourPackage")

The nightly builds are done on a platform where all packages are from the same 
Bioconductor release, built on the same version of R. Your newly accepted 
package is in the '3.9' version of Bioconductor, which uses the 3.6 version of 
R. It follows that the best user experience is provided to those using R 3.6. 
By 'allowing' R 3.5 and non-standard installation (e.g., from github) you are 
ultimately compromising the quality standards of Bioconductor and the 
experience of the users of your package. The support site has many questions 
from people who install packages from different Bioconductor versions, so it is 
clearly not in your interest, or the Bioconductor project interest, or your 
user's interest, to enable this kind of usage.

It is hard to see into the future, so saying something like R >= 3.5 is really 
quite bold! Conversely, packages with out-of-date promises like R >= 2.1 are 
not tested on the systems they claim compatibility with, and can be easily 
broken on old versions of R where their dependencies are no longer available.

From some scraping of the file summarizing the current devel repository 
https://bioconductor.org/packages/devel/bioc/VIEWS I see

> as_tibble(tbl) %>% arrange(desc(n))
# A tibble: 84 x 2
   Var1  n

 1 R (>= 3.5)  130
 2 R (>= 2.10) 125
 3 R (>= 3.4)  117
 4 R (>= 3.5.0) 83
 5 R (>= 3.4.0) 64
 6 R (>= 3.3)   58
 7 R (>= 2.10.0)41
 8 R (>= 3.0.0) 41
 9 R (>= 3.2.0) 41
10 R (>= 3.3.0) 41
# ... with 74 more rows
> as_tibble(tbl) %>% filter(grepl("3.6", Var1)) %>% arrange(desc(n))
# A tibble: 2 x 2
  Var1 n
  
1 R (>= 3.6)  17
2 R (>= 3.6.0) 6
> as_tibble(tbl) %>% filter(grepl("<", Var1)) %>% arrange(desc(n))
# A tibble: 1 x 2
  Var1n
 
1 R (< 3.7.0) 1

so there are many very optimistic assertions about suitability, only a few 
current versions, and a single package that is not clairvoyant!

Having said that, I'll note that specifying R as a dependency, and a version of 
R as a criterion for your package, is really a mis-nomer for a Bioconductor 
package -- of course it uses R, and the version of R in use determines the 
Bioconductor version(s) that can be used! So a rational change is to remove R 
and its version requirement from the DESCRIPTION file entirely, a strategy 
taken by I think about 400 of our 1650+ packages.

Martin

On 1/14/19, 5:40 PM, "Bioc-devel on behalf of Lulu Chen" 
 wrote:

Dear all,

When submitting package to bioconductor, it is required to change R version
in "Depends" to be >= the develop version (3.6) . As my package is also
available in GitHub, someone asks if it be possible to make it available
with the stable version of R (R3.5). In fact, my package can work well with
R3.5 if I change "Depends" back to R(>=3.5) .

So I hope to support R3.5 for the moment before next release. Should I
create another repository? Can I use a branch to support R3.5?

Thanks,
Lulu

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


[Bioc-devel] support the stable version of R

2019-01-14 Thread Lulu Chen
Dear all,

When submitting package to bioconductor, it is required to change R version
in "Depends" to be >= the develop version (3.6) . As my package is also
available in GitHub, someone asks if it be possible to make it available
with the stable version of R (R3.5). In fact, my package can work well with
R3.5 if I change "Depends" back to R(>=3.5) .

So I hope to support R3.5 for the moment before next release. Should I
create another repository? Can I use a branch to support R3.5?

Thanks,
Lulu

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel