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
>

Reply via email to