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

Avro 1910 - HttpTransceiver buffering #123

Closed
wants to merge 3 commits into from

Conversation

jcustenborder
Copy link

Corrected build errors of Avro.perf. Added ReadFully method to ensure that buffers are totally populated. Changed to stream 64k buffers instead of the entire buffer in one call.

… ReadBuffers to allocate a MemoryStream

with the requested size. Instead of reading the entire large message in a single call we now read 64k blocks
with ReadFully.
…for ReadBuffers that allocates random streams between 64k and 512K and ensures a roundtrip via a SHA1 hash.
@rdblue
Copy link
Contributor

rdblue commented Oct 30, 2016

@jcustenborder, is there anyone else that is familiar with the C# code that can review this? I normally tag you for reviews. 😄

@rdblue
Copy link
Contributor

rdblue commented Oct 31, 2016

@Simon24601, do you think you could review this one? We're short on reviewers for C#. And since you've contributed #131 it seems like you may want to review some of the other C# patches to get them in. Thanks!

@Simon24601
Copy link
Contributor

I'll review this patch tonight.
Regards
Simon
On 31 Oct 2016 15:59, "Ryan Blue" [email protected] wrote:

@Simon24601 https://github.com/Simon24601, do you think you could
review this one? We're short on reviewers for C#. And since you've
contributed #131 #131 it seems like
you may want to review some of the other C# patches to get them in. Thanks!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#123 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIUPmn9jaNKhe2CSqETYuv82Kw-eZnjmks5q5hBagaJpZM4J6K85
.

@Simon24601
Copy link
Contributor

@jcustenborder:
I've had a look at this patch, and I have a number of comments.
First off, I don't see any indication in the Avro Jira comments https://issues.apache.org/jira/browse/AVRO-1910 that this patch resolves the Jira. Did you receive any personal correspondence confirming this?
Second, I'm not really clear on what the main changes (i.e. the change to ReadBuffers(Stream inStream, byte[] intBuffer)) are supposed to achieve. Currently, each message is assigned a buffer of the appropriate length, the full message is read and then the buffer is wrapped in a MemoryStream. With your change, we have a smaller buffer, but we copy the data into a MemoryStream, which will have its own internal buffer. So we marginally increase memory usage, but otherwise the function hasn't really changed - it is still a blocking function that must read every message completely into memory before it returns. What am I missing?
Next, the ReadFully method seems a little strange. Typically (imo) a buffer needs to be at least as big as the message it receives, not exactly the same size. So a ReadFully method would take the Stream, buffer and an integer, corresponding to the requested number of bytes to read. Or maybe no integer, but it reads until it receives a termination character in the stream. But not just reading until the buffer is exhausted. Currently, this method is safe, because it's only used in ReadInt, and is passed a 4-byte buffer, but it still feels strange.
I'm not enthusiastic about making ReadFully and ReadInt public just so that they can be tested, but this is the sort of thing that leads to flamewars, so I'm not going to object strongly to that. I'd just prefer them to be tested by being used in the methods that are already public.
Your deletion of "-framework=4.0" from build.sh means that it no longer builds using the docker container that ships with this project, on my computer anyway (CentOS 7). Do you build from inside Mono or do you use the docker scripts?
I also get the test failure that was discussed in the Jira comments. I'm currently debugging this to figure out what's going wrong. Increasing the timeout time doesn't seem to fix it. I know you saw that it was reading past the end of the schema, but I don't see why it would do that. From what I can tell, it stalls inside HttpClientServerTest::Send(GenericRecord message). I don't think we can write it off as an unimportant test failure until we can track down why it is different.
Thanks for adding apache/perf/app.config - it's nice that the solution builds straight out of the box.

I'll let you know if I can track down the origin of the test failure. In the meantime, I guess the most important question is whether this solves the issue that was originally reported (and if the bug-reporter can strip it down to a useful test, that's even better).

@jcustenborder
Copy link
Author

Thanks @Simon24601

First off, I don't see any indication in the Avro Jira comments https://issues.apache.org/jira/browse/AVRO-1910 that this patch resolves the Jira. Did you receive any personal correspondence confirming this?

The user has gone dark, so I don't have a confirmation.

Second, I'm not really clear on what the main changes (i.e. the change to ReadBuffers(Stream inStream, byte[] intBuffer)) are supposed to achieve. Currently, each message is assigned a buffer of the appropriate length, the full message is read and then the buffer is wrapped in a MemoryStream. With your change, we have a smaller buffer, but we copy the data into a MemoryStream, which will have its own internal buffer. So we marginally increase memory usage, but otherwise the function hasn't really changed - it is still a blocking function that must read every message completely into memory before it returns. What am I missing?

In the users use case they were bringing in very large messages that were being handed to a read call. It was on the order of several megabytes. int num = inStream.Read(buffer, offset, count); will return the data available, not necessarily the entire message. I moved to use a 64K buffer and multiple calls to ensure that all of the data was read.

Next, the ReadFully method seems a little strange. Typically (imo) a buffer needs to be at least as big as the message it receives, not exactly the same size. So a ReadFully method would take the Stream, buffer and an integer, corresponding to the requested number of bytes to read. Or maybe no integer, but it reads until it receives a termination character in the stream. But not just reading until the buffer is exhausted. Currently, this method is safe, because it's only used in ReadInt, and is passed a 4-byte buffer, but it still feels strange.

ReadFully is just a similar implementation to this. DataInputStream.readFully(byte[])

I'm not enthusiastic about making ReadFully and ReadInt public just so that they can be tested, but this is the sort of thing that leads to flamewars, so I'm not going to object strongly to that. I'd just prefer them to be tested by being used in the methods that are already public.
Your deletion of "-framework=4.0" from build.sh means that it no longer builds using the docker container that ships with this project, on my computer anyway (CentOS 7). Do you build from inside Mono or do you use the docker scripts?

I was using the running the build directly on my mac and it errors unless that was removed.

I also get the test failure that was discussed in the Jira comments. I'm currently debugging this to figure out what's going wrong. Increasing the timeout time doesn't seem to fix it. I know you saw that it was reading past the end of the schema, but I don't see why it would do that. From what I can tell, it stalls inside HttpClientServerTest::Send(GenericRecord message). I don't think we can write it off as an unimportant test failure until we can track down why it is different.
Thanks for adding apache/perf/app.config - it's nice that the solution builds straight out of the box.

I wouldn't mind holding off on this pull and putting in a few more that would increase the logging in this section of code. The unit tests are not logging anything when an exception is raised.

In the future would you mind dropping the comments on the files page? It makes it much easier to keep track of what you are pointing to.

@@ -30,7 +30,7 @@ case "$1" in

test)
xbuild
nunit-console -framework=4.0 Avro.nunit
nunit-console Avro.nunit
Copy link
Contributor

Choose a reason for hiding this comment

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

I think that this will be a problem, because the solution needs to build cleanly within the docker container out-of-the-box and this prevents it doing so. Could you remove this from this pull request, or amend something so it still works (I say "something" because I'm not sure if this requires a change to the docker setup or the solution file).

Copy link
Author

Choose a reason for hiding this comment

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

I can put that back in. It would not work when building directly from my Mac.

@Simon24601
Copy link
Contributor

@jcustenborder:
OK, the reason behind the change is much clearer - thanks for clarifying
it. And while ReadFully still surprises me, it makes a lot more sense if I
think about it from the perspective of limited resources - the buffer can
get allocated once you know how much data is expected. So I'm happy with
most of the above.

I'll add further comments on the files page - sorry, I've never used a code
review commenting system that wasn't extremely slow before, so I tend to
reply using emails.

On Fri, Nov 4, 2016 at 9:27 PM, Jeremy Custenborder <
[email protected]> wrote:

Thanks @Simon24601 https://github.com/Simon24601

First off, I don't see any indication in the Avro Jira comments
https://issues.apache.org/jira/browse/AVRO-1910 that this patch resolves
the Jira. Did you receive any personal correspondence confirming this?

The user has gone dark, so I don't have a confirmation.

Second, I'm not really clear on what the main changes (i.e. the change to
ReadBuffers(Stream inStream, byte[] intBuffer)) are supposed to achieve.
Currently, each message is assigned a buffer of the appropriate length, the
full message is read and then the buffer is wrapped in a MemoryStream. With
your change, we have a smaller buffer, but we copy the data into a
MemoryStream, which will have its own internal buffer. So we marginally
increase memory usage, but otherwise the function hasn't really changed -
it is still a blocking function that must read every message completely
into memory before it returns. What am I missing?

