Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pre-release] no more dev branch #148

Merged
merged 81 commits into from
Feb 15, 2022
Merged

[pre-release] no more dev branch #148

merged 81 commits into from
Feb 15, 2022

Conversation

abrams27
Copy link
Member

this PR just merges dev with master

agluszak and others added 30 commits November 8, 2020 17:49
* 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.

* 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
- 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
* 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

Add a optional parameters when starting a server to specify the target
that should be built.
… 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
* 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
* 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
* 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
* ActionGraphParser getInputs more optimal implementation

* typo in tests

* TargetsResolver -> TargetsLanguageOptionsResolver

* TargetsRulesResolver

* reformat

* TargetsRulesResolver -> TargetRulesResolver
* Added an aggregate build server implementation file for passing to the launcher

* Renamed the hub class

* Moved the hub class to server/bsp
* 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>
* 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 bazel runner

* format

* bazel runner doesnt throw an exception anymore
* 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
* bazel builder sync

* workspaceReload PoC

* bazel sync -> bazel fetch

* reformat
* 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
So apparently error-prone is built into Bazel and provides a check for wildcard imports.
http://errorprone.info/docs/installation
* filtering blank strings

* trim rollback

* isBlank -> isEmpty

* additional trim
* Add builder without mnemonics for build command

* Change valid parts of classpath parsing

* Switch bazel build calls to use withArguments
* 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>
* separate logs

* new logging levels

* appending logs
* 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>
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
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
abrams27 and others added 26 commits August 16, 2021 17:28
* projectview extraction

* commons extraction

* e2e visibility update

* bazelrunner extraction

* install extraction

* server extraction

* readme update
* README - tests section

* Create BUMPVERSION.md
* rolling release test

* regex update
* 1.0.0 changelog

* Update CHANGELOG.md
…ttribute (#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
* e2e test

* buildifier

* scala_specs2_junit_test should be included in model now

* buildifier

* test update

* Update CHANGELOG.md

* Update CHANGELOG.md

* format

* fix
* version bump

* changelog
One command that doesn't accept arguments at all (only flags) is `bazel clean`.
Allow running a Bazel command without [positional] arguments
* Better heuristics for guessing source roots

* refactoring

* formatting

* no recursion

* refactoring and test

* Refactoring and changelog

* more refactoring
Add JvmBuildServer implementation to fix running tests
Co-authored-by: Lukasz Wawrzyk <uwawrzyk@twitter.com>
Co-authored-by: Lukasz Wawrzyk <uwawrzyk@twitter.com>
* [fix] .bazelversion file

* [fix] changelog upadate
* Update README.md

* Integration tests badge

* format badge

* unit tests badge
* Filter out non runtime jars

* use aspect to get runtime classpath

* improve test framework
* project view parser major refactor

* bazel_path section

* i love java 11

* style

* buildifier

* style v2

* debugger_address section

* i love java 11 more

* debugger_address section part 2

* splitter tests update

* splitter test fix

* java_path section

* comments

* project view usages

* scala.md fix

* e2e test resources fix

* e2e test resources fix part 2

* [e2e] cleaning environment before installation

* tests update

* new mechanism usage

* fix

* visibility and toString() impl

* little test change

* style

* another little test fix

* targets visibility update

* i really love tests

* try > java exceptions

* builidier

* visibility update

* more visibility update

* format

* java docs

* compareByName -> hasName

* instanceOf -> getInstance

* split -> getRawSectionsForFileContent

* anoter -> another_

* list -> stream

* commons in ci

* getInstance -> createInstance

* readme update

* format

* Update CHANGELOG.md

* Update CHANGELOG.md

* targets validation out

* bazel in install update

* even more tests
* new FileDiagnostic

* new StderrDiagnosticsParser

* usages

* Update CHANGELOG.md
@abrams27 abrams27 changed the title [pre-release] preparation for the new release mechanism [pre-release] no more dev branch Feb 15, 2022
@abrams27 abrams27 merged commit 9ebca73 into master Feb 15, 2022
@abrams27 abrams27 deleted the dev branch February 16, 2022 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants