Get the JDK source (per the OpenJDK instructions):
hg clone http://hg.openjdk.java.net/portola/portola
cd portola
bash ./get_source.sh
You need an existing Alpine with an already-built JDK. I have a Docker image of Alpine with glibc-based Zulu JDK:
package test | |
import org.junit.jupiter.api.BeforeEach | |
import org.junit.jupiter.api.TestInfo | |
import org.junit.jupiter.api.TestInstance | |
import java.time.Clock | |
import java.time.Instant | |
import java.time.ZoneId | |
import java.util.* | |
import kotlin.math.absoluteValue |
#!/bin/sh -e | |
PULUMI_STACK=local | |
STACK_CONFIG_FILE=Pulumi.${PULUMI_STACK}.yaml | |
LOCALSTACK_ENDPOINT=http://localhost:4566 | |
pulumi stack init ${PULUMI_STACK} | |
[ -e ${STACK_CONFIG_FILE} ] && printf "\e[0;31merror:\e[0m stack config file '${STACK_CONFIG_FILE}' already exists\n" && exit 1 | |
cat > ${STACK_CONFIG_FILE} <<_END_ |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<!-- `brew update` every 6 hours --> | |
<plist version="1.0"> | |
<dict> | |
<key>EnableGlobbing</key> | |
<false/> |
pwned-passwd () | |
{ | |
history -d $((HISTCMD - 1)); | |
sha=$(printf $1 | sha1sum | cut -d' ' -f1 | tr [:lower:] [:upper:]); | |
prefix=${sha:0:5}; | |
suffix=${sha:5}; | |
count=$(curl -Ss https://api.pwnedpasswords.com/range/$prefix | grep $suffix | cut -d':' -f2); | |
[ -n "$count" ] && echo $count >&2 && return 1; | |
return 0; |
{"api":{"title":"Scan Data","links":{"describedBy":"https://mport.com/api-docs/scan-data","author":"mailto:[email protected]?subject=scan-data+json-home"}},"resources":{"tag:https://mport.com/api-docs/scan-data/resource/scans":{"hints":{"formats":{"application/edn":{},"application/json":{}},"allow":["GET"],"authSchemes":[{"scheme":"Bearer"}]},"href":"/scan/"},"tag:https://mport.com/api-docs/scan-data/resource/scan":{"hints":{"formats":{"application/edn":{},"application/json":{}},"acceptRanges":["items"],"acceptPut":["application/json","application/edn"],"acceptPost":["application/json","application/edn"],"allow":["GET","POST","PUT","DELETE"],"authSchemes":[{"scheme":"Bearer"}]},"hrefVars":{"scan-id":"https://mport.com/api-docs/scan-data/param/scan-id"},"hrefTemplate":"/scan/{scan-id}"}}} |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Greeting</title> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.10/handlebars.min.js"></script> | |
</head> | |
<body> | |
<h1>Greetings!</h1> |
Get the JDK source (per the OpenJDK instructions):
hg clone http://hg.openjdk.java.net/portola/portola
cd portola
bash ./get_source.sh
You need an existing Alpine with an already-built JDK. I have a Docker image of Alpine with glibc-based Zulu JDK:
# cd .. with multiple jumps or jump up to name | |
..() { | |
if [ "-" = "$1" ]; then cd -; return; fi; # return to previous directory | |
if [ "/" = "$1" ]; then cd /; pwd; return; fi; # jump to root | |
if [ -z "$1" ]; then cd ../; pwd; return; fi; # jump up one | |
declare -i count=$1; # get a jump count | |
if [ $count -eq 0 ]; then # wasn't a number, look for name | |
local go=$(while [ "/" != "$PWD" ] && [ "$(basename $PWD)" != "$1" ]; do cd ..; done; pwd); | |
# jump up to named directory, or don't move if name wasn't found | |
if [ "/" != "$go" ]; then cd $go; else return; fi; |