In the users use case they were bringing in very large messages that were
being handed to a read call. It was on the order of several megabytes. int
num = inStream.Read(buffer, offset, count); will return the data
available, not necessarily the entire message. I moved to use a 64K buffer
and multiple calls to ensure that all of the data was read.

Next, the ReadFully method seems a little strange. Typically (imo) a
buffer needs to be at least as big as the message it receives, not exactly
the same size. So a ReadFully method would take the Stream, buffer and an
integer, corresponding to the requested number of bytes to read. Or maybe
no integer, but it reads until it receives a termination character in the
stream. But not just reading until the buffer is exhausted. Currently, this
method is safe, because it's only used in ReadInt, and is passed a 4-byte
buffer, but it still feels strange.

ReadFully is just a similar implementation to this.
DataInputStream.readFully(byte[])
https://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#readFully(byte%5B%5D)

I'm not enthusiastic about making ReadFully and ReadInt public just so
that they can be tested, but this is the sort of thing that leads to
flamewars, so I'm not going to object strongly to that. I'd just prefer
them to be tested by being used in the methods that are already public.
Your deletion of "-framework=4.0" from build.sh means that it no longer
builds using the docker container that ships with this project, on my
computer anyway (CentOS 7). Do you build from inside Mono or do you use the
docker scripts?

I was using the running the build directly on my mac and it errors unless
that was removed.

I also get the test failure that was discussed in the Jira comments. I'm
currently debugging this to figure out what's going wrong. Increasing the
timeout time doesn't seem to fix it. I know you saw that it was reading
past the end of the schema, but I don't see why it would do that. From what
I can tell, it stalls inside HttpClientServerTest::Send(GenericRecord
message). I don't think we can write it off as an unimportant test failure
until we can track down why it is different.
Thanks for adding apache/perf/app.config - it's nice that the solution
builds straight out of the box.

I wouldn't mind holding off on this pull and putting in a few more that
would increase the logging in this section of code. The unit tests are not
logging anything when an exception is raised.

In the future would you mind dropping the comments on the files
https://github.com/apache/avro/pull/123/files page? It makes it much
easier to keep track of what you are pointing to.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#123 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIUPmphjbZeqQr_FKNBZlEiMZCSrPpw3ks5q66M-gaJpZM4J6K85
.

byte[] buffer = new byte[64 * 1024];
int read;
int totalRead = 0;
while ((read = inStream.Read(buffer, 0, Math.Min(length - totalRead, buffer.Length))) > 0)
Copy link
Contributor

Choose a reason for hiding this comment

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

This line sometimes stalls and causes the timeout failure in the HttpClientServerTest.cs that was mentioned in the Jira ticket comments. I think that changing it to
while ((length > totalRead)&&(read = inStream.Read(buffer, 0, Math.Min(length - totalRead, buffer.Length))) > 0)
prevents the timeout on this line. But the test doesn't pass - it just times out later.

iemejia pushed a commit that referenced this pull request Jun 11, 2021
* Add schema test for nullable logical type

* Split basic nullable value test into two: one not null and one null

* Refactor test setup and assertions

* Add a test for writing logical types

* Remove temporary variable

* Share the global object header in tests

