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

Commit 201cb26

Browse files
abrams27agluszakmagda-augex0nsgerardd33
authored
[release] 1.0.1 (#103)
* 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * >=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 <[email protected]> * Refactor build manager into several build managers commit 3fc3f66 Author: Andre Rocha <[email protected]> Date: Thu Apr 15 15:39:50 2021 +0000 Add no build flag to aspects commit 3364cd1 Author: Andre Rocha <[email protected]> Date: Thu Apr 15 12:29:16 2021 +0000 Add manager for aspects commit 935c5fc Author: Andre Rocha <[email protected]> Date: Wed Apr 14 12:00:30 2021 +0000 Update refactor according to new changes commit 936ac94 Author: Andre Rocha <[email protected]> Date: Mon Mar 22 18:05:17 2021 +0000 Refactor BazelBspServerBuildManager into several different services commit 4dd0b01 Author: Andre Rocha <[email protected]> Date: Fri Feb 26 15:46:40 2021 +0000 Get semantic version out of `bazel info release` command commit c594dc1 Author: Andre Rocha <[email protected]> Date: Tue Feb 16 16:43:52 2021 +0000 Fix test commit f931ccd Author: Andre Rocha <[email protected]> Date: Mon Feb 15 17:17:08 2021 +0000 Parse action graph v2 for bazel versions over 4.0.0 commit 5f8f55f Author: Abrams27 <[email protected]> Date: Sat Feb 6 21:53:54 2021 +0100 scalac classDirectory and classpath test update commit a2088c5 Author: Abrams27 <[email protected]> Date: Sat Jan 30 23:21:16 2021 +0100 buildifier commit 9dbb63c Author: Abrams27 <[email protected]> Date: Sat Jan 30 23:20:21 2021 +0100 reformat commit 57f6fa6 Author: Abrams27 <[email protected]> Date: Sat Jan 30 23:13:22 2021 +0100 javacopts test commit 26abd73 Author: Abrams27 <[email protected]> Date: Sat Jan 30 22:38:32 2021 +0100 scalacopts test commit c0591d0 Author: Andre Rocha <[email protected]> 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 <[email protected]> Date: Fri Apr 16 12:10:26 2021 +0000 Lazy vals recalculated on workspace reload commit 5ff6d62 Author: Andre Rocha <[email protected]> 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 <[email protected]> Date: Fri May 14 10:14:44 2021 +0000 Add cpp folder to tests commit 686b657 Merge: b0b06a3 5032915 Author: Andre Rocha <[email protected]> Date: Thu May 13 22:44:35 2021 +0000 Merge branch 'dev' into cpp-extension commit b0b06a3 Author: Andre Rocha <[email protected]> Date: Thu May 13 15:30:35 2021 +0000 Add cpp dependency commit b7cd44d Author: Andre Rocha <[email protected]> Date: Wed Apr 14 11:12:29 2021 +0000 Add more options to cpp target example commit 483d9fd Author: Andre Rocha <[email protected]> Date: Tue Apr 13 22:14:00 2021 +0000 Tests for cpp commit 73bc827 Author: Andre Rocha <[email protected]> Date: Thu Apr 8 18:11:36 2021 +0000 Updated cpp options command call commit dfa21f4 Author: Andre Rocha <[email protected]> Date: Wed Mar 17 19:01:18 2021 +0000 Add cpp extension method service commit 9fa25dd Author: Andre Rocha <[email protected]> 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 <[email protected]> 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 <[email protected]> Co-authored-by: Magdalena Augustyńska <[email protected]> Co-authored-by: ex0ns <[email protected]> Co-authored-by: Gerard Drozdz <[email protected]> Co-authored-by: André Rocha <[email protected]> Co-authored-by: Andre Rocha <[email protected]> Co-authored-by: Justin Kaeser <[email protected]>
1 parent b4fab2f commit 201cb26

File tree

237 files changed

+2316
-1507
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+2316
-1507
lines changed

.bazelignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
test-resources
1+
e2e/test-resources

.github/workflows/integration-test.yml

-19
This file was deleted.
+159
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
name: Integration tests
2+
3+
on:
4+
push:
5+
branches: [ dev, master ]
6+
pull_request:
7+
branches: [ dev, master ]
8+
9+
jobs:
10+
setup:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
- name: Set up JDK 1.8
15+
uses: actions/setup-java@v1
16+
with:
17+
java-version: 1.8
18+
- name: Cache bazel
19+
uses: actions/cache@v2
20+
env:
21+
cache-name: cache-bazel
22+
with:
23+
path: ~/.cache/bazel
24+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
25+
- name: Build installer
26+
run: bazel build //server/src/main/java/org/jetbrains/bsp/bazel:bsp-install
27+
28+
sample-repo-test:
29+
runs-on: ubuntu-latest
30+
needs: setup
31+
steps:
32+
- uses: actions/checkout@v2
33+
- name: Set up JDK 1.8
34+
uses: actions/setup-java@v1
35+
with:
36+
java-version: 1.8
37+
- name: Cache bazel
38+
uses: actions/cache@v2
39+
env:
40+
cache-name: cache-bazel
41+
with:
42+
path: ~/.cache/bazel
43+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
44+
- name: Run test
45+
run: bazel run //e2e:BazelBspSampleRepoTest
46+
47+
action-graph-V1-test:
48+
needs: setup
49+
runs-on: ubuntu-latest
50+
steps:
51+
- uses: actions/checkout@v2
52+
- name: Set up JDK 1.8
53+
uses: actions/setup-java@v1
54+
with:
55+
java-version: 1.8
56+
- name: Cache bazel
57+
uses: actions/cache@v2
58+
env:
59+
cache-name: cache-bazel
60+
with:
61+
path: ~/.cache/bazel
62+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
63+
- name: Run test
64+
run: bazel run //e2e:BazelBspActionGraphV1Test
65+
66+
action-graph-V2-test:
67+
runs-on: ubuntu-latest
68+
needs: setup
69+
steps:
70+
- uses: actions/checkout@v2
71+
- name: Set up JDK 1.8
72+
uses: actions/setup-java@v1
73+
with:
74+
java-version: 1.8
75+
- name: Cache bazel
76+
uses: actions/cache@v2
77+
env:
78+
cache-name: cache-bazel
79+
with:
80+
path: ~/.cache/bazel
81+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
82+
- name: Run test
83+
run: bazel run //e2e:BazelBspActionGraphV2Test
84+
85+
java-8-project-test:
86+
runs-on: ubuntu-latest
87+
needs: setup
88+
steps:
89+
- uses: actions/checkout@v2
90+
- name: Set up JDK 1.8
91+
uses: actions/setup-java@v1
92+
with:
93+
java-version: 1.8
94+
- name: Cache bazel
95+
uses: actions/cache@v2
96+
env:
97+
cache-name: cache-bazel
98+
with:
99+
path: ~/.cache/bazel
100+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
101+
- name: Run test
102+
run: bazel run //e2e:BazelBspJava8ProjectTest
103+
104+
java-11-project-test:
105+
runs-on: ubuntu-latest
106+
needs: setup
107+
steps:
108+
- uses: actions/checkout@v2
109+
- name: Set up JDK 1.8
110+
uses: actions/setup-java@v1
111+
with:
112+
java-version: 1.8
113+
- name: Cache bazel
114+
uses: actions/cache@v2
115+
env:
116+
cache-name: cache-bazel
117+
with:
118+
path: ~/.cache/bazel
119+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
120+
- name: Run test
121+
run: bazel run //e2e:BazelBspJava11ProjectTest
122+
123+
cpp-project-test:
124+
runs-on: ubuntu-latest
125+
needs: setup
126+
steps:
127+
- uses: actions/checkout@v2
128+
- name: Set up JDK 1.8
129+
uses: actions/setup-java@v1
130+
with:
131+
java-version: 1.8
132+
- name: Cache bazel
133+
uses: actions/cache@v2
134+
env:
135+
cache-name: cache-bazel
136+
with:
137+
path: ~/.cache/bazel
138+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
139+
- name: Run test
140+
run: bazel run //e2e:BazelBspCppProjectTest
141+
142+
entire-bazel-bsp-project-import-test:
143+
runs-on: ubuntu-latest
144+
needs: setup
145+
steps:
146+
- uses: actions/checkout@v2
147+
- name: Set up JDK 1.8
148+
uses: actions/setup-java@v1
149+
with:
150+
java-version: 1.8
151+
- name: Cache bazel
152+
uses: actions/cache@v2
153+
env:
154+
cache-name: cache-bazel
155+
with:
156+
path: ~/.cache/bazel
157+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.sha }}
158+
- name: Run test
159+
run: bazel run //e2e:BazelBspEntireRepositoryImportTest

