Skip to content

Commit 291839e

Browse files
committed
intall-openJRE.R update
Removed installation from adopt provider. Added check for available Java versions.
1 parent a62b7c9 commit 291839e

File tree

3 files changed

+62
-71
lines changed

3 files changed

+62
-71
lines changed

install-openJRE.R

+49-56
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,37 @@
11
# Install JRE
2+
3+
# Test and load packages
4+
x <- rownames(installed.packages())
5+
if (!"rvest" %in% x) stop("Please install the rvest package!")
6+
if (!"data.table" %in% x) stop("Please install the data.table package!")
7+
if (!"openssl" %in% x) stop("Please install the openssl package!")
8+
9+
library(rvest)
10+
library(data.table)
11+
library(openssl)
12+
13+
# Check for available Java versions
14+
url <- "https://dev.java/download/releases/"
15+
16+
java <- url %>%
17+
read_html() %>%
18+
html_nodes("table") %>%
19+
html_table(fill = T) %>%
20+
lapply(., function(x) setNames(x, c("Version", "Initial Release", "Current Release",
21+
"Version Info", "End of Life")))
22+
23+
java_versions <- data.table(java[[1]])[, -c(4)]
24+
25+
java_versions <- java_versions[, `Current Release` := gsub('\n\t\t\t\t\t\t','', `Current Release`)]
26+
java_versions
27+
28+
# Future Release
29+
future_release <- data.table(java[[2]])[, -c(3)]
30+
future_release
31+
232
# Function definition
333

