I had the following in my settings.xml, not sure why it was there to begin
with. Sorry for the noise.
<profiles>
<profile>
<id>royale-release</id>
<properties>
<royale.compiler.version>0.9.8</royale.compiler.version>
</properties>
</profile>
</profiles>
From: Yishay Weiss<mailto:[email protected]>
Sent: Thursday, March 3, 2022 5:39 PM
To: [email protected]<mailto:[email protected]>; Josh
Tynjala<mailto:[email protected]>
Subject: RE: Swc Compiler Version and Binary Reproducibility
I’m still not sure what’s going on here. My local effective.pom has a
dependency on compiler version 0.9.8, whereas the one in CI has 0.9.9.
The problem is on my local machine. I added the verbose option [1] to see how
pom.effective was generated and saw
<royale.compiler.version>0.9.8</royale.compiler.version> <!--
org.apache.royale.typedefs:royale-typedefs-parent:0.9.9, line 48 -->
But when I look in parent pom.xml, line 48, I see
<royale.compiler.version>0.9.9</royale.compiler.version>
I am guessing that the dependency is resolved elsewhere and that the effective
pom verbose is misleading, but that’s just a theory.
Any ideas?
[1] Apache Maven Help Plugin –
help:effective-pom<https://maven.apache.org/plugins/maven-help-plugin/effective-pom-mojo.html>
From: Yishay Weiss<mailto:[email protected]>
Sent: Thursday, February 24, 2022 11:09 AM
To: [email protected]<mailto:[email protected]>; Josh
Tynjala<mailto:[email protected]>
Subject: RE: Swc Compiler Version and Binary Reproducibility
The effective pom for the CI swcs does show server version 0.9.8 which seems
wrong. It could be I was doing something wrong on the CI.
I also had to update the years on NOTICE files and added my 0.9.9 changes to
RELEASE_NOTES.md.
I think we need to update the rest of the RELEASE_NOTES files in the all repos,
and when that’s done we can update the top level RELEASE_NOTES under
royale-asjs\releasemgr\RELEASE_NOTES.
After that’s done I’ll start a new RC and will keep an eye on server versions
for typedefs.
Thanks.
From: Yishay Weiss<mailto:[email protected]>
Sent: Thursday, February 24, 2022 8:14 AM
To: Josh Tynjala<mailto:[email protected]>; Apache Royale
Development<mailto:[email protected]>
Subject: RE: Swc Compiler Version and Binary Reproducibility
Ok, I’ll check that. Thanks for the explanation.
From: Josh Tynjala<mailto:[email protected]>
Sent: Wednesday, February 23, 2022 8:26 PM
To: Apache Royale Development<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: Swc Compiler Version and Binary Reproducibility
Could it be that the 8 and 9 are derived from the last part of Royale's recent
version numbers: 0.9.8 and 0.9.9?
In your tutorialspoint link, it prints 1.6.0_25, so I can see why you think it
might always be the Java version. However, I suspect that's specifically
because tutorialspoint is calling getImplementationVersion() on the java.lang
package, so the result will match whichever JDK it is from, since it is a core
language class. I think that getImplementationVersion() is based on the version
of the .jar file where the class/package is located. So, for Royale classes, it
should return something like 0.9.8 or 0.9.9.
Anyway, it seems like the differing build numbers between CI and your local
machine means that you have a different version of the compiler checked out
locally than what the CI has.
--
Josh Tynjala
Bowler Hat LLC<https://bowlerhat.dev>
On Wed, Feb 23, 2022 at 10:04 AM Yishay Weiss
<[email protected]<mailto:[email protected]>> wrote:
The typedef swcs produced on my machine are different to the ones produced on
CI which breaks the build process. I noticed this difference in the catalog
(though it’s not the only one)
<compiler name="Apache Royale: Compiler: Compiler-Common" version="0.9"
build="8"/>
<compiler name="Apache Royale: Compiler: Compiler-Common" version="0.9"
build="9"/>
Can somebody explain why the build# is different?
I had a look at SWCTarget.java in the compiler and it looks like it’s getting
its information from VersionInfo which ultimately relies on Java’s
getImplementationVersion() [1].
I checked java -version both on my machine and on the CI and they both output
1.8.0_201, so I don’t understand why the version is different.
Any clues?
[1] Java.lang.getImplementationVersion() Method
(tutorialspoint.com<http://tutorialspoint.com>)<https://www.tutorialspoint.com/java/lang/package_getimplementationversion.htm>