Hi Alex and Gabor, answer bellow :F
"Can you please provide the download link?" > The code is on the main branch in the repository just do > git clone https://github.com/apache/incubator-wayang.git "it's in the main branch, right?" > yes the main branch "What does this setup mean for Java versions?" > I think I need to write again that, In the case of java 8 you can use > both(scala 2.11 and 2.12) but in the case of java 11 is possible to use > just scala 2.12, because scala 2.11 its not supported by java 11 "I'm a bit worried that it might also happen in the future that some of our backend systems won't support very new or very old Java versions." > I made this change to try to support that case. I want to isolate the code > to enable different versions of scala compile in armony. In the case of > Java it is "easier" because after 8 almost all of the code is compatible, > you need to be adding some classes or you can wrap some classes in the case > of some functionality that is not supported. About scala, it's more complex because most of the versions are not > retrocompatibles but we can do some tricks to do it, that is the idea of > this folder. Best regards, On Tue, Oct 12, 2021 at 2:21 PM Gábor Gévay <[email protected]> wrote: > Hi Bertty, > > I'm doing the build now (it's in the main branch, right?), but one > quick question: What does this setup mean for Java versions? I used to > build -Pscala-11 with Java 8, but -Pscala-12 with Java 11. Do I > understand correctly, that after this change we have to use the same > Java version for both Scala 2.11 and 2.12? Currently, Emma runs only > on Java 8. I might be able to make it work on Java 11, so this is not > a big problem hopefully. But I'm a bit worried that it might also > happen in the future that some of our backend systems won't support > very new or very old Java versions. > > Best, > Gábor > > > > > Bertty Contreras <[email protected]> ezt írta (időpont: 2021. okt. > 12., K, 14:09): > > > > Hi Folks, > > > > > > I had been working on issues release; one of them was the profile at the > > moment of generating the artefacts. So I did some tests, and it looks ok, > > but I want you to compile the code with the following commands. > > > > > > mvn clean install > > > > > > before running this command, be sure to delete the folder > > ~/.m2/repository/org/apache/wayang > > > > > > after the execution you will found the following folder in the path > > > > ~/.m2/repository/org/apache/wayang > > > > > > wayang > > > > wayang-api > > > > wayang-api-python > > > > wayang-api-scala-java > > > > wayang-api-scala-java_2.11 > > > > wayang-api-scala-java_2.12 > > > > wayang-basic > > > > wayang-benchmark > > > > wayang-benchmark_2.11 > > > > wayang-benchmark_2.12 > > > > wayang-commons > > > > wayang-core > > > > wayang-flink > > > > wayang-flink_2.11 > > > > wayang-flink_2.12 > > > > wayang-giraph > > > > wayang-graphchi_2.11 > > > > wayang-iejoin > > > > wayang-iejoin_2.11 > > > > wayang-iejoin_2.12 > > > > wayang-java > > > > wayang-jdbc-template > > > > wayang-platforms > > > > wayang-plugins > > > > wayang-postgres > > > > wayang-profiler > > > > wayang-profiler_2.11 > > > > wayang-profiler_2.12 > > > > wayang-resources > > > > wayang-spark > > > > wayang-spark_2.11 > > > > wayang-spark_2.12 > > > > wayang-sqlite3 > > > > wayang-tests-integration > > > > wayang-tests-integration_2.11 > > > > wayang-tests-integration_2.12 > > > > wayang-utils-profile-db > > > > > > Currently, you do not need to set any profile because the profile depends > > on the folder's content. So it is possible because I create "empty" > > artefacts that help with the generation of code for scala 2.11 and scala > > 2.12 simultaneously. > > > > > > you will found some folders with the following structure > > > > > > module-name/ > > ├─ pom.xml > > ├─ code/ > > │ ├─ main/ > > │ │ ├─ java/ > > │ │ ├─ resources/ > > │ │ ├─ scala/ > > │ ├─ test/ > > │ │ ├─ java/ > > │ │ ├─ resources/ > > │ │ ├─ scala/ > > ├─ module-name_${scala_version}/ > > │ ├─ src/ > > │ │ ├─ main/ > > │ │ │ ├─ java/ -> ./../../../code/main/java > > │ │ │ ├─ java_${scala_version}/ > > │ │ │ ├─ scala/ -> ./../../../code/main/scala > > │ │ │ ├─ scala_${scala_version}/ > > │ │ │ ├─ resources/ -> ./../../../code/main/resources > > │ │ │ ├─ resources_${scala_version}/ > > │ │ ├─ test/ > > │ │ │ ├─ java/ -> ./../../../code/test/java > > │ │ │ ├─ java_${scala_version}/ > > │ │ │ ├─ scala/ -> ./../../../code/test/scala > > │ │ │ ├─ scala_${scala_version}/ > > │ │ │ ├─ resources/ -> ./../../../code/test/resources > > │ │ │ ├─ resources_${scala_version}/ > > │ ├─ pom.xml > > > > > > This structure allows you to have several versions of scala compiling at > > the same time without generating errors. Have in consideration that most > of > > the code will be shared by different versions; because of it, you have a > > link(->) to the folder "code" (exist a script for it). The "code" Folder > is > > the current code that is running for the versions. > > > > > > The benefit of these changes are: > > > > - Solve the non-compilation of Jenkins issue. > > - The release issue, non-generation of artefacts for scala 2.11 > > - It provides better support to the different versions that we are > > currently supporting and allows adding new versions with minimum > effort. > > - Avoid maintaining several branches of the same code with minor > changes. > > > > > > Before I add the documentation, I want you to compile, review the code > and > > let me know your thoughts about it. > > > > > > To simulate a release in your computer, you can try the following > command. > > > > > > mvn clean install -Papache-release > > > > > > This command take time, please be patient :D > > > > > > By the way all this change are already in the master > > > > > > I will be waiting for your feedback. > > > > > > Best regards, > > > > Bertty >
