A compilation of all the links to slides and repositories used in workshops or shown by the speakers.
| import java.lang.invoke.MethodHandles; | |
| import java.lang.invoke.MethodType; | |
| public class Hello { | |
| private static final MethodHandles.Lookup lookup = MethodHandles.lookup(); | |
| public static void main(String[] args) throws Throwable { | |
| System.out.println("Hello, " + args[0]); | |
| } |
This method avoids merge conflicts if you have periodically pulled master into your branch. It also gives you the opportunity to squash into more than 1 commit, or to re-arrange your code into completely different commits (e.g. if you ended up working on three different features but the commits were not consecutive).
Note: You cannot use this method if you intend to open a pull request to merge your feature branch. This method requires committing directly to master.
Switch to the master branch and make sure you are up to date:
| // .... | |
| def compilerConfig = new CompilerConfiguration() | |
| compilerConfig.optimizationOptions.indy = true | |
| def shell = new GroovyShell(compilerConfig) |
Locate the section for your github remote in the .git/config file. It looks like this:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:joyent/node.git
Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/* to this section. Obviously, change the github url to match your project's URL. It ends up looking like this:
| package indy; | |
| import java.lang.invoke.CallSite; | |
| import java.lang.invoke.ConstantCallSite; | |
| import java.lang.invoke.MethodHandle; | |
| import java.lang.invoke.MethodHandles; | |
| import java.lang.invoke.MethodType; | |
| import java.lang.reflect.Constructor; | |
| import org.objectweb.asm.ClassWriter; |
| public class Base64 | |
| { | |
| public static String encode(byte[] data) | |
| { | |
| char[] tbl = { | |
| 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P', | |
| 'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f', | |
| 'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v', | |
| 'w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/' }; |