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

Adds support to compile using kotlin abi and java ijars. #294

Merged
merged 14 commits into from
May 16, 2020

Conversation

restingbull
Copy link
Collaborator

No description provided.

@restingbull restingbull added status: in review Solution being reviewed type: cleanup Refactorings, idiomatic transforms, tech debt payoff type: performance Performance improvement labels Feb 28, 2020
@restingbull restingbull force-pushed the abi branch 2 times, most recently from c183367 to f0ff3ab Compare March 6, 2020 03:22
@cgruber
Copy link
Collaborator

cgruber commented Mar 12, 2020

I take it we're pausing this until we get resolution on the bugs in the ABI plugin? Can you update this bug with whatever things are blocking it please, @restingbull, and update its status?

@cgruber cgruber added the P1 label Mar 12, 2020
@restingbull
Copy link
Collaborator Author

I take it we're pausing this until we get resolution on the bugs in the ABI plugin? Can you update this bug with whatever things are blocking it please, @restingbull, and update its status?

Actually, no. It's behind a flag. The pull is fine, and experimental feature could benefit from more eyes.

@restingbull restingbull reopened this Mar 17, 2020
@restingbull restingbull force-pushed the abi branch 3 times, most recently from b30e9f8 to b8e11fc Compare March 17, 2020 03:25
Corbin Smith added 11 commits May 9, 2020 13:47
…t the contract being honored.

Adds BazelWorkerTest that checks the behaviours of both invocation workers and persistent.
* Restructured BazelWorker.kt for easier testing by pulling out the delegation invoker.
* Changed the flag enums to be pulic and static.
* Create KotlinBuilderTestComponent for retrieving configured instances for test.
* Replaced the use of system user.dir with a more robust path usage.
Revert intellij overenthusiasm.
… analysis phase

Add generate_jvm_service utility rule for embedding service definitions in a jar.
Add skip-code-gen to the builder jar
Up the size the basic jvm test, as it times out occasionally with a full test run.
Add logic to trigger abi generation in the compile command on both the toolchain (experimental_abi_compile=True) and commandline option (--define=experimental_abi_compile=1,0)
Corbin Smith added 2 commits May 9, 2020 13:49
* Reworked the CompilationArgs to be more kotlinish

Issue: rules_kotlin/issues/296
@@ -152,7 +159,7 @@ public final Path writeGeneratedSourceFile(String filename, String[] lines) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try (PrintStream outputStream = new PrintStream(byteArrayOutputStream)) {
return operation.apply(new CompilationTaskContext(info, outputStream,
instanceRoot().toAbsolutePath().toString() + File.separator), task);
instanceRoot().toAbsolutePath().toString() + File.separator), task);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the worst auto-formatting I've ever seen.

Copy link
Collaborator

@cgruber cgruber left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is big, and I can't guarantee that I've caught it all, but the core change makes sense, and it all seems right. There are a few nits, but low-barrier stuff like "statically import Truth.assertThat" etc. Not worth worrying about here.

@restingbull restingbull merged commit 53cd4b2 into bazelbuild:master May 16, 2020
@restingbull restingbull deleted the abi branch May 16, 2020 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 status: in review Solution being reviewed type: cleanup Refactorings, idiomatic transforms, tech debt payoff type: performance Performance improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants