Goal:
one\n
two
Onboard JavaScript requires us to break the code formatting.
[alias] | |
st = status --branch --short | |
look = log --graph --pretty='%C(red)%h%Creset %C(green)%ad%Creset %C(yellow)%<(15,trunc)%an%Creset %s %C(bold blue)%D%Creset' --date=format-local:'%d.%m.%Y %H%M' | |
look-close = log --graph --pretty='%C(red)%h%Creset %C(green)%cd%Creset %C(yellow)%<(15)%cn%Creset %C(bold blue)%D%Creset%n %C(dim green)%ad%Creset %C(dim yellow)%<(15)%an%Creset %s' --date=format-local:'%d.%m. %H%M' | |
hist = log --pretty='%C(red)%h%Creset %C(green)%cd%Creset %C(yellow)%<(12,trunc)%an%Creset %s %C(auto)%D%Creset' --date=format-local:'%Y-%m-%d %H:%M' | |
wat = !git look -15 | |
cd = checkout | |
patch = -c interactive.diffFilter='diff-highlight | less -FRX --tabs=4' add --patch | |
unstage = reset HEAD -- | |
unstage-patch = reset HEAD --patch |
// Two examples [1, 2] from EA Async written without async/await or | |
// (Completable)Futures as straight-forward blocking code. If the | |
// callers want to do something concurrently to `Store::buyItem`, | |
// they just put that call into a new virtual threads. | |
public class Store { | |
private final Bank bank = new Bank(); | |
private final Inventory inventory = new Inventory(); |
package org.codefx.demo.junit5; | |
import org.junit.gen5.api.Test; | |
import org.junit.gen5.junit4.runner.JUnit5; | |
import org.junit.runner.RunWith; | |
/** | |
* Typical "Hello World"; runs as a JUnit 4 test. | |
*/ | |
@RunWith(JUnit5.class) |
import java.util.concurrent.atomic.AtomicLong; | |
import java.util.stream.Stream; | |
// implementation of https://twitter.com/peterzllr/status/1413216826708877318 | |
public class Tree { | |
public static void main(String[] args) { | |
var tree = new Red( | |
new Black( |
<?xml version="1.0" encoding="UTF-8"?> | |
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> | |
<persistence-unit name="statistics-unit" transaction-type="RESOURCE_LOCAL"> | |
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> | |
<exclude-unlisted-classes>true</exclude-unlisted-classes> | |
<properties> | |
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver" /> | |
<property name="javax.persistence.jdbc.url" | |
value="jdbc:h2:mem:test;INIT=CREATE SCHEMA IF NOT EXISTS test\;RUNSCRIPT FROM 'classpath:META-INF/init.sql'" /> |
package org.codefx.lab.stream; | |
import java.util.Collection; | |
import java.util.Objects; | |
import java.util.Optional; | |
import java.util.function.BinaryOperator; | |
import java.util.function.Supplier; | |
/** | |
* Finds a certain customer in a collection of customers. |
package org.codefx.lab; | |
import java.util.Collection; | |
import java.util.List; | |
import java.util.Optional; | |
import java.util.function.Function; | |
import java.util.function.UnaryOperator; | |
import java.util.stream.Stream; | |
class Lab { |
<!-- executed during build --> | |
<plugin> | |
<artifactId>maven-dependency-plugin</artifactId> | |
<version><!-- currently 3.1.2 --></version> | |
<executions> | |
<execution> | |
<!-- with this ID, the command above picks up the config --> | |
<id>default-cli</id> | |
<!-- if `process-sources` doesn't match your needs --> | |
<phase>package</phase> |
Libraries, frameworks, and tools (IDEs, build tools) have widely varying support for the JPMS. I would like to create a model that makes it easy to judge a project for what it can and can't (yet) do - both for users and maintainers.
Conditions can usually be split into those for libraries/frameworks and those for tools, but that's not clear cut. Bytecode analysis tools, for example, may fall into both categories. So always look at both categories, and check which conditions apply to a given project.
This is work in progress - feedback welcome!