.github/workflows/tests.yml

-19
This file was deleted.

.github/workflows/unit-tests.yml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Unit tests
2+
3+
on:
4+
push:
5+
branches: [ dev, master ]
6+
pull_request:
7+
branches: [ dev, master ]
8+
9+
jobs:
10+
bazelrunner-test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
- name: Set up JDK 1.8
15+
uses: actions/setup-java@v1
16+
with:
17+
java-version: 1.8
18+
- name: Run tests
19+
run: bazel test //bazelrunner/...
20+
21+
projectview-test:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: actions/checkout@v2
25+
- name: Set up JDK 1.8
26+
uses: actions/setup-java@v1
27+
with:
28+
java-version: 1.8
29+
- name: Run tests
30+
run: bazel test //projectview/...
31+
32+
server-test:
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v2
36+
- name: Set up JDK 1.8
37+
uses: actions/setup-java@v1
38+
with:
39+
java-version: 1.8
40+
- name: Run tests
41+
run: bazel test //server/...

.gitignore

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
/.bazelbsp/
2-
/.bsp/
3-
/.idea/
4-
/.ijwb/
5-
/bazel-*
1+
.bazelbsp/
2+
.bsp/
3+
.idea/
4+
.ijwb/
5+
bazel-*
66
.DS_Store
7-
test-resources/.bazelbsp/
8-
test-resources/.bsp/