* Remove redundant slice calls
SingingBush pushed a commit to SingingBush/avro that referenced this pull request Jun 29, 2023
martin-g pushed a commit that referenced this pull request May 20, 2024
…in (#2310)

AVRO-3732: 

* Try again to avoid gradle welcome banner in CI

* ci: try turning on github actions compatibility tests

* fix ci syntax

* ci: fix yaml indentation

* ci: comment out fail fast

* ci: fix matrix structure

* CI: try matrix with allowed failures

* CI: give up on conditional failures allowed for now; exclude java 13

* CI: info output for builds

* Try to resolve the test failures on windows regarding default encoding handling

* Fix encoding support on windows, for real this time

* CI: add unsupported-java-versions job

* CI: run the unsupported java versions job on all the OS versions

After all, they'll all fail almost immediately anyway

* README: Update badge to use github actions rather than travis

* add support for generating optional getters

* README: fix CI badge syntax

* README: fix CI badge image

* add doc for optional getter field generation

* Update changelog to note the recent merged pull request

* CI: disable the gradle daemon to try to eliminate the sporadic clean failure on windows

* Remove security policy; not a CommerceHub OSS project any more

* Update various files for commercehub-oss -> davidmc24 github move

* Working version of custom conversions against modern gradle; still need to adjust for earlier versions

* Don't use MapProperty yet; it wasn't introduced until Gradle 5.1

* Don't use ListProperty

It changed incompatibly between Gradle 4.4 and Gralde 4.5

* Don't use Class.newInstance(), as it was deprecated in Java 11

* Update issue templates

* Update bug_report.md to add a checklist

* Update feature_request.md to include a checklist

* CI: don't bother doing maintenance builds on old OS versions; only use latest

* CI: update another place with os versions that I missed

* version: 0.18.0

* version: 0.18.1-SNAPSHOT

* update to Avro 1.9.2 since https://issues.apache.org/jira/browse/AVRO-2548 has been fixed there

* Add support for Gradle 6.0-6.2, drop support for gradle <5.1 (#101)

* Update changelog for #104

* Add support for Java 13

* Add support for testing multiple kotlin versions

* Update plugin's own build to address some deprecation warnings of APIs being removed in Gradle 7

* BuildCacheSupportFunctionalSpec no longer needs an @IgnoreIf, as we only support versions where the Build Cache is supported.

* Remove license plugin

It was resulting in deprecation warnings about Gradle 7, a new version wasn't available, and I don't think it was providing real value.

* Lots of test updates

* Remove taskInfoAbsent, as it isn't needed any more with the versions of Gradle we support
* Remove isMultipleClassDirectoriesUsed, as all versions of Gradle we support now use it
* Leverage GradleRunner's withPluginClasspath feature when able to use plugin DSL to apply the test plugin
* Add addDefaultRepository utility method
* Add applyPlugin override that takes a version
* Rename addDependency to addImplementationDependency; add addRuntimeDependency and addDependency that takes a configuration argument
* Use stripMargin more consistently

* Add tests for Kotlin DSL usage (#61)

* Handle a test that appears to fail on Windows due to weird file locking behaviors

* Update to note a Kotlin-Java version incompatibility

* Update to gradle 6.2.2

* Official Gradle Wrapper Validation Action

See: https://github.com/gradle/wrapper-validation-action
Added as a dedicated Workflow

* Support Task Configuration Avoidance (#97)

https://docs.gradle.org/current/userguide/task_configuration_avoidance.html

Thanks to [dcabasson](https://github.com/dcabasson) for the collaboration

* Update test result directory names

* Work around a bug showing in Gradle 5.1

It appears that in Gradle 5.1, TaskContainer's `withType` overwrites the results of `matching`, causing java compilation tasks to be returned.
This results in a circular task dependency.
Changing the order to filter by type first fixes it.

* See if we can get Java 14 support working with a Gradle 6.3 nightly build

* Update codenarc support so it works in Java 14+; update compatibility notes

* version: 0.19.0

* version: 0.19.1-SNAPSHOT

* Create FUNDING.yml

* Update bug_report.md

* Fix schema dependency resolution when types are referenced with a `{ "type": NAME }` block rather than just `NAME` (#107)

* Eliminate `NullPointerException` handling in schema dependency resolution, as it no longer appears to be needed.

* version: 0.19.1

* version: 0.19.2-SNAPSHOT

* Add  (#115)

* Update version compatibility support

* Built using Gradle 6.5
* Updated compatibility testing to include Java 14
* Updated compatibility testing through Gradle 6.5

* version: 0.20.0

* version: 0.20.1-SNAPSHOT

* ci: Tweak how the jobs are run to reduce execution time and unreliability

Mac OS X jobs have been failing with messages that they were cancelled.

My theory is that either Mac OS X jobs are flakey right now, or I'm hitting an execution timeout of some kind.

Either way, this reduces how long jobs run for and how many are run on Mac OS X.
Hopefully it will complete faster (providing faster feedback) and be more reliable.

* CI: try using eskatos/gradle-command-action to improve build speed

This enables use of the daemon and easy caching of wrapper
Might enable depenendcy caching latter (isn't on by default yet)

* CI: try turning on build scans

* CI: fix the build

It looks like there may be an incompatibility between gradle-entrprise and gradle-github-actions; try just gradle-enterprise for now.
Also, gralde-enterprise needs to be applied in the settings file with the latest version.

* CI: some build tweaks for performance

Enable github actions plugin to capture metadata in build scans
Enable parallel builds
Enable dependency caching

* Correcting cache annotation for classpath

* Correcting cache annotation for classpath - add items to unreleased changelog

* Update to Avro 1.10.0

* Add a test project to aid in reproducing problems

* Test cleanup and CHANGES.md additions for Avro 1.10.0 support

* Fix test name for optionalGettersForNullableFieldsOnly

* Confirm that the nullable getter is still generated when createOptionalGetters is enabled

* Formatting fixes and test simplification

* Fix optionalGettersForNullableFieldsOnly test naming and CHANGES formatting

* Ensure option conditions are checked against relevant file portions

* Remove apache staging dependency and pull release from JCenter

* Ensure createOptionalGetters test checks correct mainClassContent

* Remove extraneous newline from test repository definition

* version: 0.21.0

* version: 0.21.1-SNAPSHOT

* build: add coverage reporting using JaCoCo and Codecov

* CI: flag codecov report by OS

* Add support for multiple IDL files with the same name in different directories (#123)

* Update AvroUtils and Strings, with unit test coverage

* Fix codenarc failures

* Fix a test typo (Fixes #125)

* Update test-project to remove references to dataTimeLogicalType

* Plugin DSL is no longer incubating, and is now recommended.

* Upgrade to Avro 0.10.1 because of https://issues.apache.org/jira/browse/AVRO-2924

* Added compatibility testing against 1.10.0 and 1.10.1

* More spock assert about generated Java Code was added. Type uuid is not compilable with Avro 1.10.1

* Avro 1.10.1 was set also in test-project/build.gradle

* Minor post pull-request-merge tweaks

* Update compatibility with Java/Gradle, tweak build spead

* Improve Java version support

Use a Java 15-compatible version of Jacoco (currently requires a snapshot build)
Use a new Java 9+ option in Gradle 6.6 that use cross-compilation to ensure that APIs not available in previous versions aren't used improperly

* Correct Java 15 Gradle version compatibility

* Add support for configuration cache and update kotlin testing

Closes #129

* Make codenarc happy

Fix ClosureStatementOnOpeningLineOfMultipleLineClosure violation

* Address not all versions of kotlin plugin supporting config cache

* version: 0.22.0

* version: 0.23.0-SNAPSHOT

* Add link to discussions for Q&A

* Revert "Add link to discussions for Q&A"

This reverts commit 946cf47.

* Add link to discussions for Q&A

* Add feature requests to template chooser

* Try moving feature requests to discussions

* Update README to reflect changes in historical version handling

* Update notes about pre-1.0 versions

* Work towards a 1.0 release

* Fix up POMs, add signing; to satisfy Maven Central requirements

* version: 1.0.0

* version: 1.0.1-SNAPSHOT

* version: 1.0.0 (take 2)

* version: 1.0.0 (take 3)

* version: 1.0.1-SNAPSHOT

* Remove remaining references to jcenter

* Build using Avro 1.10.2

* Build using Gradle 6.8.3

* Try running compatibility tests from github actions rather than gradle

* Try extracting kotlin plugin compatibility testing to its own workflow

* Try to fix CI job

* Try to fix CI job

* Fix testKotlinPluginCompatibility

* Next try at kotlin compatibility

* More matrix stuff

* More matrix compatibility tweaks

* More matrix compatibility tweaks

* More matrix compatibility tweaks

* More matrix compatibility tweaks

* Upgrade gradle used to build the project to 7.0-rc-1 in order to support the build running on Java 16

* More changes for Gradle 7 compatibility

* Add gradle compatibility tests

* More spock 2.0 and Gradle 7 compatibility changes

* Fix checkstyle violation

* Tweak CI targets

* Adjust compatibility notes/testing for java 16/17

* Use nexus publish plugin to automate management of OSSRH interactions

* Adjust test report directories

* Fix os compatibility tests

* Update changelog

* version: 1.1.0

* version: 1.1.1-SNAPSHOT

* Try to fix publishing

* Temporary change to test the CI publishing fix

* Revert "Temporary change to test the CI publishing fix"

This reverts commit 4fb85a4.

* Re-add support for Avro 1.9.x

* Update release notes

* Throw error if avdl will be overwritten

* Add to changelog

* Minor touchups on avpr conflict detection

* Add support for better coverage reporting... and disable it because it conflicts with configuration caching in Gradle 7.0

* version: 1.2.0

* version: 1.2.1-SNAPSHOT

* Add examples/default-custom-types

* Update for Gradle 7.1

* CI: update to setup-java v2

* Update comment on code coverage support

* Update build/test to Gradle 7.1.1

* Update test-project to reproduce #167

* Explicitly declare dependencies between sources jar tasks and GenerateAvroJavaTasks (#167)

* Satisfy checkstyle

* Simplify sources jar handling and fix configuration avoidance

* Fix compatibility with Gradle before 6.0

* version: 1.2.1

* version: 1.2.2-SNAPSHOT

* Upgrade to Gradle 7.2

* Update CI to indicate that Java 17 has been released, even though it's not supported yet.

* Upgrade CodeNarc to build cleanly on Java 17

* Add some scripts to aid troubleshooting

* Update readme to use implementation rather than compile configuration

* Add avsc-from-external-jar and avsc-from-subproject examples

* Make some minor adjustments to GradleAvroProtocolTask due to investigation of #174

* Add design for potential "additional schema" configurations feature

* Add block to example to show custom resource dir usage

* Update avsc-from-subproject example to compile schema for schema project, exclude generated classes from cat jar

* Fix cachability for cat jar in example

* GenerateAvroProtocolTask: don't delegate to the system classloader, even implicitly

* Add an example that generated a UUID field

* Add test project for kotlin

* Update for avro 1.11.0

* Drop support for Avro 1.9.0-1.10.2

Due to an incompatibility introduced in Avro 1.11.0

error: no suitable constructor found for SpecificRecordBuilderBase(Schema,SpecificData)

* Update kotlin compatibility testing

* Update Java compatibility testing

* Update to build with Gradle 7.3; add Java 17 compatibility

* CI: Attempt to fix kotlin compatibility testing

* More kotlin compatibility testing fixes

* CI: update to gradle-build-action v2

* version: 1.3.0

* version: 1.3.1-SNAPSHOT

* CI: enable automatic staging repository releasing

* Drop kotlin plugin integration

* Add note about seeking new maintainer to readme

* version: 1.4.0

* version: 1.4.1-SNAPSHOT

* Add 'additionalVelocityTool' capability. Allows user to provide tools that will be available in Velocity templates at generation time.

* Update changelog

* Update versions of Gradle/Avro/Java

* version: 1.5.0

* version: 1.5.1-SNAPSHOT

* Support specifying classpath for additional velocity tool classes

* Add test for classpath property in GenerateAvroJavaTask

* Minor cleanup

* Fix test: escape backslashes in a Windows path

* Drop Java compatibility testing for outdated versions

* Update for Gradle 7.6 and Java 19

* Fix up cross-version compatibility for the Gradle 7.6 adjustments

* Update changelog

* version: 1.6.0

* version: 1.6.1-SNAPSHOT

* Update changelog

* Add ability to use conversions and type factories residing outside of build classpath

* Fix compatibility with Gradle < 7.1

* Add documentation for using conversions and type factories located outside of build classpath

* Add deprecations for methods used to configure conversions and type factories with classes

* Prep for 1.7.0 release

* version: 1.7.1-SNAPSHOT

* Fix vulnerabilities in transitive dependencies

* version: 1.7.1

* version: 1.7.2-SNAPSHOT

* Update github actions that ran in node 12

* Fix Kotlin DSL setup snippet

* move everything to lang/java/gradle-plugin

---------

Co-authored-by: David M. Carr <[email protected]>
Co-authored-by: David M. Carr <[email protected]>
Co-authored-by: Ben Speakmon <[email protected]>
Co-authored-by: Markus Helbig <[email protected]>
Co-authored-by: Denis Cabasson <[email protected]>
Co-authored-by: mcwhitak <[email protected]>
Co-authored-by: Michael Whitaker <[email protected]>
Co-authored-by: Vladimir Kralik <[email protected]>
Co-authored-by: Ola Hungerford <[email protected]>
Co-authored-by: David M. Carr <[email protected]>
Co-authored-by: Dave Cracauer <[email protected]>
Co-authored-by: Paul Kofmann <[email protected]>
Co-authored-by: Marcin Erdmann <[email protected]>
Co-authored-by: Marcel Henrich <[email protected]>
Co-authored-by: Antonio Martinović <[email protected]>
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.

3 participants