-
Notifications
You must be signed in to change notification settings - Fork 323
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
Add graalpy packages to the component directory #8351
Conversation
Test.specify "should recognize Text as Python string" <| | ||
py_is_str "Hello" . should_be_true | ||
py_is_str 10 . should_be_false | ||
py_is_str Nothing . should_be_false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tests are failing on develop. I am not sure why the test should correctly marshall strings was passing before.
|
distribution/engine/THIRD-PARTY/org.graalvm.truffle.truffle-nfi-23.1.0/NOTICES
Outdated
Show resolved
Hide resolved
distribution/engine/THIRD-PARTY/org.graalvm.python.python-resources-23.1.0/NOTICES
Outdated
Show resolved
Hide resolved
tools/legal-review/engine/org.graalvm.python.python-language-23.1.0/copyright-ignore
Show resolved
Hide resolved
'profiler-tool', licensed under the GNU General Public License, version 2, with the Classpath Exception, is distributed with the engine. | ||
The license file can be found at `licenses/GNU_General_Public_License__version_2__with_the_Classpath_Exception`. | ||
Copyright notices related to this dependency can be found in the directory `org.graalvm.tools.profiler-tool-23.1.0`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no idea if the way we distribute the profiler-tool
satisfies the requirements of the GNU GPL license with classpath exception.
If I understand correctly, we are distributing these files inside of our JAR, right? Or is it a separate JAR?
- We need to clarify how this dependency is distributed.
- Then check if the way we do this is OK with the license - we should consult someone who has more legal knowledge about this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand correctly, we are distributing these files inside of our JAR, right? Or is it a separate JAR?
It is a separate JAR. We basically take those Jars from Maven central and just put it inside the component
directory in our distribution, without any modifications.
Then check if the way we do this is OK with the license - we should consult someone who has more legal knowledge about this.
We have always distributed this tool. Just not as a separate Jar, but as part of the GraalVM distribution. It is only now that the legal review tool complains because it can actually discover the license in the Jar. I doubt that there were any major license changes in the community edition of Graal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had been in a legal battle about GPL+CP Exception with ASF and I won. That makes me believe I am qualified...
If I understand correctly, we are distributing these files inside of our JAR, right? Or is it a separate JAR?
It is a separate JAR. We basically take those Jars from Maven central
and just put it inside the component directory in our distribution, without any modifications.
Good. Distributing GPL+CPEx JARs is certainly OK and we can even claim the whole thing is under Apache License. Radek is right that repackaging might be tricker - good that we are not doing it.
It seems that notarization gets broken, removed the "ready to merge" so it can be fixed first. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approving the changes to signArchivesMacOs.ts
…org/enso into wip/akirathan/8294-install-graalpy
|
||
fn graalpy_version_from_str(version_string: &str) -> Result<Version> { | ||
let line = version_string.lines().find(|line| line.contains("GraalVM CE")).context( | ||
"There is a Java environment available but it is not recognizable as GraalVM one.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"There is a Java environment available but it is not recognizable as GraalVM one.", | |
"There is a Java environment available but it is not recognizable as a GraalVM CE.", |
We are checking for Graal CE specifically.
I assume if someone runs GraalVM EE, the current message There is a Java environment available but it is not recognizable as GraalVM one.
would be false (GraalVM EE is still GraalVM).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code and config changes look good - approving that.
I'm not sure if the inclusion of profiler-tool
in the distribution is allowed by the license, as I noted above - I'm not suggesting it isn't either - I just don't have enough legal experience to be able to assess that.
Fixes #8294
Pull Request Description
Adds these JAR modules to the
component
directory inside Engine distribution:graal-language-23.1.0
org.bouncycastle.*
- these need to be added for graalpy languageImportant Notes
org.bouncycastle.*
packages fromruntime.jar
fat jar../run
script preinstalls GraalPy standalone distribution before starting engine testspython -m venv
is only possible from standalone distribution, we cannot distributegraalpython-launcher
.numpy
and its polyglot execution example works.Text
toTruffleString
before passing to GraalPy - 8ee9a28Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
./run ide build
.