So, the build completed (I tried Java 8 for now). There are 1734 lines
of errors in the maven output, but it also says "BUILD SUCCESS" at the
end, so I'm not sure what is the situation now :D
This is my maven output:
https://gist.githubusercontent.com/ggevay/ce4a04a09cf0ed8a0acc2d23997cae40/raw/40ec5882e031a958322bffce72500cb3ed27fb7b/maven_output.txt
It complains about the ${scala.mayor.version} variable a lot. Is the
intention that the appropriate scala profiles are activated
automatically for certain modules? I did
mvn help:all-profiles
Output here: https://gist.github.com/ggevay/a62b847985241823e9fa949b0db2d33c
The scala profiles don't seem to correctly activate. For example, I have

Listing Profiles for Project:
org.apache.wayang:wayang-spark_2.11:jar:0.6.0-SNAPSHOT
...
Profile Id: scala-11 (Active: false , Source: pom)

Shouldn't this be active here?

Best,
Gábor


Gábor Gévay <[email protected]> ezt írta (időpont: 2021. okt. 12., K, 14:20):
>
> 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