mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-11 03:13:38 +00:00
Removed planned extension 'make @SneakyThrows not runtime dependent on lombok.jar' as we've fixed that by now. Also documented the preferred git workflow for working on lombok.
This commit is contained in:
1 parent
95f73048ce
commit
aab3faa3cb
2 files changed
+24
-11
No files matched your search
@@ -129,17 +129,6 @@ The return type should probably be `Iterable<Integer>` instead, which would work
|
||||
bytecode rewrite based generators use a superclass type named 'Generator' and use this to support a method that returns X,
|
||||
but which when called from the outside returns Iterable<X>.
|
||||
|
||||
## @SneakyThrows
|
||||
|
||||
We currently generate:
|
||||
try { /* method body */ } catch ( SneakyThrownType t ) { throw Lombok.sneakyThrow(t); }
|
||||
|
||||
Which also means that usage of SneakyThrows creates a runtime dependency on lombok.jar. When lombok supports
|
||||
class file rewriting, we should replace the entire try statement with just 'method body' again, as the JVM
|
||||
does not care about checked exceptions. This also removes the runtime dependency.
|
||||
|
||||
SneakyThrows also needs to be extended to fields and local variable declarations (it would apply to the initialization).
|
||||
|
||||
## @Finalizer
|
||||
|
||||
Creates a new unique (serializable?) anonymous inner class based object that has a finalizer which will call the
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# git workflow for Project Lombok
|
||||
|
||||
public branch 'master' tracks major releases and should always be in an effectively working condition. It is updated only occasionally, and virtually always just points at a particularly stable point on the more dynamic 'develop' branch.
|
||||
|
||||
public branch 'develop' is still intended to run more or less stable, but is less tested and is what developers check completed features into.
|
||||
|
||||
Each version release is accompanied by a tag.
|
||||
|
||||
To develop a new feature, no matter how trivial:
|
||||
|
||||
git checkout develop # start from branch 'develop'
|
||||
git checkout -b fixFoobar # Create a new branch for yourself
|
||||
..... # write and commit stuff
|
||||
git checkout develop # go back to develop to update it
|
||||
git pull # update develop
|
||||
git checkout fixFoobar
|
||||
git rebase develop # Rewrite fixFoobar's history as if it was written according to latest 'develop' state.
|
||||
git checkout develop
|
||||
git merge fixFoobar # Update your version of 'develop' to include your fixes.
|
||||
git branch -d fixFoobar # delete your branch name
|
||||
git push # push changes up to github repo
|
||||
|
||||
Major features might be turned into public branches, and will be merged and not rebased.
|
||||
|
||||
Reference in new issue
Block a user