R/update-package-version.R

# NOTE: Run the function ONLY WHEN YOU CHECK the package SUCCESSFULLY.

#Function for updating package version automatically.
#(This will replace the version number in DESCRIPTION file.)

updatePackageVersion <- function(packageLocation = "."){
  # Read DESCRIPTION file --->
  desc <- readLines(file.path(packageLocation, "DESCRIPTION"))

  # Find the line where the version is defined
  vLine <- grep("^Version\\:", desc)

  # Extract version number
  vNumber <- gsub("^Version\\:\\s*", "", desc[vLine])

  # Split the version number into two (A part to keep and a part to update)
  versionNumber <- strsplit(vNumber, "\\.")[[1]]
  versionParts <- length(versionNumber)
  vNumberKeep <- paste(versionNumber[1:(versionParts-1)], sep = "", collapse = ".")
  vNumberUpdate <- versionNumber[versionParts]

  # Replace old version number with new one (increment by 1)
  oldVersion <- as.numeric(vNumberUpdate)
  newVersion <- oldVersion + 1

  # Build final version number
  vFinal <- paste(vNumberKeep, newVersion, sep = ".")

  # Update DESCRIPTION file
  desc[vLine] <- paste0("Version: ", vFinal)

  # Update the actual DESCRIPTION file
  writeLines(desc, file.path(packageLocation, "DESCRIPTION"))

  # Return the updated version number to screen
  return(vFinal)
}
Teresa00/hfmAnnotation documentation built on May 14, 2019, 12:51 a.m.