Skip to content
This repository has been archived by the owner on Aug 5, 2024. It is now read-only.

Commit

Permalink
[release] 1.0.1 (#103)
Browse files Browse the repository at this point in the history
* Change project structure (#12)

* [1 - Initial code refactor] basic classes extraction (#13)

* proces lock is a semaphore

* process start methods moved to the new class

* Build.Query moved to class

* targets options moved to the class

* action graph parser moved to the class

* getMnemonics moved to the class

* packages rearrangement

* scala sbt server moved to the class

* java sbt server moved to the class

* buildClientLogger + methods bodies moved uder calls

* brackets in ifs

* rebase

* proper enterprise package structure

* BUILD files in subpackages

* packages without java prefix

* logger todo

* imports are sorted

* Configure CI. (#16)

* Configure CI.

* Change job name.

* Add ls.

* Update java.ci.yml

* Update java.ci.yml

* Update java.ci.yml

* Fix test.sh

* Comment out tests.

* Update java.ci.yml

* Update test.sh

* Revert comment

* Uncomment one test

* Uncomment more tests

* Comment test

* Uniform commenting

* Uncomment one test

* Uncomment one test

* Uncomment one test

* Uncomment one test

* Uncomment one test

* Uncomment one test

* Uncomment one test

* Update BazelBspServerTest.java

* Add master

* Uncomment tests

* Increase time limit of tests

* Increase time limit of tests

* Remove master

* Increase time limit of tests

* Increase time limit of one test

* Decrease total time

* Add master

* Refactor pt 2 (#18)

- Introduced `BazelRunner` class which is fully responsible for starting processes, awaiting them and gathering results
- Moved synchronized `get<BazelData>` methods to `BazelDataResolver`. They are no longer required to be synchronized, as all the required data is fetched in the constructor of `BazelBspServer`
- Removed checked exceptions in many places and the need for try-to-rethrow
- Removed `Either`s in many places where they were no longer needed
- Corrected several minor issues (`setBackendPort` appending to a constant, `convertExitCode` not using enum names)

* Add a CI job for formatting (#20)

Add a CI job for formatting

* Test refactor (#19)

* data moved to the separete class

* runner extraction + additional methods extraction

* workspace field is now in data class + constructor argument removal

* timeouts moved to the data class

* methods refactor

* .test.sh update

* logger

* test logs

* one more log

* minor reformat

* lombok dep removal

* code reformat

* buildifier

* fix

* [configuration] Optional argument on server startup (#15)

* [configuration] Optional argument on server startup

Add a optional parameters when starting a server to specify the target
that should be built.

* BEP Server refactor (#21)

* Separating interface implementations and general dependency structure refactor (#24)

* Extracted ScalaBuildServer implementation

* Extracted JavaBuildServer implementation, both classes now implement proper interfaces

* Extracted BuildServer endpoints, very tentatively (previous problems with it)

* Extracted BuildServer implementation more properly

* Tidied up initialized/finished methods + other smaller

* Extracted several things to ParsingUtils and Constants

* Extracted BazelBspServerLifetime and BazelBspRequestHelpers, Java- and ScalaBuildServer classes now not dependent on BazelBspServer

* Added server config, Bazel runner and Bazel data dependencies to the server implementation

* Adjusted BazelData dependencies

* Extracted ServerBuildManager

* Hotfix of the cyclical dependency, to improve iteratively

* Moved part of the BSP integration in Server to the BazelBspServer constructor

* Added further parts to the constructor integration

* Removed cyclical dependency between BuildManager and BuildServerImpl

* Started removing cyclical dependency between BazelBspServer and BepServer: BazelData passed in the constructor

* Resolved cyclical dependency between BuildManager and BepServer

* Cleaned up in BazelBspServer

* Simplified the constructor, moved away logic

* General cleanup

* Extracted suppliers from interface methods in BuildServerImpl

* Added build server implementations as fields

* Prepared for interface and service separation

* Separated BuildServer logic from interface implementation

* Separated logic from interface implementation for Scala and Java BuildServers

* Extracted BEP package

* Created new packages and grouped the files + small style improvements

* Minor style corrections

* Renamed Server.java, imported io.grpc.Server

* Corrections after review

* Naming and packaging changes

* Formatting fix

* Formatting fix

* bazel runner refactor (#23)

* package update

* BazelRunner logs + minor change

* ExitCodeMapper

* runBazelCommandBes update

* BazelRunnerUpdate v2

* BazelTestRunner

* BazelCleanRunner

* BazelRunRunner

* BazelBuildRunner

* BazelInfoRunner

* BazelActionGraphQueryRunner

* BazelQueryRunner

* renames

* bazel runner builder

* packages update

* QueryResolver update

* code reformat

* buldifier

* targets fix

* format fix

* format fix

* format fix v2

* format fix v3

* format fix v4

* rebase

* review fix

* reformat

* test fix

* query kind param

* reformat

* review fix

* reformat

* packages rename

* runner lists creation update

* refactor

* common -> commons

* resolver -> resolvers

* service -> services

* util -> utils

* Packages rearrange + Utils refactor (#30)

* local services setter update

* .../impl -> .../bsp/impl

* .../services -> .../bsp/services

* ClasspathParser

* StderrDiagnosticsParser

* cleanup

* BazelBspServerTestData rollback

* .../resolvers -> .../bsp/resolvers

* reformat

* ActionGraphParser moved to resolvers

* ParsingUtils update

* reformat

* flag fix

* review fix

* setLocalService rollback

* reviw fix

* getRuleType rollback

* rename

* [Post BazelBuilder refactor part 1] TargetsResolver update (#33)

* BuildClientLogger does NOT throw an exception

* BuildClientLogger moved to bep package

* TargetsUtils now maps targets to uris

* .../resolvers/targets package

* Scala/JavaBuildServerService constructor update

* TargetsResolver constructor update

* TargetsResolver builder

* TargetsResolver refactor

* targets package removal

* reformat

* review fixes

* unused import + targetsResolver constructor visibility

* [Post BazelBuilder refactor part 2] TargetsRuleResolver (#34)

* ActionGraphParser getInputs more optimal implementation

* typo in tests

* TargetsResolver -> TargetsLanguageOptionsResolver

* TargetsRulesResolver

* reformat

* TargetsRulesResolver -> TargetRulesResolver

* Solving problems with Scala- and Java-specific endpoints (#32)

* Added an aggregate build server implementation file for passing to the launcher

* Renamed the hub class

* Moved the hub class to server/bsp

* buildTargetScalaTestClasses implementation  (#35)

* method signature update

* poc

* logic implementation

* getSrcsPaths signature rollback

* reformat

* Apply suggestions from code review

Co-authored-by: Magdalena Augustyńska <32980499+magda-aug@users.noreply.github.com>

* rules filter update

* main_class is the only source + constants update

* targets resolver is created only once in constructor

* reformat

* hasGivenName

* test

* test fix

* reformat

* success typo

Co-authored-by: Magdalena Augustyńska <32980499+magda-aug@users.noreply.github.com>

* Implement buildTargetScalaMainClasses (#36)

* Init

* Fix resolving target options

* Fix variable name

* Change access

* Fix formatting

* Fix formatting

* Read arguments

* Upgrade bsp-testkit

* Add empty test

* Fix formatting

* Move constants

* Fix

* Add more data to test

* Add package name

* Move targetRulesResolver to constructor

* return Completable Future instead of null

* Extract method

* Extract isAttributeSpecifiedAndHasGivenName

* Call buildServerImpl

* Pass compiler options and args to test

* Fix tests

* Fix tests

* Add more args to test

* Read also jvm flags

* Move to constants

* Read only jvm flags

* fix formatting

* unify naming

* use helper method

* remove duplicate methods

* Add more test cases

* revert

* Add test case

* target without args test case

* increase timeout

* add test case without jvm flags

* increase timeout

* increase timeout

* buildClient is now used in the bazel runner (#41)

* buildClient is now used in bazel runner

* format

* bazel runner doesnt throw an exception anymore

* javacoptions and scalacoptions tests (#37)

* scalacopts test

* javacopts test

* reformat

* buildifier

* java_binary import

* test fix

* testkit vestion bump + test fix

* more descriptive targets names

* scalac classDirectory and classpath test update

* .bazelversion file

* __main__/bazel-out/darwin-fastbuild/ removal

* workspaceReload implementation (#38)

* bazel builder sync

* workspaceReload PoC

* bazel sync -> bazel fetch

* reformat

* dev branch import fix (#46)

* executeBazelCommand -> executeBazelBesCommand

* bazel call

* bazel args checker removal

* bazel info update

* log update

* log config

* log level update

* config fix

* log fix

* fix

* log

* more logging

* XDXD

* LOL2

* bazel runner update

* reformat

* initializer clean up

* reformat

* exit code to constant

* date in logger

* bazelProcess moved to the bazel package

* refomat

* Prohibit wildcard imports using error-prone (#45)

So apparently error-prone is built into Bazel and provides a check for wildcard imports.
http://errorprone.info/docs/installation

* script for building and running server (#47)

* filtering blank strings from build progress logs (#50)

* filtering blank strings

* trim rollback

* isBlank -> isEmpty

* additional trim

* Fix build calls and outgroup groups interpretation (#49)

* Add builder without mnemonics for build command

* Change valid parts of classpath parsing

* Switch bazel build calls to use withArguments

* Action graph parser v2 (#42)

* scalacopts test

* javacopts test

* reformat

* buildifier

* scalac classDirectory and classpath test update

* Parse action graph v2 for bazel versions over 4.0.0

* Fix test

* Add tests for different bazel versions

* Comparison of semantic versions

* Format

* Get semantic version out of `bazel info release` command

* Extract action graph v1 tests

* Action graph parser method reorder

* Explicitly get semantic version parts

* Remove redundant return

* Refactor action graph parsers

* Remove logs for creation of test clients

* Refactor semantic version comparator

* Remove comment from .bazelignore

* Cleanup semantic version

* Streamify depset expansion to artifacts

* Remove default visibility from new concat method for strings

* Fix depset expansion when common nodes are traversed

* semantic version comparator is now static

* Improve readability of action graph parser

* Change test logging

* Remove wildcard imports

Co-authored-by: Abrams27 <abramowiczmarcin99@gmail.com>

* >=info logs are separate now (#51)

* separate logs

* new logging levels

* appending logs

* Get jdk info (#43)

* scalacopts test

* javacopts test

* reformat

* buildifier

* scalac classDirectory and classpath test update

* Parse action graph v2 for bazel versions over 4.0.0

* Fix test

* Add tests for different bazel versions

* Comparison of semantic versions

* Format

* Get semantic version out of `bazel info release` command

* Extract action graph v1 tests

* Action graph parser method reorder

* Explicitly get semantic version parts

* Remove redundant return

* Refactor action graph parsers

* Remove logs for creation of test clients

* Refactor semantic version comparator

* Remove comment from .bazelignore

* Cleanup semantic version

* Streamify depset expansion to artifacts

* Remove default visibility from new concat method for strings

* Fix depset expansion when common nodes are traversed

* semantic version comparator is now static

* Improve readability of action graph parser

* Change test logging

* Remove wildcard imports

* Get java home from default settings

* Get java version from aspect

* Get java version through aspect

* Refactor jvm build target data fetching

* Refactor jvm build target logic

* Map java home to uri

* Add java projects tests

* Remove ignored files

* Format

* Remove action graph logs

* Add new project directories to tests script

* Update BSP dependency

Co-authored-by: Abrams27 <abramowiczmarcin99@gmail.com>

* Refactor build manager into several build managers

commit 3fc3f66
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Thu Apr 15 15:39:50 2021 +0000

    Add no build flag to aspects

commit 3364cd1
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Thu Apr 15 12:29:16 2021 +0000

    Add manager for aspects

commit 935c5fc
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Wed Apr 14 12:00:30 2021 +0000

    Update refactor according to new changes

commit 936ac94
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Mon Mar 22 18:05:17 2021 +0000

    Refactor BazelBspServerBuildManager into several different services

commit 4dd0b01
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Fri Feb 26 15:46:40 2021 +0000

    Get semantic version out of `bazel info release` command

commit c594dc1
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Tue Feb 16 16:43:52 2021 +0000

    Fix test

commit f931ccd
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Mon Feb 15 17:17:08 2021 +0000

    Parse action graph v2 for bazel versions over 4.0.0

commit 5f8f55f
Author: Abrams27 <abramowiczmarcin99@gmail.com>
Date:   Sat Feb 6 21:53:54 2021 +0100

    scalac classDirectory and classpath test update

commit a2088c5
Author: Abrams27 <abramowiczmarcin99@gmail.com>
Date:   Sat Jan 30 23:21:16 2021 +0100

    buildifier

commit 9dbb63c
Author: Abrams27 <abramowiczmarcin99@gmail.com>
Date:   Sat Jan 30 23:20:21 2021 +0100

    reformat

commit 57f6fa6
Author: Abrams27 <abramowiczmarcin99@gmail.com>
Date:   Sat Jan 30 23:13:22 2021 +0100

    javacopts test

commit 26abd73
Author: Abrams27 <abramowiczmarcin99@gmail.com>
Date:   Sat Jan 30 22:38:32 2021 +0100

    scalacopts test

commit c0591d0
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Tue Mar 23 19:47:12 2021 +0000

    Add builder without mnemonics for build command

* Add lazy variables

Squashed commits of the following:

commit 3c83a38
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Fri Apr 16 12:10:26 2021 +0000

    Lazy vals recalculated on workspace reload

commit 5ff6d62
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Thu Apr 15 23:15:28 2021 +0000

    Add lazy vals for complicated calculations

* add Apache 2 license and badges

* Entire repository import test (#53)

* testkit version bump

* test

* todo

* style

* style v2

* ci fix 1

* ci fix

* variable update + gitignore update

* Add cpp support to packages:

commit c8c38f8
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Fri May 14 10:14:44 2021 +0000

    Add cpp folder to tests

commit 686b657
Merge: b0b06a3 5032915
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Thu May 13 22:44:35 2021 +0000

    Merge branch 'dev' into cpp-extension

commit b0b06a3
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Thu May 13 15:30:35 2021 +0000

    Add cpp dependency

commit b7cd44d
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Wed Apr 14 11:12:29 2021 +0000

    Add more options to cpp target example

commit 483d9fd
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Tue Apr 13 22:14:00 2021 +0000

    Tests for cpp

commit 73bc827
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Thu Apr 8 18:11:36 2021 +0000

    Updated cpp options command call

commit dfa21f4
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Wed Mar 17 19:01:18 2021 +0000

    Add cpp extension method service

commit 9fa25dd
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Tue Mar 16 18:48:17 2021 +0000

    Add cpp build target

* Remove java 11 methods

* Squashed commit of the following:

commit a9bac73
Author: Andre Rocha <andrefmrocha@live.com.pt>
Date:   Tue May 25 22:32:53 2021 +0000

    Add bazel-sonatype dependency

* Update scala repository checksums

* ProjectView files parser implementation (#55)

* ProjectView files parser implementation

* code reformat

* buildifier

* ci tests

* character variable extraction

* reading test config from file

* java docs

* parse default method

* google format

* google format v2

* PoC: First, very very very basic projectview usage (#57)

* reading file

* projecview provider

* projectview provider usage

* logic

* deps

* fix

* buildifier

* google format

* config removal

* google format v2

* test fix

* google format v3

* kind moved to utils

* config rollback

* fix

* Guarantee deps are built before finishing import. (#56)

* Guarantee deps are built before finishing import.

Dependencies must be fully build in order to guarantee the dependencies are all present for indexing.

* Increase tests timeout

* Refactor BazelBspCompilationManager for more readability

* Refactor targets union to TargetsUtils

* [Projectview] import support (#58)

* DirectoriesSectionParserTest tests rename

* TargetsSectionParserTest tests rename

* ProjectViewParserImplTest tests rename

* ProjectViewSectionSplitterTest tests rename

* import test

* splitter test update

* ProjectImportParser

* merge

* parser + test adjustment

* buildifier

* format

* format v2

* format v3

* format v4

* format v5

* format v6

* format v7

* format v8

* Update README.md

* Update README.md

* [fix] projectview - tab symbol parsing  (#66)

* tabs fix + test

* tests update

* google style

* google style v2

* [fix] Semantic version - more generic support (#68)

* tests

* homebrew version test

* impl fix

* google style

* [fix] 'Loading: 0 packages loaded' message prohibition (#71)

[fix] 'Loading: 0 packages loaded' message prohibition

* [fix] java 8 feature fix (#73)

* installation process simplification (#76)

* depdendencies update

* install script update

* instalation location

* Update README.md

* Update README.md

* Update README.md

* version bump

* RC1 version

* [fix] bazel WORKSPACE warnings fix (#81)

* sha update

* workspace update

* 404 fix?

* main/src ... removal (#82)

* [change] Integration tests upgrade (#83)

* test resources -> e2e

* .bazelignore update

* sample repo new test

* style + buildifier

* sample repo bash runner

* BazelBspActionGraphV1Test test

* style

* BazelBspActionGraphV2Test + build files update

* BazelBspJava11ProjectTest

* BazelBspJava8ProjectTest

* BazelBspEntireRepositoryImportTest + style

* BazelBspCppProjectTest

* e2e:all

* buildifier

* [change] e2e tests CI update (#84)

* ci update

* test scrip fix

* shared cache

* old tests removal (#86)

* [change] multimode project (#87)

* projectview extraction

* commons extraction

* e2e visibility update

* bazelrunner extraction

* install extraction

* server extraction

* readme update

* [change] unit tests ci update (#89)

* [change] docs update (#91)

* README - tests section

* Create BUMPVERSION.md

* [fix] Semantic Versioning regex update (#93)

* rolling release test

* regex update

* [added] changelog (#97)

* 1.0.0 changelog

* Update CHANGELOG.md

* [fixed] targets from `exports` attribute are passed to the BSP deps attribute (#98)

* daemon typo fix

* test update + fix

* BuildRuleAttributeExtractor

* BazelBspQueryManager update

* ScalaBuildServerService update

* build fix

* TargetsLanguageOptionsResolver update

* google format

* ci update

* google format

* google style

* .getExplicitlySpecified

* google style

* Update CHANGELOG.md

* Update CHANGELOG.md

* [fixed] scala test rules include `scala_specs2_junit_test` (#101)

* e2e test

* buildifier

* scala_specs2_junit_test should be included in model now

* buildifier

* test update

* Update CHANGELOG.md

* Update CHANGELOG.md

* format

* fix

* [release-preparation] 1.0.1 (#102)

* version bump

* changelog

* [release-preparation] cleanup

* [release-preparation] final cleanup

Co-authored-by: Andrzej Głuszak <gluszak.andrzej@gmail.com>
Co-authored-by: Magdalena Augustyńska <32980499+magda-aug@users.noreply.github.com>
Co-authored-by: ex0ns <ex0ns@users.noreply.github.com>
Co-authored-by: Gerard Drozdz <gerardd@interia.pl>
Co-authored-by: André Rocha <andre.rocha@jetbrains.com>
Co-authored-by: Andre Rocha <andrefmrocha@live.com.pt>
Co-authored-by: Justin Kaeser <justin.kaeser@jetbrains.com>
  • Loading branch information
8 people committed Sep 27, 2021
1 parent b4fab2f commit 201cb26
Show file tree
Hide file tree
Showing 237 changed files with 2,316 additions and 1,507 deletions.
2 changes: 1 addition & 1 deletion .bazelignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
test-resources
e2e/test-resources
19 changes: 0 additions & 19 deletions .github/workflows/integration-test.yml

This file was deleted.

159 changes: 159 additions & 0 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
name: Integration tests

on:
push:
branches: [ dev, master ]
pull_request:
branches: [ dev, master ]

jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Build installer
run: bazel build //server/src/main/java/org/jetbrains/bsp/bazel:bsp-install

sample-repo-test:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Run test
run: bazel run //e2e:BazelBspSampleRepoTest

action-graph-V1-test:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Run test
run: bazel run //e2e:BazelBspActionGraphV1Test

action-graph-V2-test:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Run test
run: bazel run //e2e:BazelBspActionGraphV2Test

java-8-project-test:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Run test
run: bazel run //e2e:BazelBspJava8ProjectTest

java-11-project-test:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Run test
run: bazel run //e2e:BazelBspJava11ProjectTest

cpp-project-test:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Run test
run: bazel run //e2e:BazelBspCppProjectTest

entire-bazel-bsp-project-import-test:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache bazel
uses: actions/cache@v2
env:
cache-name: cache-bazel
with:
path: ~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
- name: Run test
run: bazel run //e2e:BazelBspEntireRepositoryImportTest
19 changes: 0 additions & 19 deletions .github/workflows/tests.yml

This file was deleted.

41 changes: 41 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Unit tests

on:
push:
branches: [ dev, master ]
pull_request:
branches: [ dev, master ]

jobs:
bazelrunner-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Run tests
run: bazel test //bazelrunner/...

projectview-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Run tests
run: bazel test //projectview/...

server-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Run tests
run: bazel test //server/...
12 changes: 5 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
/.bazelbsp/
/.bsp/
/.idea/
/.ijwb/
/bazel-*
.bazelbsp/
.bsp/
.idea/
.ijwb/
bazel-*
.DS_Store
test-resources/.bazelbsp/
test-resources/.bsp/
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Changelog
<!-- Keep a Changelog guide -> https://keepachangelog.com -->

## [Unreleased]

## [1.0.1] - 24.09.2021
### Added
- [This](CHANGELOG.md) changelog. | [#97](https://github.com/JetBrains/bazel-bsp/pull/97)

### Changed
- Implementation of e2e tests. Have been moved to the `e2e` module and are now based on execution scenarios. | [#83](https://github.com/JetBrains/bazel-bsp/pull/83)
- Github actions e2e tests execution - e2e tests are executed in parallel. | [#84](https://github.com/JetBrains/bazel-bsp/pull/84)
- Project structure - now it is multi module project. | [#87](https://github.com/JetBrains/bazel-bsp/pull/87)
- Github actions unit tests execution - each module has a separate job. | [#89](https://github.com/JetBrains/bazel-bsp/pull/89)
- Created [document](docs/BUMPVERSION.md) with release tips. | [#91](https://github.com/JetBrains/bazel-bsp/pull/91)

### Removed
- Old implementation of e2e tests. | [#86](https://github.com/JetBrains/bazel-bsp/pull/86)

### Fixed
- Warnings generated by the [WORKSPACE file](WORKSPACE). | [#81](https://github.com/JetBrains/bazel-bsp/pull/81)
- Semantic versioning parser - now it can parse every valid version. | [#93](https://github.com/JetBrains/bazel-bsp/pull/93)
- `exports` attribute propagation to the BSP | [#98](https://github.com/JetBrains/bazel-bsp/pull/98)
- Now all `scala_junit_test` based rules (including `scala_specs2_junit_test`) are included in the BSP tests, unfortunately without test classes. | [#101](https://github.com/JetBrains/bazel-bsp/pull/101)

## [1.0.0] - 23.08.2021
### Added
- Everything...


[Unreleased]: https://github.com/JetBrains/bazel-bsp/compare/1.0.1...HEAD
[1.0.1]: https://github.com/JetBrains/bazel-bsp/compare/1.0.0...1.0.1
[1.0.0]: https://github.com/JetBrains/bazel-bsp/releases/tag/1.0.0
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Below is a list of languages supported over Bazel BSP and their implementation s
1. Have [coursier](https://get-coursier.io/docs/cli-installation) installed
2. Run in the directory where Bazel BSP should be installed:
```
cs launch org.jetbrains.bsp:bazel-bsp:1.0.0 -M org.jetbrains.bsp.bazel.install.Install
cs launch org.jetbrains.bsp:bazel-bsp:1.0.1 -M org.jetbrains.bsp.bazel.install.Install
```
3. Add bsp generated folders to your `.gitignore`: `.bsp` and `.bazelbsp`

Expand All @@ -39,10 +39,10 @@ Might be useful during development
#### Using coursier
1. Have [coursier](https://get-coursier.io/docs/cli-installation) installed
2. Be inside this project
3. Change project version - `maven_coordinates` attribute in the `src/main/java/org/jetbrains/bsp/bazel/BUILD` file
3. Change project version - `maven_coordinates` attribute in the `server/src/main/java/org/jetbrains/bsp/bazel/BUILD` file
4. Publish a new version:
```
bazel run --stamp --define "maven_repo=file://$HOME/.m2/repository" //src/main/java/org/jetbrains/bsp/bazel:bsp.publish
bazel run --stamp --define "maven_repo=file://$HOME/.m2/repository" //server/src/main/java/org/jetbrains/bsp/bazel:bsp.publish
```
7. Enter directory where Bazel BSP should be installed
8. Install your version:
Expand All @@ -57,6 +57,16 @@ In order to work on huge monorepos you might want to specify directories and tar
Simply create a `projectview.bazelproject` file, specify rules inside and run the server. If no such files will be found, by default entire project will be loaded.


## Tests
### End-to-end tests
`e2e` directory contains end-2-end tests that check various scenarios of server usage.
- `bazel run //e2e:all` - to run all tests
- `bazel run //e2e:<specific test>` - to run a specific test (to see all possible tests, check the `e2e/BUILD` file)

### Unit tests
Most modules also have unit tests that can be run using `bazel test //<module>/...` or just `bazel test //...` to run all tests in the project.


## Extending
In order to extend BSP server to other languages, make sure it can be supported with the current state of the [BSP Protocol](https://github.com/build-server-protocol/build-server-protocol/tree/master/docs). Also, make sure there's a [client](https://build-server-protocol.github.io/docs/implementations.html#build-clients), that will be able to support those changes.

Expand Down
9 changes: 0 additions & 9 deletions TODO

This file was deleted.

Loading

0 comments on commit 201cb26

Please sign in to comment.