Reason is that gofmt can change between versions e.g
see https://go-review.googlesource.com/c/go/+/122295/
and this would avoid breaking tests and edit wars
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
Sync \w Github Linguist v7.2.0
Includes new way of handling `heuristics.yml` and
all `./data/*` re-generated using Github Linguist [v7.2.0](https://github.com/github/linguist/releases/tag/v7.2.0)
release tag.
- many new languages
- better vendoring detection
- update doc on update&known issues.
Refactoring, consisting of
- remove unused method `isAuxiliaryLanguage` and `FileCountList`
in order to reduce public API surfaces (go/java)
- add GoDoc to public APIs
- ci: java profile use latest go src
It also now mimics https://docs.travis-ci.com/user/languages/go/#go-import-path
for non-go build image, as code relies on internal imports.
TEST PLAN:
- make test
Although this package is internal, it still exports an API and deserves some
comments. Serves in partial satisfaction of #195.
Signed-off-by: M. J. Fromberger <michael.j.fromberger@gmail.com>
Addresses #196. Several of the tokenizer's processing steps wind up editing the
source, and we don't want those changes to be observed by the caller, which may
use the source for other purposes afterward.
Signed-off-by: M. J. Fromberger <michael.j.fromberger@gmail.com>
At present this test fails, since the tokenizer replaces text in shared slices
of the input. A subsequent commit will fix that.
Signed-off-by: M. J. Fromberger <michael.j.fromberger@gmail.com>
The writeStringLn function repeats what fmt.Fprintln already does. Since this
package already imports fmt, removing it reduces mass.
Signed-off-by: M. J. Fromberger <michael.j.fromberger@gmail.com>
* exclude build artifacts from git
* build: simplify building by using src-d/ci
* bench: simplify&fix shell runners
* build: simplify benchmarks* targets
* test: remove dependency on single test suite
* doc: rel image link + linguist cli difference highlight
* suggestions from code review
* bench: add fail fast to all shell runners
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
Publishing jar relies on native lib artifacts beeing
published to GH release first, thus a separate stage
is needed to guarantee order.
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
Biggest benefit of using separate stage for tests and release
is that we are not waiting for osx VM instance instance any
more on every PR, just to run
`if [[ -z "$TRAVIS_TAG" ]]; then echo "Skipping this build for non-tag builds."; exit 0; fi`
there.
It alos adds clarity to CI structure => is easier to maintain.
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
gimme version on TravisCI is old, 1.2 and does not support .x resulting in
`I don't have any idea what to do with '1.10.x'
but it works on latest master https://github.com/travis-ci/gimme#asking-gimme-what-a-version-is
thus opting out in always running a latest gimme
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
Go 1.10 improved the way of passing strings between C and Go
with https://go-review.googlesource.com/c/go/+/70890
This change adapts API/helpers to a new convention,
without changing existing API surface and without benefiting
from a new way of passing strings.
Another, perferable on my readind of `go doc cgo`, but
more invasive approach would be to change ALL enry C API to
always return *C.char \w C.CString()
Signed-off-by: Alexander Bezzubov <bzz@apache.org>