Implement Buck driven build
Today there are plenty of modern build tool systems available in the
wild (in no particular order):
* http://bazel.io
* https://pantsbuild.github.io
* http://shakebuild.com
* https://ninja-build.org
* https://buckbuild.com
The attributes, that all these build tools have in common, are:
* reliable
* correct
* very fast
* reproducible
It must not always be the other build tool, this project is currently
using. Or, quoting Gerrit Code Review maintainer here:
"Friends, don't let friends use <the other build tool system>!"
This change is non-complete implementation of JGit build in Buck,
needed by Gerrit Code Review to replace its dependency with standlone
JGit cell. This is very useful when a developer is working on both
projects and is trying to integrate changes made in JGit in Gerrit.
The supported workflow is:
$ cd jgit
$ emacs <hack>
$ cd ../gerrit
$ buck build --config repositories.jgit=../jgit gerrit
With --config repositories.jgit=../jgit jgit cell is routed through
JGit development tree.
To build jgit, issue:
$ buck build //:jgit
[-] PROCESSING BUCK FILES...FINISHED 0,0s
Yes, you can't measure no-op build time, given that Buck daemon is
used.
Change-Id: I301a71b19fba35a5093d8cc64d4ba970c2877a44
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
9 years ago
|
|
|
java_library(
|
|
|
|
name = 'jgit',
|
|
|
|
exported_deps = ['//org.eclipse.jgit:jgit'],
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
Implement Buck driven build
Today there are plenty of modern build tool systems available in the
wild (in no particular order):
* http://bazel.io
* https://pantsbuild.github.io
* http://shakebuild.com
* https://ninja-build.org
* https://buckbuild.com
The attributes, that all these build tools have in common, are:
* reliable
* correct
* very fast
* reproducible
It must not always be the other build tool, this project is currently
using. Or, quoting Gerrit Code Review maintainer here:
"Friends, don't let friends use <the other build tool system>!"
This change is non-complete implementation of JGit build in Buck,
needed by Gerrit Code Review to replace its dependency with standlone
JGit cell. This is very useful when a developer is working on both
projects and is trying to integrate changes made in JGit in Gerrit.
The supported workflow is:
$ cd jgit
$ emacs <hack>
$ cd ../gerrit
$ buck build --config repositories.jgit=../jgit gerrit
With --config repositories.jgit=../jgit jgit cell is routed through
JGit development tree.
To build jgit, issue:
$ buck build //:jgit
[-] PROCESSING BUCK FILES...FINISHED 0,0s
Yes, you can't measure no-op build time, given that Buck daemon is
used.
Change-Id: I301a71b19fba35a5093d8cc64d4ba970c2877a44
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
9 years ago
|
|
|
name = 'jgit_src',
|
|
|
|
cmd = 'ln -s $(location //org.eclipse.jgit:jgit_src) $OUT',
|
|
|
|
out = 'jgit_src.zip',
|
Implement Buck driven build
Today there are plenty of modern build tool systems available in the
wild (in no particular order):
* http://bazel.io
* https://pantsbuild.github.io
* http://shakebuild.com
* https://ninja-build.org
* https://buckbuild.com
The attributes, that all these build tools have in common, are:
* reliable
* correct
* very fast
* reproducible
It must not always be the other build tool, this project is currently
using. Or, quoting Gerrit Code Review maintainer here:
"Friends, don't let friends use <the other build tool system>!"
This change is non-complete implementation of JGit build in Buck,
needed by Gerrit Code Review to replace its dependency with standlone
JGit cell. This is very useful when a developer is working on both
projects and is trying to integrate changes made in JGit in Gerrit.
The supported workflow is:
$ cd jgit
$ emacs <hack>
$ cd ../gerrit
$ buck build --config repositories.jgit=../jgit gerrit
With --config repositories.jgit=../jgit jgit cell is routed through
JGit development tree.
To build jgit, issue:
$ buck build //:jgit
[-] PROCESSING BUCK FILES...FINISHED 0,0s
Yes, you can't measure no-op build time, given that Buck daemon is
used.
Change-Id: I301a71b19fba35a5093d8cc64d4ba970c2877a44
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
9 years ago
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
java_library(
|
|
|
|
name = 'jgit-servlet',
|
|
|
|
exported_deps = [
|
|
|
|
':jgit',
|
|
|
|
'//org.eclipse.jgit.http.server:jgit-servlet'
|
|
|
|
],
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
java_library(
|
|
|
|
name = 'jgit-archive',
|
|
|
|
exported_deps = [
|
|
|
|
':jgit',
|
|
|
|
'//org.eclipse.jgit.archive:jgit-archive'
|
|
|
|
],
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
java_library(
|
|
|
|
name = 'jgit-lfs',
|
|
|
|
exported_deps = [
|
|
|
|
':jgit',
|
|
|
|
'//org.eclipse.jgit.lfs:jgit-lfs'
|
|
|
|
],
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
|
|
|
name = 'jgit-lfs_src',
|
|
|
|
cmd = 'ln -s $(location //org.eclipse.jgit.lfs:jgit-lfs_src) $OUT',
|
|
|
|
out = 'jgit-lfs_src.zip',
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
java_library(
|
|
|
|
name = 'jgit-lfs-server',
|
|
|
|
exported_deps = [
|
|
|
|
':jgit',
|
|
|
|
':jgit-lfs',
|
|
|
|
'//org.eclipse.jgit.lfs.server:jgit-lfs-server'
|
|
|
|
],
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
|
|
|
name = 'jgit-lfs-server_src',
|
|
|
|
cmd = 'ln -s $(location //org.eclipse.jgit.lfs.server:jgit-lfs-server_src) $OUT',
|
|
|
|
out = 'jgit-lfs-server_src.zip',
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
Implement Buck driven build
Today there are plenty of modern build tool systems available in the
wild (in no particular order):
* http://bazel.io
* https://pantsbuild.github.io
* http://shakebuild.com
* https://ninja-build.org
* https://buckbuild.com
The attributes, that all these build tools have in common, are:
* reliable
* correct
* very fast
* reproducible
It must not always be the other build tool, this project is currently
using. Or, quoting Gerrit Code Review maintainer here:
"Friends, don't let friends use <the other build tool system>!"
This change is non-complete implementation of JGit build in Buck,
needed by Gerrit Code Review to replace its dependency with standlone
JGit cell. This is very useful when a developer is working on both
projects and is trying to integrate changes made in JGit in Gerrit.
The supported workflow is:
$ cd jgit
$ emacs <hack>
$ cd ../gerrit
$ buck build --config repositories.jgit=../jgit gerrit
With --config repositories.jgit=../jgit jgit cell is routed through
JGit development tree.
To build jgit, issue:
$ buck build //:jgit
[-] PROCESSING BUCK FILES...FINISHED 0,0s
Yes, you can't measure no-op build time, given that Buck daemon is
used.
Change-Id: I301a71b19fba35a5093d8cc64d4ba970c2877a44
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
9 years ago
|
|
|
java_library(
|
|
|
|
name = 'junit',
|
|
|
|
exported_deps = [
|
|
|
|
':jgit',
|
|
|
|
'//org.eclipse.jgit.junit:junit'
|
|
|
|
],
|
|
|
|
visibility = ['PUBLIC'],
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
|
|
|
name = 'jgit_bin',
|
|
|
|
cmd = 'ln -s $(location //org.eclipse.jgit.pgm:jgit) $OUT',
|
|
|
|
out = 'jgit_bin',
|
|
|
|
)
|