4-
# Function aparameters for testing
34+
# Function parameters for testing
535
#
636
# path.jre <- file.path(gsub("\\\\", "/", Sys.getenv("HOME")), "OpenJRE")
737
# set.env.variable <- TRUE
@@ -12,31 +42,19 @@ install.open.jre <- function(path.jre = file.path(gsub("\\\\", "/",
1242
Sys.getenv("HOME")),
1343
"OpenJRE"),
1444
set.env.variable = TRUE,
15-
provider = "adopt",
16-
version = 11L) {
45+
provider = provider,
46+
version = version) {
1747

1848
# Test OS
1949
if (.Platform$OS.type != "windows") stop("Works only on Windows")
2050

21-
22-
# Test and load packages
23-
x <- rownames(installed.packages())
24-
if (!"rvest" %in% x) stop("Please install the rvest package!")
25-
if (!"openssl" %in% x) stop("Please install the openssl package!")
26-
27-
library(rvest)
28-
library(openssl)
29-
30-
3151
# Provider
3252
provider <- tolower(el(as.character(provider)))
3353

34-
if (!(provider %in% c("adopt", "zulu", "amazon")))
35-
stop("Wrong JRE provider specified. Possible values are adopt, zulu, amazon.")
54+
if (!(provider %in% c("zulu", "amazon")))
55+
stop("Wrong JRE provider specified. Possible values are zulu or amazon.")
3656

37-
if (provider == "adopt") {
38-
cat("Installing AdoptOpenJDK, https://adoptopenjdk.net/\n")
39-
} else if (provider == "zulu") {
57+
if (provider == "zulu") {
4058
cat("Installing Zulu JDK, https://www.azul.com/downloads/zulu/\n")
4159
} else if (provider == "amazon") {
4260
cat("Installing Amazon Corretto, https://aws.amazon.com/corretto/\n")
@@ -45,26 +63,17 @@ install.open.jre <- function(path.jre = file.path(gsub("\\\\", "/",
4563

4664
# Version
4765
version <- as.integer(el(version))
48-
if (!(version %in% c(8L, 11L))) stop("Version should be 8 or 11")
4966
cat("Java version:", version, "\n")
5067

5168

52-
if (provider == "amazon" & version == 11L)
53-
cat("JDK version is available only\n")
54-
5569

5670
# Install folder
5771
cat("Installation in folder:", path.jre, "\n")
5872
dir.create(path.jre, showWarnings = FALSE)
5973

6074

6175
# Load HTML doc
62-
if (provider == "adopt") {
63-
base.url <- "https://github.com"
64-
html.doc <- read_html(file.path(base.url,
65-
paste0("AdoptOpenJDK/openjdk", version,
66-
"-binaries/releases")))
67-
} else if (provider == "zulu") {
76+
if (provider == "zulu") {
6877
base.url <- "https://cdn.azul.com/zulu/bin"
6978
html.doc <- read_html(base.url)
7079
} else if (provider == "amazon") {
@@ -75,10 +84,7 @@ install.open.jre <- function(path.jre = file.path(gsub("\\\\", "/",
7584
if (!is.null(html.doc))
7685
url.list <- html_nodes(html.doc, "a") %>% html_attr(name = "href")
7786

78-
if (provider == "adopt") {
79-
down.list <- grep("jre_x64_windows_hotspot.*(zip|zip.sha256.txt)$",
80-
url.list, value = T)
81-
} else if (provider == "zulu") {
87+
if (provider == "zulu") {
8288
down.list <- grep(paste0("fx-jre", version, ".*-win_x64.zip$"),
8389
url.list, value = T)
8490
} else if (provider == "amazon") {
@@ -89,12 +95,12 @@ install.open.jre <- function(path.jre = file.path(gsub("\\\\", "/",
8995

9096
down.list <- sort(down.list, decreasing = T)
9197

92-
if (provider %in% c("adopt", "zulu")) {
98+
if (provider %in% c("zulu")) {
9399
zip.name <- el(grep("zip$", down.list, value = T))
94100
} else if (provider == "amazon" & version == 8L) {
95101
zip.name <- "https://corretto.aws/downloads/latest/amazon-corretto-8-x64-windows-jre.zip"
96-
} else if (provider == "amazon" & version == 11L) {
97-
zip.name <- "https://corretto.aws/downloads/latest/amazon-corretto-11-x64-windows-jdk.zip"
102+
} else if (provider == "amazon" & version >= 8L) {
103+
zip.name <- file.path(paste0("https://corretto.aws/downloads/latest/amazon-corretto-",version,"-x64-windows-jdk.zip"))
98104
}
99105

100106
zip.base.name <- basename(zip.name)
@@ -112,33 +118,26 @@ install.open.jre <- function(path.jre = file.path(gsub("\\\\", "/",
112118
method = "wininet")
113119

114120
# Test checksum
115-
if (provider == "adopt") {
116-
txt.name <- el(grep("txt$", down.list, value = T))
117-
con <- url(file.path(base.url, txt.name))
118-
checksum <- sub(" .*$", "", readLines(con, warn = FALSE))
119-
close(con)
120-
} else if (provider == "amazon") {
121+
if (provider == "amazon") {
121122
if (version == 8L) {
122123
txt.name <- "https://corretto.aws/downloads/latest_checksum/amazon-corretto-8-x64-windows-jre.zip"
123-
} else if (version == 11L) {
124-
txt.name <- "https://corretto.aws/downloads/latest_checksum/amazon-corretto-11-x64-windows-jdk.zip"
124+
} else if (version >= 11L) {
125+
txt.name <- paste0("https://corretto.aws/downloads/latest_checksum/amazon-corretto-",version,"-x64-windows-jdk.zip")
125126
}
126127
con <- url(txt.name)
127128
checksum <- readLines(con, warn = FALSE)
128129
close(con)
129130
}
130131

131-
if (provider %in% c("adopt", "amazon")) {
132+
if (provider %in% c("amazon")) {
132133
con <- file(file.path(path.jre, zip.base.name))
133134
}
134135

135-
if (provider == "adopt") {
136-
testsum <- sha256(x = con)
137-
} else if (provider == "amazon") {
136+
if (provider == "amazon") {
138137
testsum <- md5(x = con)
139138
}
140139

141-
if (provider %in% c("adopt", "amazon")) {
140+
if (provider %in% c("amazon")) {
142141
if (gsub(":", "", testsum) == checksum) {
143142
cat("Checksum test: OK")
144143
} else {
@@ -163,19 +162,13 @@ install.open.jre <- function(path.jre = file.path(gsub("\\\\", "/",
163162
cat("Instalation is complete\n")
164163
}
165164

166-
# install.open.jre(provider = "adopt" , version = 8L)
167-
# install.open.jre(provider = "amazon", version = 8L)
168-
# install.open.jre(provider = "zulu" , version = 8L)
169165

170-
# install.open.jre(provider = "adopt" , version = 11L)
171166
# install.open.jre(provider = "amazon", version = 11L)
172167
# install.open.jre(provider = "zulu" , version = 11L)
173168

174-
# Install Java 8
175-
install.open.jre(version = 8)
169+
# Install Java
170+
install.open.jre(provider = "amazon", version = 11L)
176171

177-
# Install Java 11
178-
install.open.jre(version = 11)
179172

180173
# Different versions of Java can be installed
181174
# The last installed Java version will be set with JAVA_HOME as default

readme.Rmd

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Open Java Runtime Environment instalācija"
3-
author: "`r Sys.info()['user']`"
3+
author: "MLiberts, RPavasare"
44
date: "`r Sys.time()`"
55
output:
66
html_document:
@@ -47,22 +47,21 @@ Teorētiski ir vienalga, kura Open Java versija tiek lietota, jo tās visas ir k
4747

4848
## Funkcija `install.open.jre`
4949

50-
Open JRE instalāciju var veikt lietotājs. Nav vajadzīga administratora palīdzība. Lai atvieglotu Open JRE instalāciju, ir sagatavota R funkcija `install.open.jre`. Skatīt failu `install-openJRE.R`. Funkcija veic sekojošus instalācijas soļus:
50+
Open JRE instalāciju var veikt lietotājs. Nav vajadzīga administratora palīdzība. Lai atvieglotu Open JRE instalāciju, ir sagatavota R funkcija `install.open.jre`. Ar R funkcijas palīdzību ir iespēja instalēt Javu no Amazon vai Zulu provaidera. Skatīt failu `install-openJRE.R`. Funkcija veic sekojošus instalācijas soļus:
5151

52-
- No izvēlētā provaidera mājas lapas tiek lejupielādēta pēdējā Java 8 JRE portable versija (zip fails).
53-
- Tiek vaikta faila pārbaude ar pārbaudes summu. Tikai AdoptJDK un Amazon gadījumā.
52+
- No izvēlētā provaidera mājas lapas tiek lejupielādēta lietotāja norādītā Java versija (zip fails).
53+
- Tiek vaikta faila pārbaude ar pārbaudes summu. Tikai Amazon gadījumā.
5454
- Tiek atarhivēts zip faila saturs.
5555
- Pēc noklusējuma tiek definēts vides mainīgais (*environment variable*) `JAVA_HOME`. Šo var atslēgt ar funkcijas argumentu `set.env.variable = FALSE`.
5656

5757
Pēc noklusējuma faili tiek saglabāti mapē `C:\Users\[user]\Documents\OpenJRE`. Failu saglabāšanas mapi var mainīt ar funkcijas argumentu `path.jre`. Esošie faili tiek pārrakstīti, bet katrai JRE versijai ir sava mape.
5858

5959
Java provaideri var izvēlēties ar funkcijas parametru `provider`. Iespējamās vērtības ir:
6060

61-
- `adopt`: instalēs AdoptOpenJDK,
62-
- `amazon`: instalēs Amazon Corretto (noklusētā vērtība),
61+
- `amazon`: instalēs Amazon Corretto,
6362
- `zulu`: instalēs Zulu JDK.
6463

65-
Ir iespējams instalēt Java versijas 8 un 11 (noklusētā vērtība). Abas ir LTS (*long term support*) versijas.
64+
Ir iespējams instalēt dažādākas Java versijas. Javas 7, 8, 11 un 17 ir LTS (*long term support*) versijas.
6665

6766

6867

readme.md

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Open Java Runtime Environment instalācija"
3-
author: "MLiberts"
4-
date: "2020-07-28 17:33:54"
3+
author: "MLiberts, RPavasare"
4+
date: "2022-11-08 10:08:40"
55
output:
66
html_document:
77
keep_md: yes
@@ -45,22 +45,21 @@ Teorētiski ir vienalga, kura Open Java versija tiek lietota, jo tās visas ir k
4545

4646
## Funkcija `install.open.jre`
4747

48-
Open JRE instalāciju var veikt lietotājs. Nav vajadzīga administratora palīdzība. Lai atvieglotu Open JRE instalāciju, ir sagatavota R funkcija `install.open.jre`. Skatīt failu `install-openJRE.R`. Funkcija veic sekojošus instalācijas soļus:
48+
Open JRE instalāciju var veikt lietotājs. Nav vajadzīga administratora palīdzība. Lai atvieglotu Open JRE instalāciju, ir sagatavota R funkcija `install.open.jre`. Ar R funkcijas palīdzību ir iespēja instalēt Javu no Amazon vai Zulu provaidera. Skatīt failu `install-openJRE.R`. Funkcija veic sekojošus instalācijas soļus:
4949

50-
- No izvēlētā provaidera mājas lapas tiek lejupielādēta pēdējā Java 8 JRE portable versija (zip fails).
51-
- Tiek vaikta faila pārbaude ar pārbaudes summu. Tikai AdoptJDK un Amazon gadījumā.
50+
- No izvēlētā provaidera mājas lapas tiek lejupielādēta lietotāja norādītā Java versija (zip fails).
51+
- Tiek vaikta faila pārbaude ar pārbaudes summu. Tikai Amazon gadījumā.
5252
- Tiek atarhivēts zip faila saturs.
5353
- Pēc noklusējuma tiek definēts vides mainīgais (*environment variable*) `JAVA_HOME`. Šo var atslēgt ar funkcijas argumentu `set.env.variable = FALSE`.
5454

5555
Pēc noklusējuma faili tiek saglabāti mapē `C:\Users\[user]\Documents\OpenJRE`. Failu saglabāšanas mapi var mainīt ar funkcijas argumentu `path.jre`. Esošie faili tiek pārrakstīti, bet katrai JRE versijai ir sava mape.
5656

5757
Java provaideri var izvēlēties ar funkcijas parametru `provider`. Iespējamās vērtības ir:
5858

59-
- `adopt`: instalēs AdoptOpenJDK,
60-
- `amazon`: instalēs Amazon Corretto (noklusētā vērtība),
59+
- `amazon`: instalēs Amazon Corretto,
6160
- `zulu`: instalēs Zulu JDK.
6261

63-
Ir iespējams instalēt Java versijas 8 un 11 (noklusētā vērtība). Abas ir LTS (*long term support*) versijas.
62+
Ir iespējams instalēt dažādākas Java versijas. Javas 7, 8, 11 un 17 ir LTS (*long term support*) versijas.
6463

6564

6665

0 commit comments

Comments
 (0)