CHANGELOG.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Changelog
2+
<!-- Keep a Changelog guide -> https://keepachangelog.com -->
3+
4+
## [Unreleased]
5+
6+
## [1.0.1] - 24.09.2021
7+
### Added
8+
- [This](CHANGELOG.md) changelog. | [#97](https://github.com/JetBrains/bazel-bsp/pull/97)
9+
10+
### Changed
11+
- 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)
12+
- Github actions e2e tests execution - e2e tests are executed in parallel. | [#84](https://github.com/JetBrains/bazel-bsp/pull/84)
13+
- Project structure - now it is multi module project. | [#87](https://github.com/JetBrains/bazel-bsp/pull/87)
14+
- Github actions unit tests execution - each module has a separate job. | [#89](https://github.com/JetBrains/bazel-bsp/pull/89)
15+
- Created [document](docs/BUMPVERSION.md) with release tips. | [#91](https://github.com/JetBrains/bazel-bsp/pull/91)
16+
17+
### Removed
18+
- Old implementation of e2e tests. | [#86](https://github.com/JetBrains/bazel-bsp/pull/86)
19+
20+
### Fixed
21+
- Warnings generated by the [WORKSPACE file](WORKSPACE). | [#81](https://github.com/JetBrains/bazel-bsp/pull/81)
22+
- Semantic versioning parser - now it can parse every valid version. | [#93](https://github.com/JetBrains/bazel-bsp/pull/93)
23+
- `exports` attribute propagation to the BSP | [#98](https://github.com/JetBrains/bazel-bsp/pull/98)
24+
- 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)
25+
26+
## [1.0.0] - 23.08.2021
27+
### Added
28+
- Everything...
29+
30+
31+
[Unreleased]: https://github.com/JetBrains/bazel-bsp/compare/1.0.1...HEAD
32+
[1.0.1]: https://github.com/JetBrains/bazel-bsp/compare/1.0.0...1.0.1
33+
[1.0.0]: https://github.com/JetBrains/bazel-bsp/releases/tag/1.0.0

README.md

+13-3
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Below is a list of languages supported over Bazel BSP and their implementation s
2626
1. Have [coursier](https://get-coursier.io/docs/cli-installation) installed
2727
2. Run in the directory where Bazel BSP should be installed:
2828
```
29-
cs launch org.jetbrains.bsp:bazel-bsp:1.0.0 -M org.jetbrains.bsp.bazel.install.Install
29+
cs launch org.jetbrains.bsp:bazel-bsp:1.0.1 -M org.jetbrains.bsp.bazel.install.Install
3030
```
3131
3. Add bsp generated folders to your `.gitignore`: `.bsp` and `.bazelbsp`
3232

@@ -39,10 +39,10 @@ Might be useful during development
3939
#### Using coursier
4040
1. Have [coursier](https://get-coursier.io/docs/cli-installation) installed
4141
2. Be inside this project
42-
3. Change project version - `maven_coordinates` attribute in the `src/main/java/org/jetbrains/bsp/bazel/BUILD` file
42+
3. Change project version - `maven_coordinates` attribute in the `server/src/main/java/org/jetbrains/bsp/bazel/BUILD` file
4343
4. Publish a new version:
4444
```
45-
bazel run --stamp --define "maven_repo=file://$HOME/.m2/repository" //src/main/java/org/jetbrains/bsp/bazel:bsp.publish
45+
bazel run --stamp --define "maven_repo=file://$HOME/.m2/repository" //server/src/main/java/org/jetbrains/bsp/bazel:bsp.publish
4646
```
4747
7. Enter directory where Bazel BSP should be installed
4848
8. Install your version:
@@ -57,6 +57,16 @@ In order to work on huge monorepos you might want to specify directories and tar
5757
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.
5858

5959

60+
## Tests
61+
### End-to-end tests
62+
`e2e` directory contains end-2-end tests that check various scenarios of server usage.
63+
- `bazel run //e2e:all` - to run all tests
64+
- `bazel run //e2e:<specific test>` - to run a specific test (to see all possible tests, check the `e2e/BUILD` file)
65+
66+
### Unit tests
67+
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.
68+
69+
6070
## Extending
6171
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.
6272

TODO

-9
This file was deleted.

0 commit comments

Comments
 (0)