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